From d25e11bee6ca5ca523884da132d18e1400e077b9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 24 Aug 2021 14:41:48 +0200 Subject: Initial commit --- node_modules/meriyah/dist/meriyah.amd.js | 8792 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.amd.min.js | 1 + node_modules/meriyah/dist/meriyah.cjs | 8790 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.cjs.js | 8790 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.cjs.min.js | 1 + node_modules/meriyah/dist/meriyah.esm.js | 8782 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.esm.min.js | 1 + node_modules/meriyah/dist/meriyah.iife.js | 8795 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.iife.min.js | 1 + node_modules/meriyah/dist/meriyah.min.cjs | 1 + node_modules/meriyah/dist/meriyah.system.js | 8796 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.system.min.js | 1 + node_modules/meriyah/dist/meriyah.umd.cjs | 8796 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.umd.es5.js | 8855 ++++++++++++++++++++ node_modules/meriyah/dist/meriyah.umd.es5.min.js | 15 + node_modules/meriyah/dist/meriyah.umd.js | 8796 +++++++++++++++++++ node_modules/meriyah/dist/meriyah.umd.min.cjs | 1 + node_modules/meriyah/dist/meriyah.umd.min.js | 1 + node_modules/meriyah/dist/src/chars.d.ts | 136 + node_modules/meriyah/dist/src/chars.d.ts.map | 1 + node_modules/meriyah/dist/src/common.d.ts | 201 + node_modules/meriyah/dist/src/common.d.ts.map | 1 + node_modules/meriyah/dist/src/errors.d.ts | 187 + node_modules/meriyah/dist/src/errors.d.ts.map | 1 + node_modules/meriyah/dist/src/estree.d.ts | 503 ++ node_modules/meriyah/dist/src/estree.d.ts.map | 1 + .../meriyah/dist/src/lexer/charClassifier.d.ts | 25 + .../meriyah/dist/src/lexer/charClassifier.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/comments.d.ts | 15 + .../meriyah/dist/src/lexer/comments.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/common.d.ts | 27 + .../meriyah/dist/src/lexer/common.d.ts.map | 1 + .../meriyah/dist/src/lexer/decodeHTML.d.ts | 2 + .../meriyah/dist/src/lexer/decodeHTML.d.ts.map | 1 + .../meriyah/dist/src/lexer/identifier.d.ts | 9 + .../meriyah/dist/src/lexer/identifier.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/index.d.ts | 10 + node_modules/meriyah/dist/src/lexer/index.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/jsx.d.ts | 7 + node_modules/meriyah/dist/src/lexer/jsx.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/numeric.d.ts | 6 + .../meriyah/dist/src/lexer/numeric.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/regexp.d.ts | 4 + .../meriyah/dist/src/lexer/regexp.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/scan.d.ts | 7 + node_modules/meriyah/dist/src/lexer/scan.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/string.d.ts | 13 + .../meriyah/dist/src/lexer/string.d.ts.map | 1 + node_modules/meriyah/dist/src/lexer/template.d.ts | 5 + .../meriyah/dist/src/lexer/template.d.ts.map | 1 + node_modules/meriyah/dist/src/meriyah.d.ts | 8 + node_modules/meriyah/dist/src/meriyah.d.ts.map | 1 + node_modules/meriyah/dist/src/parser.d.ts | 119 + node_modules/meriyah/dist/src/parser.d.ts.map | 1 + node_modules/meriyah/dist/src/token.d.ts | 168 + node_modules/meriyah/dist/src/token.d.ts.map | 1 + node_modules/meriyah/dist/src/unicode.d.ts | 6 + node_modules/meriyah/dist/src/unicode.d.ts.map | 1 + 58 files changed, 80693 insertions(+) create mode 100644 node_modules/meriyah/dist/meriyah.amd.js create mode 100644 node_modules/meriyah/dist/meriyah.amd.min.js create mode 100644 node_modules/meriyah/dist/meriyah.cjs create mode 100644 node_modules/meriyah/dist/meriyah.cjs.js create mode 100644 node_modules/meriyah/dist/meriyah.cjs.min.js create mode 100644 node_modules/meriyah/dist/meriyah.esm.js create mode 100644 node_modules/meriyah/dist/meriyah.esm.min.js create mode 100644 node_modules/meriyah/dist/meriyah.iife.js create mode 100644 node_modules/meriyah/dist/meriyah.iife.min.js create mode 100644 node_modules/meriyah/dist/meriyah.min.cjs create mode 100644 node_modules/meriyah/dist/meriyah.system.js create mode 100644 node_modules/meriyah/dist/meriyah.system.min.js create mode 100644 node_modules/meriyah/dist/meriyah.umd.cjs create mode 100644 node_modules/meriyah/dist/meriyah.umd.es5.js create mode 100644 node_modules/meriyah/dist/meriyah.umd.es5.min.js create mode 100644 node_modules/meriyah/dist/meriyah.umd.js create mode 100644 node_modules/meriyah/dist/meriyah.umd.min.cjs create mode 100644 node_modules/meriyah/dist/meriyah.umd.min.js create mode 100644 node_modules/meriyah/dist/src/chars.d.ts create mode 100644 node_modules/meriyah/dist/src/chars.d.ts.map create mode 100644 node_modules/meriyah/dist/src/common.d.ts create mode 100644 node_modules/meriyah/dist/src/common.d.ts.map create mode 100644 node_modules/meriyah/dist/src/errors.d.ts create mode 100644 node_modules/meriyah/dist/src/errors.d.ts.map create mode 100644 node_modules/meriyah/dist/src/estree.d.ts create mode 100644 node_modules/meriyah/dist/src/estree.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/charClassifier.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/charClassifier.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/comments.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/comments.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/common.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/common.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/identifier.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/identifier.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/index.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/index.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/jsx.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/jsx.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/numeric.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/numeric.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/regexp.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/regexp.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/scan.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/scan.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/string.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/string.d.ts.map create mode 100644 node_modules/meriyah/dist/src/lexer/template.d.ts create mode 100644 node_modules/meriyah/dist/src/lexer/template.d.ts.map create mode 100644 node_modules/meriyah/dist/src/meriyah.d.ts create mode 100644 node_modules/meriyah/dist/src/meriyah.d.ts.map create mode 100644 node_modules/meriyah/dist/src/parser.d.ts create mode 100644 node_modules/meriyah/dist/src/parser.d.ts.map create mode 100644 node_modules/meriyah/dist/src/token.d.ts create mode 100644 node_modules/meriyah/dist/src/token.d.ts.map create mode 100644 node_modules/meriyah/dist/src/unicode.d.ts create mode 100644 node_modules/meriyah/dist/src/unicode.d.ts.map (limited to 'node_modules/meriyah/dist') diff --git a/node_modules/meriyah/dist/meriyah.amd.js b/node_modules/meriyah/dist/meriyah.amd.js new file mode 100644 index 0000000..fce9334 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.amd.js @@ -0,0 +1,8792 @@ +define(['exports'], function (exports) { 'use strict'; + + const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' + }; + class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } + } + function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); + } + function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); + } + function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); + } + function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + var version$1 = "4.2.0"; + + const version = version$1; + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + exports.ESTree = estree; + exports.parse = parse; + exports.parseModule = parseModule; + exports.parseScript = parseScript; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/node_modules/meriyah/dist/meriyah.amd.min.js b/node_modules/meriyah/dist/meriyah.amd.min.js new file mode 100644 index 0000000..7bcae10 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.amd.min.js @@ -0,0 +1 @@ +define(["exports"],(function(e){"use strict";const t={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class n extends SyntaxError{constructor(e,n,o,r,...s){const a="["+n+":"+o+"]: "+t[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=e,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function o(e,t,...o){throw new n(e.index,e.line,e.column,t,...o)}function r(e){throw new n(e.index,e.line,e.column,e.type,e.params)}function s(e,t,o,r,...s){throw new n(e,t,o,r,...s)}function a(e,t,o,r){throw new n(e,t,o,r)}const i=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function l(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function c(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&i[0+(t>>>5)]>>>t)&&o(e,18,p(t)),e.index++,e.column++,1)}function u(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function d(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function f(e){return e<65?e-48:e-65+10&15}const k=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function b(e){return e<=127?g[e]:1&i[34816+(e>>>5)]>>>e}function h(e){return e<=127?m[e]:1&i[0+(e>>>5)]>>>e||8204===e||8205===e}const P=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function y(e,t,n,r,s,a,i,l){return 2048&r&&o(e,0),x(e,t,n,s,a,i,l)}function x(e,t,n,o,r,s,a){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return o(e,32)}const s=e.index-1;let a=0,i=e.currentChar;const{index:c}=e;for(;h(i);){switch(i){case 103:2&a&&o(e,34,"g"),a|=2;break;case 105:1&a&&o(e,34,"i"),a|=1;break;case 109:4&a&&o(e,34,"m"),a|=4;break;case 117:16&a&&o(e,34,"g"),a|=16;break;case 121:8&a&&o(e,34,"y"),a|=8;break;case 115:12&a&&o(e,34,"s"),a|=12;break;default:o(e,33)}i=l(e)}const u=e.source.slice(c,e.index),d=e.source.slice(n,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(t){o(e,32)}}(e,d,u),65540}function q(e,t,n){const{index:r}=e;let s="",a=l(e),i=e.index;for(;0==(8&k[a]);){if(a===n)return s+=e.source.slice(i,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(i,e.index),a=l(e),a<127||8232===a||8233===a){const n=C(e,t,a);n>=0?s+=p(n):E(e,n,0)}else s+=p(a);i=e.index+1}e.index>=e.end&&o(e,14),a=l(e)}o(e,14)}function C(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&k[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&k[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&k[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&k[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),f(t)<<12|f(n)<<8|f(o)<<4|f(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function E(e,t,n){switch(t){case-1:return;case-2:o(e,n?2:1);case-3:o(e,13);case-4:o(e,6);case-5:o(e,101)}}function A(e,t){const{index:n}=e;let r=67174409,s="",a=l(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){l(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=l(e),a>126)s+=p(a);else{const n=C(e,1024|t,a);if(n>=0)s+=p(n);else{if(-1!==n&&65536&t){s=void 0,a=S(e,a),a<0&&(r=67174408);break}E(e,n,1)}}else e.index=e.end&&o(e,15),a=l(e)}return l(e),e.tokenValue=s,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function S(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&o(e,15),t=l(e)}return t}function D(e,t){return e.index>=e.end&&o(e,0),e.index--,e.column--,A(e,t)}function L(e,t,n){let r=e.currentChar,s=0,i=9,c=64&n?0:1,u=0,d=0;if(64&n)s="."+V(e,r),r=e.currentChar,110===r&&o(e,11);else{if(48===r)if(r=l(e),120==(32|r)){for(n=136,r=l(e);4160&k[r];)95!==r?(d=1,s=16*s+f(r),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?19:147)}else if(111==(32|r)){for(n=132,r=l(e);4128&k[r];)95!==r?(d=1,s=8*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(98==(32|r)){for(n=130,r=l(e);4224&k[r];)95!==r?(d=1,s=2*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(32&k[r])for(1024&t&&o(e,1),n=1;16&k[r];){if(512&k[r]){n=32,c=0;break}s=8*s+(r-48),r=l(e)}else 512&k[r]?(1024&t&&o(e,1),e.flags|=64,n=32):95===r&&o(e,0);if(48&n){if(c){for(;i>=0&&4112&k[r];)95!==r?(d=0,s=10*s+(r-48),r=l(e),--i):(r=l(e),(95===r||32&n)&&a(e.index,e.line,e.index+1,146),d=1);if(d&&a(e.index,e.line,e.index+1,147),i>=0&&!b(r)&&46!==r)return e.tokenValue=s,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}s+=V(e,r),r=e.currentChar,46===r&&(95===l(e)&&o(e,0),n=64,s+="."+V(e,e.currentChar),r=e.currentChar)}}const p=e.index;let g=0;if(110===r&&128&n)g=1,r=l(e);else if(101==(32|r)){r=l(e),256&k[r]&&(r=l(e));const{index:t}=e;(16&k[r])<1&&o(e,10),s+=e.source.substring(p,t)+V(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],R=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function N(e,t,n){for(;m[l(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?R[e.tokenValue]||208897:U(e,t,0,n)}function I(e,t){const n=O(e);return h(n)||o(e,4),e.tokenValue=p(n),U(e,t,1,4&k[n])}function U(e,t,n,r){let s=e.index;for(;e.index=2&&a<=11){const o=R[e.tokenValue];return void 0===o?208897:n?1024&t?209008===o&&0==(4196352&t)?o:36972===o||36864==(36864&o)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&o)?o:241773===o?1073741824&t?143483:2097152&t?121:o:209007===o&&1073741824&t?143483:36864==(36864&o)||209008===o&&0==(4194304&t)?o:121:o}return 208897}function B(e){return b(l(e))||o(e,93),131}function O(e){return 117!==e.source.charCodeAt(e.index+1)&&o(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&k[l(e)];)t=t<<4|f(e.currentChar),t>1114111&&a(n,e.line,e.index+1,101);return 125!==e.currentChar&&a(n,e.line,e.index-1,6),l(e),t}0==(64&k[n])&&o(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&k[r])&&o(e,6);const s=e.source.charCodeAt(e.index+2);0==(64&k[s])&&o(e,6);const i=e.source.charCodeAt(e.index+3);0==(64&k[i])&&o(e,6);return t=f(n)<<12|f(r)<<8|f(s)<<4|f(i),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function F(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=j(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function j(e,t,n){const r=0===e.index,s=e.source;let a=e.index,c=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(l(e),4194340):42!==t?8457014:61!==l(e)?8457273:(l(e),4194337)}case 8455497:return 61!==l(e)?8455497:(l(e),4194343);case 25233970:{l(e);const t=e.currentChar;return 43===t?(l(e),33619995):61===t?(l(e),4194338):25233970}case 25233971:{l(e);const i=e.currentChar;if(45===i){if(l(e),(1&n||r)&&62===e.currentChar){0==(256&t)&&o(e,108),l(e),n=y(e,s,n,t,3,a,c,f),a=e.tokenPos,c=e.linePos,f=e.colPos;continue}return 33619996}return 61===i?(l(e),4194339):25233971}case 8457016:if(l(e),e.index=48&&k<=57)return L(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return l(e),67108991}return 22}}}else{if((8232^g)<=1){n=-5&n|1,d(e);continue}if(55296==(64512&g)||0!=(1&i[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&i[0+(g>>>5)]>>>g)&&o(e,18,p(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",U(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){l(e);continue}o(e,18,p(g))}}var k;return 1048576}const H={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},J={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function M(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in J&&(e=J[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return H[e.slice(1,-1)]||e}))}function z(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&k[e.currentChar]?function(e,t){const n=e.currentChar;let r=l(e);const s=e.index;for(;r!==n;)e.index>=e.end&&o(e,14),r=l(e);r!==n&&o(e,14);e.tokenValue=e.source.slice(s,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):j(e,t,0),e.token}function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:l(e),47===e.currentChar?(l(e),e.token=25):e.token=8456258;break;case 2162700:l(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&W(e,t,209008);K(e,32768|t,67174411),n&&(n=le(n,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=nt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&o(e,64):f=re(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?o(e,64):(k=!1,e.assignable=1,f=ze(e,t,f,0,0,m,b,h),274549===e.token&&o(e,111))):(F(e,t),f=re(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===g?l&&o(e,79):2097152==(2097152&g)?(f=2162700===g?ut(e,t,void 0,1,0,0,2,32,m,b,h):at(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&o(e,60),e.assignable=16&p?2:1,f=ze(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Me(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&o(e,77,l?"await":"of"),Q(e,f),F(e,32768|t),c=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ee(e,t,n,r),await:l})}2&e.assignable&&o(e,77,"in"),Q(e,f),F(e,32768|t),l&&o(e,79),c=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForInStatement",body:Ee(e,t,n,r),left:f,right:c})}l&&o(e,79);k||(8&p&&1077936157!==e.token&&o(e,77,"loop"),f=Ge(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Be(e,t,0,e.tokenPos,e.linePos,e.colPos,f));K(e,32768|t,1074790417),1074790417!==e.token&&(u=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,1074790417),16!==e.token&&(d=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,16);const P=Ee(e,t,n,r);return re(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,n,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){F(e,32768|t);const i=Ee(e,t,n,o);K(e,t,20580),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|t,16),W(e,t,1074790417),re(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,n,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){F(e,t),K(e,32768|t,67174411);const i=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const l=Ee(e,t,n,o);return re(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,n,s,i,l,c);case 86112:return function(e,t,n,r,s,a,i){F(e,t),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,t,16),K(e,t,2162700);const c=[];let u=0;n&&(n=le(n,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(W(e,32768|t,20558)?l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(K(e,32768|t,20563),u&&o(e,86),u=1),K(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(he(e,4096|t,n,2,{$:r}));c.push(re(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return K(e,32768|t,1074790415),re(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,n,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return F(e,32768|t),re(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return ye(e,t,n?le(n,2):n,s,i,l,c);case 86114:return function(e,t,n,r,s){F(e,32768|t),1&e.flags&&o(e,87);const a=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t),re(e,t,n,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,n,r,s,a){F(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,0)||o(e,134,r)}else(135168&t)<1&&o(e,66);return $(e,32768|t),re(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,n,r,s,a){(131072&t)<1&&o(e,65);F(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,1)||o(e,134,r)}return $(e,32768|t),re(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,n,r,s,a,i){F(e,32768|t);const l=n?le(n,32):void 0,c=ye(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=W(e,32768|t,20559)?function(e,t,n,r,s,a,i){let l=null,c=n;W(e,t,67174411)&&(n&&(n=le(n,4)),l=At(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?o(e,83):1077936157===e.token&&o(e,84),K(e,32768|t,16),n&&(c=le(n,64)));const u=ye(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,n,r,u,d,p):null;let k=null;if(20568===e.token){F(e,32768|t);k=ye(e,t,l?le(n,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||o(e,85);return re(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,n,s,i,l,c);case 20581:return function(e,t,n,r,s,a,i){F(e,t),1024&t&&o(e,88);K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const c=Pe(e,t,n,2,r,0,e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,n,s,i,l,c);case 20562:return function(e,t,n,o,r){return F(e,32768|t),$(e,32768|t),re(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return we(e,t,n,r,s,0,i,l,c);case 20559:o(e,156);case 20568:o(e,157);case 86106:o(e,1024&t?73:(256&t)<1?75:74);case 86096:o(e,76);default:return function(e,t,n,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=nt(e,t,0),1024&t&&o(e,82),69271571===e.token&&o(e,81);break;default:p=_e(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return ve(e,t,n,r,s,u,p,d,a,i,l,c);p=ze(e,t,p,0,0,i,l,c),p=Ge(e,t,0,0,i,l,c,p),18===e.token&&(p=Be(e,t,0,i,l,c,p));return xe(e,t,p,i,l,c)}(e,t,n,r,s,a,i,l,c)}}function ye(e,t,n,o,r,s,a){const i=[];for(K(e,32768|t,2162700);1074790415!==e.token;)i.push(he(e,t,n,2,{$:o}));return K(e,32768|t,1074790415),re(e,t,r,s,a,{type:"BlockStatement",body:i})}function xe(e,t,n,o,r,s){return $(e,32768|t),re(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function ve(e,t,n,r,s,a,i,l,c,u,d,p){ee(e,t,0,l,1),function(e,t,n){let r=t;for(;r;)r["$"+n]&&o(e,132,n),r=r.$;t["$"+n]=1}(e,s,a),F(e,32768|t);return re(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?rt(e,t,le(n,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):Pe(e,t,n,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function we(e,t,n,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=nt(e,t,0);if(21===e.token)return ve(e,t,n,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||o(e,119),rt(e,t,n,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=ht(e,t,1,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),xe(e,t,p,i,l,c)}return 67174411===e.token?p=Pt(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ge(e,t,u,1),p=ft(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=ze(e,t,p,0,0,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),p=Ge(e,t,0,0,i,l,c,p),e.assignable=1,xe(e,t,p,i,l,c)}function qe(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=ze(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Ge(e,t,0,0,r,s,a,n),18===e.token&&(n=Be(e,t,0,r,s,a,n))),$(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function Ce(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?Pe(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):rt(e,t,le(n,2),0,0,0,0,r,s,a)}function Ee(e,t,n,o){return Pe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ae(e,t,n,o,r,s,a,i){F(e,t);const l=De(e,t,n,o,r);return $(e,32768|t),re(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Se(e,t,n,o,r,s,a){F(e,t);const i=De(e,t,n,4,o);return $(e,32768|t),re(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,r,s){let a=1;const i=[Le(e,t,n,r,s)];for(;W(e,t,18);)a++,i.push(Le(e,t,n,r,s));return a>1&&32&s&&262144&e.token&&o(e,58,T[255&e.token]),i}function Le(e,t,n,r,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=At(e,t,n,r,a,l,c,u);return 1077936157===e.token?(F(e,32768|t),d=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&r)<1||1024&t))&&s(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&r||(2097152&i)>0)&&262144!=(262144&e.token)&&o(e,56,16&r?"const":"destructuring"),re(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ve(e,t,n){return ke(t,e.token)||o(e,114),537079808==(537079808&e.token)&&o(e,115),n&&ue(e,t,n,e.tokenValue,8,0),nt(e,t,0)}function Te(e,t,n){const{tokenPos:o,linePos:r,colPos:a}=e;return F(e,t),K(e,t,77934),134217728==(134217728&e.token)&&s(o,e.line,e.index,28,T[255&e.token]),re(e,t,o,r,a,{type:"ImportNamespaceSpecifier",local:Ve(e,t,n)})}function Re(e,t,n,r){for(F(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=nt(e,t,0);let d;W(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?o(e,103):ee(e,t,16,e.token,0),a=e.tokenValue,d=nt(e,t,0)):(ee(e,t,16,s,0),d=u),n&&ue(e,t,n,a,8,0),r.push(re(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&K(e,t,18)}return K(e,t,1074790415),r}function Ne(e,t,n,o,r){let s=$e(e,t,re(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=ze(e,t,s,0,0,n,o,r),s=Ge(e,t,0,0,n,o,r,s),xe(e,t,s,n,o,r)}function Ie(e,t,n,o,r){let s=Ye(e,t,0,n,o,r);return s=ze(e,t,s,0,0,n,o,r),xe(e,t,s,n,o,r)}function Ue(e,t,n,o,r,s,a,i){let l=_e(e,t,2,0,n,o,r,1,s,a,i);return l=ze(e,t,l,r,0,s,a,i),Ge(e,t,r,0,s,a,i,l)}function Be(e,t,n,o,r,s,a){const i=[a];for(;W(e,32768|t,18);)i.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Oe(e,t,n,o,r,s,a){const i=Ue(e,t,o,0,n,r,s,a);return 18===e.token?Be(e,t,n,r,s,a,i):i}function Ge(e,t,n,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&o(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&Q(e,l),F(e,32768|t);const u=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:T[255&c],right:u})}return 8454144==(8454144&c)&&(l=He(e,t,n,s,a,i,4,c,l)),W(e,32768|t,22)&&(l=je(e,t,l,s,a,i)),l}function Fe(e,t,n,o,r,s,a,i){const{token:l}=e;F(e,32768|t);const c=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:T[255&l],right:c}),e.assignable=2,i}function je(e,t,n,o,r,s){const a=Ue(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,21),e.assignable=1;const i=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function He(e,t,n,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&o(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)F(e,32768|t),c=re(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:He(e,t,n,e.tokenPos,e.linePos,e.colPos,p,d,Me(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:T[255&d]});return 1077936157===e.token&&o(e,24),c}function Je(e,t,n,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;K(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:r,token:a}=e,i=ot(e,t);Y(e,n,o,r)&&(t|=1024,128&e.flags&&s(e.index,e.line,e.tokenPos,63),64&e.flags&&s(e.index,e.line,e.tokenPos,8)),p.push(qe(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&o(e,115),36864==(36864&i)&&o(e,38)),512&e.flags&&o(e,115),256&e.flags&&o(e,114)),64&t&&n&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&r(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(he(e,t,n,4,{}));return K(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&o(e,24),re(e,t,c,u,d,{type:"BlockStatement",body:p})}function Me(e,t,n,o,r,s,a,i){return ze(e,t,_e(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function ze(e,t,n,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)n=function(e,t,n,r,s,a){2&e.assignable&&o(e,52);const{token:i}=e;return F(e,t),e.assignable=2,re(e,t,r,s,a,{type:"UpdateExpression",argument:n,operator:T[255&i],prefix:!1})}(e,t,n,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:F(e,1073741824|t),e.assignable=1;n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!1,property:Xe(e,t)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),F(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Oe(e,t,r,1,s,c,u);K(e,t,20),e.assignable=1,n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!0,property:d}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const s=tt(e,t,r);e.assignable=2,n=re(e,t,a,i,l,{type:"CallExpression",callee:n,arguments:s}),o&&(e.flags|=2048);break}case 67108991:F(e,t),e.flags|=2048,e.assignable=2,n=function(e,t,n,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){F(e,32768|t);const{tokenPos:o,linePos:l,colPos:c}=e,u=Oe(e,t,0,1,o,l,c);K(e,t,20),e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const o=tt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"CallExpression",callee:n,arguments:o,optional:!0})}else{(143360&e.token)<1&&o(e,154);const l=nt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,n,a,i,l);break;default:2048==(2048&e.flags)&&o(e,160),e.assignable=2,n=re(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Ke(e,65536|t):We(e,t,e.tokenPos,e.linePos,e.colPos)})}n=ze(e,t,n,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,a,i,l,{type:"ChainExpression",expression:n})),n}function Xe(e,t){return(143360&e.token)<1&&131!==e.token&&o(e,154),1&t&&131===e.token?Ct(e,t,e.tokenPos,e.linePos,e.colPos):nt(e,t,0)}function _e(e,t,n,r,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,r,a,i,l){if(r&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&o(e,0),8388608&t&&s(e.index,e.line,e.index,29),F(e,32768|t);const r=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&o(e,31),e.assignable=2,re(e,t,a,i,l,{type:"AwaitExpression",argument:r})}return 2048&t&&o(e,95),pt(e,t,a,i,l)}(e,t,r,l,u,d,p);case 241773:return function(e,t,n,r,s,a,i){if(n&&(e.destructible|=256),2097152&t){F(e,32768|t),8388608&t&&o(e,30),r||o(e,24),22===e.token&&o(e,120);let n=null,l=!1;return(1&e.flags)<1&&(l=W(e,32768|t,8457014),(77824&e.token||l)&&(n=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,s,a,i,{type:"YieldExpression",argument:n,delegate:l})}return 1024&t&&o(e,94,"yield"),pt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,n,r,s,a,i,l,c,u){const{token:d}=e,p=nt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return st(e,t,1,n,l,c,u);if(143360==(143360&e.token))return r||o(e,0),ht(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ge(e,t,d,1),i&&o(e,48),ft(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:Pt(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,r,u,d,p)}const{token:f,tokenValue:k}=e,g=nt(e,65536|t,i);return 10===e.token?(c||o(e,0),ge(e,t,f,1),ft(e,t,k,g,r,a,0,u,d,p)):(16384&t&&537079928===f&&o(e,126),241739===f&&(1024&t&&o(e,109),24&n&&o(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ot(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,r,s,a,i){n&&o(e,53),r||o(e,0);const{token:l}=e;F(e,32768|t);const c=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&o(e,52),e.assignable=2,re(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:T[255&l],prefix:!0})}(e,t,r,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,r,s,a,i){n||o(e,0);const l=e.token;F(e,32768|t);const c=Me(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&o(e,31),1024&t&&16863278===l&&("Identifier"===c.type?o(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&o(e,123)),e.assignable=2,re(e,t,r,s,a,{type:"UnaryExpression",operator:T[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return st(e,t,0,l,u,d,p);case 2162700:return function(e,t,n,r,s,a,i){const l=ut(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,n,r,s,a,i){const l=at(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,n,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;F(e,1073774592|t);const p=64&t?le({parent:void 0,type:2},1024):void 0;if(W(e,t=134217728^(134217728|t),16))return kt(e,t,p,[],n,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:n,tokenPos:a,linePos:i,colPos:l}=e;if(143360&n)p&&ue(e,t,p,e.tokenValue,1,0),f=_e(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&n)&&36864!=(36864&n)||(b=1):(1077936157===e.token?b=1:k|=16,f=ze(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Ge(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&n)){if(14===n){f=lt(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&o(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ue(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;W(e,32768|t,18);)g.push(Ue(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return K(e,t,16),e.destructible=k,f}f=2162700===n?ut(e,1073741824|t,p,0,1,0,r,s,a,i,l):at(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&o(e,118),f=ze(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Ge(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!W(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));K(e,t,16),16&k&&8&k&&o(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&o(e,46),4196352&t&&128&k&&o(e,29),2098176&t&&256&k&&o(e,30),b&&(e.flags|=128),kt(e,t,p,m?g:[f],n,0,a,i,l);8&k&&o(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?re(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=T[255&e.token],a=86023===e.token?null:"true"===s;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,n,r,s,a){let i=null,l=null;const c=xt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);F(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&o(e,114),537079808==(537079808&e.token)&&o(e,115),i=nt(e,t,0));let u=t;W(e,32768|t,20567)?(l=Me(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=wt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,n,r,s){switch(F(e,t),e.token){case 67108991:o(e,161);case 67174411:(524288&t)<1&&o(e,26),16384&t&&o(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&o(e,27),16384&t&&o(e,143),e.assignable=1;break;default:o(e,28,"super")}return re(e,t,n,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return We(e,t,u,d,p);case 67174408:return Ke(e,t);case 86109:return function(e,t,n,r,s,a){const i=nt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(W(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=nt(e,t,0);return re(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);o(e,91)}e.assignable=2,16842752==(16842752&e.token)&&o(e,62,T[255&e.token]);const d=_e(e,t,2,1,0,0,n,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&o(e,162);const p=bt(e,t,d,n,l,c,u);return e.assignable=2,re(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?tt(e,t,n):[]})}(e,t,l,u,d,p);case 134283389:return Ze(e,t,u,d,p);case 131:return Ct(e,t,u,d,p);case 86108:return function(e,t,n,r,s,a,i){let l=nt(e,t,0);if(67108877===e.token)return $e(e,t,l,s,a,i);n&&o(e,137);return l=Ye(e,t,r,s,a,i),e.assignable=2,ze(e,t,l,r,0,s,a,i)}(e,t,r,l,u,d,p);case 8456258:if(16&t)return Dt(e,t,1,u,d,p);default:if(ke(t,e.token))return pt(e,t,u,d,p);o(e,28,T[255&e.token])}}function $e(e,t,n,r,s,a){return 0==(2048&t)&&o(e,163),F(e,t),143495!==e.token&&"meta"!==e.tokenValue&&o(e,28,T[255&e.token]),e.assignable=2,re(e,t,r,s,a,{type:"MetaProperty",meta:n,property:nt(e,t,0)})}function Ye(e,t,n,r,s,a){K(e,32768|t,67174411),14===e.token&&o(e,138);const i=Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,16),re(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ze(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function We(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;K(e,t,67174409);return re(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Qe(e,t,s,a,i,l,c,!0)]})}function Ke(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408);const l=[Qe(e,t,n,r,s,a,i,!1)],c=[Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&o(e,80);67174409!==(e.token=D(e,t));){const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408),l.push(Qe(e,t,n,r,s,a,i,!1)),c.push(Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&o(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;K(e,t,67174409),l.push(Qe(e,t,n,o,r,s,a,!0))}return re(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Qe(e,t,n,o,r,s,a,i){const l=re(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function et(e,t,n,o,r){K(e,32768|(t=134217728^(134217728|t)),14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,o,r,{type:"SpreadElement",argument:s})}function tt(e,t,n){F(e,32768|t);const o=[];if(16===e.token)return F(e,t),o;for(;16!==e.token&&(14===e.token?o.push(et(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(F(e,32768|t),16!==e.token););return K(e,t,16),o}function nt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return F(e,t),re(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function ot(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ze(e,t,r,s,a):(F(e,t),e.assignable=2,re(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function rt(e,t,n,r,s,a,i,l,c,u){F(e,32768|t);const d=s?Z(e,t,8457014):0;let p,f=null,k=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&o(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&s?de(e,t,n,e.tokenValue,s):ue(e,t,n,e.tokenValue,s,r),k=le(k,256),a&&2&a&&pe(e,e.tokenValue)),p=e.token,143360&e.token?f=nt(e,t,0):o(e,28,T[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),n&&(k=le(k,512));return re(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:mt(e,8388608|t,k,0,1),body:Je(e,143360^(143360|t),n?le(k,128):k,8,p,n?k.scopeError:void 0),async:1===i,generator:1===d})}function st(e,t,n,o,r,s,a){F(e,32768|t);const i=Z(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|l,e.token),d&&(d=le(d,256)),c=e.token,u=nt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=le(d,512));const p=mt(e,8388608|t,d,o,1),f=Je(e,-134377473&t,d?le(d,128):d,0,c,void 0);return e.assignable=2,re(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function at(e,t,n,r,s,a,i,l,c,u,d){F(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(W(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=_e(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&o(e,24),F(e,32768|t),n&&ce(e,t,n,g,i,l);const c=Ue(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=re(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:n&&ce(e,t,n,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=ze(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Ge(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ut(e,t,n,0,s,a,i,l,u,d,k):at(e,t,n,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?o(e,68):(r=ze(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Ge(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=lt(e,t,n,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&o(e,28,T[255&e.token])):(r=Me(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Ge(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!W(e,32768|t,18))break;if(20===e.token)break}K(e,t,20);const k=re(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?it(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function it(e,t,n,r,s,a,i,l,c){1077936157!==e.token&&o(e,24),F(e,32768|t),16&n&&o(e,24),s||Q(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ue(e,t,1,1,r,u,d,p);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function lt(e,t,n,r,s,a,i,l,c,u,d,p){F(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=_e(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=ze(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&o(e,68),k|=16,f=Ge(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?n&&ce(e,t,n,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)o(e,39);else{if(!(2097152&g)){k|=32,f=Me(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===n&&n!==r&&18!==n?(2&e.assignable&&o(e,24),f=Ge(e,t,l,c,s,a,i,f),k|=16):(18===n?k|=16:n!==r&&(f=Ge(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&o(e,155),re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ut(e,t,n,1,l,c,s,a,b,h,P):at(e,t,n,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&o(e,68),f=ze(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Ge(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=He(e,t,1,b,h,P,4,g,f)),W(e,32768|t,22)&&(f=je(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),W(e,32768|t,1077936157)){16&k&&o(e,24),Q(e,f);const n=Ue(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=re(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:n}:{type:"AssignmentExpression",left:f,operator:"=",right:n}),k=16}else k|=16;return e.destructible=k,re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function ct(e,t,n,s,a,i,l){const c=(64&n)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&n)<<18|100925440)?le({parent:void 0,type:2},512):void 0;const d=function(e,t,n,s,a,i){K(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&o(e,35,"Setter","one",""),F(e,t),l;256&s&&o(e,35,"Getter","no","s");512&s&&14===e.token&&o(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=St(e,t,n,1|s,0,d,p,f)):(2162700===e.token?r=ut(e,t,n,1,i,1,a,0,d,p,f):69271571===e.token?r=at(e,t,n,1,i,1,a,0,d,p,f):14===e.token&&(r=lt(e,t,n,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&o(e,47)),1077936157===e.token){F(e,32768|t),u=1;r=re(e,t,d,p,f,{type:"AssignmentPattern",left:r,right:Ue(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(r),!W(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&o(e,35,"Setter","one","");n&&void 0!==n.scopeError&&r(n.scopeError);u&&(e.flags|=128);return K(e,t,16),l}(e,8388608|t,u,n,1,s);u&&(u=le(u,128));return re(e,t,a,i,l,{type:"FunctionExpression",params:d,body:Je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function ut(e,t,n,r,a,i,l,c,u,d,p){F(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:r,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===r)f.push(lt(e,t,n,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=nt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&r)?k|=16:ee(e,t,l,r,0),n&&ce(e,t,n,u,l,c),W(e,32768|t,1077936157)){k|=8;const n=Ue(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=re(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===r?128:0)|(121===r?16:0),b=-2147483648&t?Object.assign({},P):P;else if(W(e,32768|t,21)){const{tokenPos:s,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const o=e.token,r=e.tokenValue;k|=121===y?16:0,b=_e(e,t,l,0,1,0,a,1,s,d,p);const{token:u}=e;b=ze(e,t,b,a,0,s,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:n&&143360==(143360&o)&&ce(e,t,n,r,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:n&&ce(e,t,n,r,l,c),b=Ge(e,t,a,i,s,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,u,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,d,p):ut(e,t,n,0,a,i,l,c,s,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?o(e,68):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,s,d,p,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,a,1,s,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==r&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,d,p,b))))}else 69271571===e.token?(k|=16,209007===r&&(h|=16),h|=2|(12402===r?256:12403===r?512:1),P=dt(e,t,a),k|=e.assignable,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===r&&o(e,92),209007===r&&(1&e.flags&&o(e,128),h|=16),P=nt(e,t,0),h|=12402===r?256:12403===r?512:1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===r||12403===r?o(e,40):143483===r&&o(e,92),F(e,t),h|=9|(209007===r?16:0),143360&e.token?P=nt(e,t,0):134217728==(134217728&e.token)?P=ot(e,t):69271571===e.token?(h|=2,P=dt(e,t,a),k|=e.assignable):o(e,28,T[255&e.token]),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===r&&(h|=16),h|=12402===r?256:12403===r?512:1,k|=16,P=ot(e,t),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,129);else if(134217728==(134217728&e.token))if(P=ot(e,t),21===e.token){K(e,32768|t,21);const{tokenPos:o,linePos:s,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=_e(e,t,l,0,1,0,a,1,o,s,d);const{token:r,tokenValue:u}=e;b=ze(e,t,b,a,0,o,s,d),18===e.token||1074790415===e.token?1077936157===r||1074790415===r||18===r?2&e.assignable?k|=16:n&&ce(e,t,n,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Ge(e,t,a,i,o,s,d,b)):(k|=16,b=Ge(e,t,a,i,o,s,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,o,s,d):ut(e,t,n,0,a,i,l,c,o,s,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=ze(e,t,b,a,0,o,s,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,o,s,d,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,o,s,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,o,s,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,o,s,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,o,s,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,o,s,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):o(e,130);else if(69271571===e.token)if(P=dt(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){F(e,32768|t);const{tokenPos:s,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=_e(e,t,l,0,1,0,a,1,s,u,d);const{token:o}=e;b=ze(e,t,b,a,0,s,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===o?0:32,b=Fe(e,t,a,i,s,u,d,b)):18===e.token||1074790415===e.token?1077936157===o||1074790415===o||18===o?2&e.assignable?k|=16:n&&143360==(143360&f)&&ce(e,t,n,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Ge(e,t,a,i,s,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,u,d):ut(e,t,n,0,a,i,l,c,s,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?o(e,59):(b=ze(e,t,b,a,0,s,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Fe(e,t,a,i,s,u,d,b)):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,u,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,u,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,s,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,u,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,d,p),k=16):o(e,41);else if(8457014===r)if(K(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:r}=e;P=nt(e,t,0),h|=1,67174411===e.token?(k|=16,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):s(r,o,r,209007===n?43:12402===n||12403===e.token?42:44,T[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=ot(e,t),h|=1,b=ct(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=dt(e,t,a),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,122);else o(e,28,T[255&r]);k|=128&e.destructible?128:0,e.destructible=k,f.push(re(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;F(e,t)}K(e,t,1074790415),g>1&&(k|=64);const m=re(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!r&&4194304&e.token?it(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function dt(e,t,n){F(e,32768|t);const o=Ue(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,20),o}function pt(e,t,n,o,r){const{tokenValue:s}=e,a=nt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=ae(e,t,s)),e.flags=128^(128|e.flags),gt(e,t,i,[a],0,n,o,r)}return a}function ft(e,t,n,r,s,a,i,l,c,u){a||o(e,54),s&&o(e,48),e.flags&=-129;return gt(e,t,64&t?ae(e,t,n):void 0,[r],i,l,c,u)}function kt(e,t,n,r,s,a,i,l,c){s||o(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&o(e,106),1074790415===e.token&&o(e,105),W(e,t,1074790417)?a>0&&o(e,116):d.push(qt(e,t,r,n,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return K(e,8&a?32768|t:t,1074790415),re(e,t,l,c,u,{type:"ClassBody",body:d})}function qt(e,t,n,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=nt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return qt(e,t,n,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=16|(Z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=dt(e,r,l)):134217728==(134217728&k)?f=ot(e,t):8457014===k?(p|=8,F(e,t)):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=nt(e,t,0),67174411!==e.token&&o(e,28,T[255&e.token])):o(e,28,T[255&e.token]);if(792&p&&(143360&e.token?f=nt(e,t,0):134217728==(134217728&e.token)?f=ot(e,t):69271571===e.token?(p|=2,f=dt(e,t,0)):122===e.token?f=nt(e,t,0):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b)):o(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?o(e,125):(32&p)<1&&67174411===e.token&&(920&p?o(e,50,"accessor"):(524288&t)<1&&(32&e.flags?o(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&o(e,49)),1&t&&67174411!==e.token)return Et(e,t,f,p,a,g,m,b);const h=ct(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return re(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Ct(e,t,n,r,s){F(e,t);const{tokenValue:a}=e;return"constructor"===a&&o(e,124),F(e,t),re(e,t,n,r,s,{type:"PrivateIdentifier",name:a})}function Et(e,t,n,r,s,a,i,l){let c=null;if(8&r&&o(e,0),1077936157===e.token){F(e,32768|t);const{tokenPos:n,linePos:r,colPos:s}=e;537079928===e.token&&o(e,115),c=_e(e,16384|t,2,0,1,0,0,1,n,r,s),1073741824!=(1073741824&e.token)&&(c=ze(e,16384|t,c,0,0,n,r,s),c=Ge(e,16384|t,0,0,n,r,s,c),18===e.token&&(c=Be(e,t,0,a,i,l,c)))}return re(e,t,a,i,l,{type:"PropertyDefinition",key:n,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function At(e,t,n,r,s,a,i,l){if(143360&e.token)return St(e,t,n,r,s,a,i,l);2097152!=(2097152&e.token)&&o(e,28,T[255&e.token]);const c=69271571===e.token?at(e,t,n,1,0,1,r,s,a,i,l):ut(e,t,n,1,0,1,r,s,a,i,l);return 16&e.destructible&&o(e,47),32&e.destructible&&o(e,47),c}function St(e,t,n,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?o(e,115):36864==(36864&u)&&o(e,114)),20480==(20480&u)&&o(e,99),2099200&t&&241773===u&&o(e,30),241739===u&&24&r&&o(e,97),4196352&t&&209008===u&&o(e,95),F(e,t),n&&ce(e,t,n,c,r,s),re(e,t,a,i,l,{type:"Identifier",name:c})}function Dt(e,t,n,r,s,a){if(F(e,t),8456259===e.token)return re(e,t,r,s,a,{type:"JSXFragment",openingFragment:Lt(e,t,r,s,a),children:Tt(e,t),closingFragment:Vt(e,t,n,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,n,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&o(e,0);const i=Nt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Ut(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?X(e,t):(K(e,t,8457016),n?K(e,t,8456259):X(e,t));return re(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,n,r,s,a);if(!c.selfClosing){l=Tt(e,t),i=function(e,t,n,o,r,s){K(e,t,25);const a=Nt(e,t,e.tokenPos,e.linePos,e.colPos);n?K(e,t,8456259):e.token=X(e,t);return re(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const r=se(i.name);se(c.name)!==r&&o(e,149,r)}return re(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Lt(e,t,n,o,r){return X(e,t),re(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Vt(e,t,n,o,r,s){return K(e,t,25),K(e,t,8456259),re(e,t,o,r,s,{type:"JSXClosingFragment"})}function Tt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Rt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Rt(e,t,n,r,s){return 138===e.token?function(e,t,n,o,r){X(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return re(e,t,n,o,r,s)}(e,t,n,r,s):2162700===e.token?Ot(e,t,0,0,n,r,s):8456258===e.token?Dt(e,t,0,n,r,s):void o(e,0)}function Nt(e,t,n,o,r){_(e);let s=Gt(e,t,n,o,r);if(21===e.token)return Bt(e,t,s,n,o,r);for(;W(e,t,67108877);)_(e),s=It(e,t,s,n,o,r);return s}function It(e,t,n,o,r,s){return re(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ut(e,t,n,r,s){if(2162700===e.token)return function(e,t,n,o,r){F(e,t),K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,n,r,s);_(e);let a=null,i=Gt(e,t,n,r,s);if(21===e.token&&(i=Bt(e,t,i,n,r,s)),1077936157===e.token){const n=z(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(n){case 134283267:a=ot(e,t);break;case 8456258:a=Dt(e,t,1,r,s,i);break;case 2162700:a=Ot(e,t,1,1,r,s,i);break;default:o(e,148)}}return re(e,t,n,r,s,{type:"JSXAttribute",value:a,name:i})}function Bt(e,t,n,o,r,s){K(e,t,21);return re(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ot(e,t,n,r,s,a,i){F(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&o(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ue(e,t,1,0,0,l,c,u),n?K(e,t,1074790415):X(e,t),re(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Gt(e,t,n,o,r){const{tokenValue:s}=e;return F(e,t),re(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var Ft=Object.freeze({__proto__:null});e.ESTree=Ft,e.parse=function(e,t){return me(e,t,0)},e.parseModule=function(e,t){return me(e,t,3072)},e.parseScript=function(e,t){return me(e,t,0)},e.version="4.2.0",Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/node_modules/meriyah/dist/meriyah.cjs b/node_modules/meriyah/dist/meriyah.cjs new file mode 100644 index 0000000..c6e0880 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.cjs @@ -0,0 +1,8790 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' +}; +class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } +} +function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); +} +function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); +} +function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); +} +function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); +} + +const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; +})([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + +function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); +} +function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; +} +function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } +} +function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; +} +function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); +} +function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); +} +function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; +} +function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } +} + +const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 +]; +const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; +} +function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); +} + +const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; +function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } +} +function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); +} +function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; +} +function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); +} + +function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; +} +function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } +} + +function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); +} +function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } +} +function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } +} + +function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; +} +function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; +} +function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); +} + +function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; +} +function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); +} + +const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' +]; +const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, +}); + +function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); +} +function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); +} +function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; +} +function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; +} +function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); +} +function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; +} + +const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 +]; +function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } +} +function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; +} + +const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' +}; +const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 +}; +function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); +} +function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); +} + +function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; +} +function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; +} +function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; +} +function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; +} + +function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); +} +function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; +} +function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; +} +function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; +} +function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); +} +function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } +} +function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); +} +function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; +} +function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; +} +function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; +} +function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; +} +function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } +} +function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; +} +function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; +} +function createScope() { + return { + parent: void 0, + type: 2 + }; +} +function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; +} +function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } +} +function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; +} +function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } +} +function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } +} +function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } +} +function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; +} +function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; +} +function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); +} +function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); +} + +function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; +} +function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; +} +function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; +} +function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; +} +function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; +} +function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } +} +function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } +} +function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); +} +function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); +} +function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); +} +function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); +} +function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); +} +function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); +} +function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); +} +function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); +} +function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); +} +function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); +} +function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); +} +function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); +} +function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); +} +function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); +} +function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); +} +function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); +} +function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); +} +function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); +} +function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); +} +function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; +} +function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); +} +function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); +} +function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); +} +function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); +} +function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); +} +function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); +} +function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; +} +function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); +} +function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); +} +function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); +} +function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; +} +function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; +} +function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; +} +function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); +} +function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; +} +function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); +} +function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; +} +function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); +} +function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); +} +function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); +} +function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); +} +function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; +} +function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; +} +function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); +} +function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); +} +function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } +} +function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); +} +function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); +} +function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); +} +function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); +} +function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); +} +function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); +} +function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; +} +function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); +} +function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; +} +function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); +} +function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); +} +function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); +} +function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); +} +function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); +} +function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); +} +function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); +} +function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; +} +function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; +} +function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; +} +function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; +} +function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); +} +function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); +} +function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); +} +function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; +} +function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; +} +function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); +} +function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); +} +function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); +} +function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); +} +function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); +} +function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); +} +function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); +} +function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; +} +function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); +} +function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); +} +function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); +} +function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); +} +function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); +} +function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; +} +function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); +} +function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); +} +function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); +} +function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); +} +function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); +} +function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; +} +function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); +} +function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); +} +function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); +} +function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; +} +function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); +} +function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; +} +function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); +} +function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); +} +function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); +} +function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); +} +function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); +} +function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); +} +function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); +} + +var estree = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +var version$1 = "4.2.0"; + +const version = version$1; +function parseScript(source, options) { + return parseSource(source, options, 0); +} +function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); +} +function parse(source, options) { + return parseSource(source, options, 0); +} + +exports.ESTree = estree; +exports.parse = parse; +exports.parseModule = parseModule; +exports.parseScript = parseScript; +exports.version = version; diff --git a/node_modules/meriyah/dist/meriyah.cjs.js b/node_modules/meriyah/dist/meriyah.cjs.js new file mode 100644 index 0000000..c6e0880 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.cjs.js @@ -0,0 +1,8790 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' +}; +class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } +} +function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); +} +function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); +} +function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); +} +function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); +} + +const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; +})([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + +function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); +} +function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; +} +function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } +} +function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; +} +function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); +} +function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); +} +function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; +} +function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } +} + +const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 +]; +const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; +} +function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); +} + +const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; +function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } +} +function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); +} +function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; +} +function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); +} + +function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; +} +function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } +} + +function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); +} +function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } +} +function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } +} + +function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; +} +function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; +} +function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); +} + +function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; +} +function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); +} + +const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' +]; +const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, +}); + +function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); +} +function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); +} +function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; +} +function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; +} +function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); +} +function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; +} + +const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 +]; +function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } +} +function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; +} + +const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' +}; +const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 +}; +function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); +} +function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); +} + +function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; +} +function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; +} +function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; +} +function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; +} + +function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); +} +function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; +} +function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; +} +function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; +} +function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); +} +function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } +} +function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); +} +function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; +} +function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; +} +function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; +} +function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; +} +function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } +} +function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; +} +function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; +} +function createScope() { + return { + parent: void 0, + type: 2 + }; +} +function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; +} +function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } +} +function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; +} +function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } +} +function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } +} +function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } +} +function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; +} +function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; +} +function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); +} +function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); +} + +function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; +} +function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; +} +function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; +} +function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; +} +function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; +} +function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } +} +function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } +} +function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); +} +function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); +} +function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); +} +function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); +} +function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); +} +function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); +} +function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); +} +function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); +} +function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); +} +function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); +} +function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); +} +function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); +} +function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); +} +function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); +} +function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); +} +function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); +} +function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); +} +function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); +} +function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); +} +function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; +} +function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); +} +function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); +} +function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); +} +function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); +} +function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); +} +function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); +} +function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; +} +function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); +} +function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); +} +function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); +} +function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; +} +function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; +} +function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; +} +function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); +} +function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; +} +function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); +} +function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; +} +function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); +} +function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); +} +function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); +} +function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); +} +function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; +} +function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; +} +function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); +} +function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); +} +function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } +} +function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); +} +function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); +} +function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); +} +function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); +} +function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); +} +function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); +} +function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; +} +function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); +} +function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; +} +function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); +} +function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); +} +function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); +} +function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); +} +function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); +} +function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); +} +function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); +} +function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; +} +function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; +} +function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; +} +function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; +} +function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); +} +function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); +} +function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); +} +function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; +} +function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; +} +function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); +} +function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); +} +function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); +} +function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); +} +function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); +} +function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); +} +function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); +} +function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; +} +function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); +} +function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); +} +function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); +} +function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); +} +function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); +} +function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; +} +function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); +} +function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); +} +function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); +} +function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); +} +function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); +} +function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; +} +function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); +} +function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); +} +function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); +} +function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; +} +function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); +} +function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; +} +function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); +} +function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); +} +function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); +} +function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); +} +function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); +} +function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); +} +function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); +} + +var estree = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +var version$1 = "4.2.0"; + +const version = version$1; +function parseScript(source, options) { + return parseSource(source, options, 0); +} +function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); +} +function parse(source, options) { + return parseSource(source, options, 0); +} + +exports.ESTree = estree; +exports.parse = parse; +exports.parseModule = parseModule; +exports.parseScript = parseScript; +exports.version = version; diff --git a/node_modules/meriyah/dist/meriyah.cjs.min.js b/node_modules/meriyah/dist/meriyah.cjs.min.js new file mode 100644 index 0000000..de9bf7a --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.cjs.min.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class t extends SyntaxError{constructor(t,n,o,r,...s){const a="["+n+":"+o+"]: "+e[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=t,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function n(e,n,...o){throw new t(e.index,e.line,e.column,n,...o)}function o(e){throw new t(e.index,e.line,e.column,e.type,e.params)}function r(e,n,o,r,...s){throw new t(e,n,o,r,...s)}function s(e,n,o,r){throw new t(e,n,o,r)}const a=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function i(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function l(e,t){if(55296!=(64512&t))return 0;const o=e.source.charCodeAt(e.index+1);return 56320!=(64512&o)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&o),0==(1&a[0+(t>>>5)]>>>t)&&n(e,18,d(t)),e.index++,e.column++,1)}function c(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function u(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function d(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function p(e){return e<65?e-48:e-65+10&15}const f=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function m(e){return e<=127?k[e]:1&a[34816+(e>>>5)]>>>e}function b(e){return e<=127?g[e]:1&a[0+(e>>>5)]>>>e||8204===e||8205===e}const h=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function P(e,t,o,r,s,a,i,l){return 2048&r&&n(e,0),y(e,t,o,s,a,i,l)}function y(e,t,n,o,r,s,a){const{index:l}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return n(e,32)}const s=e.index-1;let a=0,l=e.currentChar;const{index:c}=e;for(;b(l);){switch(l){case 103:2&a&&n(e,34,"g"),a|=2;break;case 105:1&a&&n(e,34,"i"),a|=1;break;case 109:4&a&&n(e,34,"m"),a|=4;break;case 117:16&a&&n(e,34,"g"),a|=16;break;case 121:8&a&&n(e,34,"y"),a|=8;break;case 115:12&a&&n(e,34,"s"),a|=12;break;default:n(e,33)}l=i(e)}const u=e.source.slice(c,e.index),d=e.source.slice(o,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,o){try{return new RegExp(t,o)}catch(t){n(e,32)}}(e,d,u),65540}function w(e,t,o){const{index:r}=e;let s="",a=i(e),l=e.index;for(;0==(8&f[a]);){if(a===o)return s+=e.source.slice(l,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(l,e.index),a=i(e),a<127||8232===a||8233===a){const n=q(e,t,a);n>=0?s+=d(n):C(e,n,0)}else s+=d(a);l=e.index+1}e.index>=e.end&&n(e,14),a=i(e)}n(e,14)}function q(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&f[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&f[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&f[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&f[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),p(t)<<12|p(n)<<8|p(o)<<4|p(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function C(e,t,o){switch(t){case-1:return;case-2:n(e,o?2:1);case-3:n(e,13);case-4:n(e,6);case-5:n(e,101)}}function E(e,t){const{index:o}=e;let r=67174409,s="",a=i(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){i(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=i(e),a>126)s+=d(a);else{const n=q(e,1024|t,a);if(n>=0)s+=d(n);else{if(-1!==n&&65536&t){s=void 0,a=A(e,a),a<0&&(r=67174408);break}C(e,n,1)}}else e.index=e.end&&n(e,15),a=i(e)}return i(e),e.tokenValue=s,e.tokenRaw=e.source.slice(o+1,e.index-(67174409===r?1:2)),r}function A(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&n(e,15),t=i(e)}return t}function S(e,t){return e.index>=e.end&&n(e,0),e.index--,e.column--,E(e,t)}function D(e,t,o){let r=e.currentChar,a=0,l=9,c=64&o?0:1,u=0,d=0;if(64&o)a="."+L(e,r),r=e.currentChar,110===r&&n(e,11);else{if(48===r)if(r=i(e),120==(32|r)){for(o=136,r=i(e);4160&f[r];)95!==r?(d=1,a=16*a+p(r),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?19:147)}else if(111==(32|r)){for(o=132,r=i(e);4128&f[r];)95!==r?(d=1,a=8*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(98==(32|r)){for(o=130,r=i(e);4224&f[r];)95!==r?(d=1,a=2*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(32&f[r])for(1024&t&&n(e,1),o=1;16&f[r];){if(512&f[r]){o=32,c=0;break}a=8*a+(r-48),r=i(e)}else 512&f[r]?(1024&t&&n(e,1),e.flags|=64,o=32):95===r&&n(e,0);if(48&o){if(c){for(;l>=0&&4112&f[r];)95!==r?(d=0,a=10*a+(r-48),r=i(e),--l):(r=i(e),(95===r||32&o)&&s(e.index,e.line,e.index+1,146),d=1);if(d&&s(e.index,e.line,e.index+1,147),l>=0&&!m(r)&&46!==r)return e.tokenValue=a,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}a+=L(e,r),r=e.currentChar,46===r&&(95===i(e)&&n(e,0),o=64,a+="."+L(e,e.currentChar),r=e.currentChar)}}const k=e.index;let g=0;if(110===r&&128&o)g=1,r=i(e);else if(101==(32|r)){r=i(e),256&f[r]&&(r=i(e));const{index:t}=e;(16&f[r])<1&&n(e,10),a+=e.source.substring(k,t)+L(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],T=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function R(e,t,n){for(;g[i(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?T[e.tokenValue]||208897:I(e,t,0,n)}function N(e,t){const o=B(e);return b(o)||n(e,4),e.tokenValue=d(o),I(e,t,1,4&f[o])}function I(e,t,o,r){let s=e.index;for(;e.index=2&&a<=11){const n=T[e.tokenValue];return void 0===n?208897:o?1024&t?209008===n&&0==(4196352&t)?n:36972===n||36864==(36864&n)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&n)?n:241773===n?1073741824&t?143483:2097152&t?121:n:209007===n&&1073741824&t?143483:36864==(36864&n)||209008===n&&0==(4194304&t)?n:121:n}return 208897}function U(e){return m(i(e))||n(e,93),131}function B(e){return 117!==e.source.charCodeAt(e.index+1)&&n(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const o=e.currentChar;if(123===o){const n=e.index-2;for(;64&f[i(e)];)t=t<<4|p(e.currentChar),t>1114111&&s(n,e.line,e.index+1,101);return 125!==e.currentChar&&s(n,e.line,e.index-1,6),i(e),t}0==(64&f[o])&&n(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&f[r])&&n(e,6);const a=e.source.charCodeAt(e.index+2);0==(64&f[a])&&n(e,6);const l=e.source.charCodeAt(e.index+3);0==(64&f[l])&&n(e,6);return t=p(o)<<12|p(r)<<8|p(a)<<4|p(l),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const O=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function G(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=F(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function F(e,t,o){const r=0===e.index,s=e.source;let l=e.index,p=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(i(e),4194340):42!==t?8457014:61!==i(e)?8457273:(i(e),4194337)}case 8455497:return 61!==i(e)?8455497:(i(e),4194343);case 25233970:{i(e);const t=e.currentChar;return 43===t?(i(e),33619995):61===t?(i(e),4194338):25233970}case 25233971:{i(e);const a=e.currentChar;if(45===a){if(i(e),(1&o||r)&&62===e.currentChar){0==(256&t)&&n(e,108),i(e),o=P(e,s,o,t,3,l,p,f),l=e.tokenPos,p=e.linePos,f=e.colPos;continue}return 33619996}return 61===a?(i(e),4194339):25233971}case 8457016:if(i(e),e.index=48&&k<=57)return D(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return i(e),67108991}return 22}}}else{if((8232^g)<=1){o=-5&o|1,u(e);continue}if(55296==(64512&g)||0!=(1&a[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&a[0+(g>>>5)]>>>g)&&n(e,18,d(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",I(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){i(e);continue}n(e,18,d(g))}}var k;return 1048576}const j={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},H={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function J(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in H&&(e=H[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return j[e.slice(1,-1)]||e}))}function M(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&f[e.currentChar]?function(e,t){const o=e.currentChar;let r=i(e);const s=e.index;for(;r!==o;)e.index>=e.end&&n(e,14),r=i(e);r!==o&&n(e,14);e.tokenValue=e.source.slice(s,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):F(e,t,0),e.token}function z(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(O[e.source.charCodeAt(e.index)]){case 8456258:i(e),47===e.currentChar?(i(e),e.token=25):e.token=8456258;break;case 2162700:i(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&Z(e,t,209008);W(e,32768|t,67174411),o&&(o=ie(o,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=tt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&n(e,64):f=oe(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:Se(e,134217728|t,o,8,32)}),e.assignable=1):1024&t?n(e,64):(k=!1,e.assignable=1,f=Me(e,t,f,0,0,m,b,h),274549===e.token&&n(e,111))):(G(e,t),f=oe(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:Se(e,134217728|t,o,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Se(e,134217728|t,o,16,32)}),e.assignable=1):1074790417===g?l&&n(e,79):2097152==(2097152&g)?(f=2162700===g?ct(e,t,void 0,1,0,0,2,32,m,b,h):st(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&n(e,60),e.assignable=16&p?2:1,f=Me(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Je(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&n(e,77,l?"await":"of"),K(e,f),G(e,32768|t),c=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ce(e,t,o,r),await:l})}2&e.assignable&&n(e,77,"in"),K(e,f),G(e,32768|t),l&&n(e,79),c=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForInStatement",body:Ce(e,t,o,r),left:f,right:c})}l&&n(e,79);k||(8&p&&1077936157!==e.token&&n(e,77,"loop"),f=Oe(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Ue(e,t,0,e.tokenPos,e.linePos,e.colPos,f));W(e,32768|t,1074790417),1074790417!==e.token&&(u=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,1074790417),16!==e.token&&(d=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,16);const P=Ce(e,t,o,r);return oe(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,o,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){G(e,32768|t);const i=Ce(e,t,n,o);W(e,t,20580),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return W(e,32768|t,16),Z(e,t,1074790417),oe(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,o,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){G(e,t),W(e,32768|t,67174411);const i=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const l=Ce(e,t,n,o);return oe(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,o,s,i,l,c);case 86112:return function(e,t,o,r,s,a,i){G(e,t),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,t,16),W(e,t,2162700);const c=[];let u=0;o&&(o=ie(o,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(Z(e,32768|t,20558)?l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(W(e,32768|t,20563),u&&n(e,86),u=1),W(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(be(e,4096|t,o,2,{$:r}));c.push(oe(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return W(e,32768|t,1074790415),oe(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,o,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return G(e,32768|t),oe(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return Pe(e,t,o?ie(o,2):o,s,i,l,c);case 86114:return function(e,t,o,r,s){G(e,32768|t),1&e.flags&&n(e,87);const a=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return _(e,32768|t),oe(e,t,o,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,o,r,s,a){G(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,0)||n(e,134,r)}else(135168&t)<1&&n(e,66);return _(e,32768|t),oe(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,o,r,s,a){(131072&t)<1&&n(e,65);G(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,1)||n(e,134,r)}return _(e,32768|t),oe(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,o,r,s,a,i){G(e,32768|t);const l=o?ie(o,32):void 0,c=Pe(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=Z(e,32768|t,20559)?function(e,t,o,r,s,a,i){let l=null,c=o;Z(e,t,67174411)&&(o&&(o=ie(o,4)),l=Et(e,t,o,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?n(e,83):1077936157===e.token&&n(e,84),W(e,32768|t,16),o&&(c=ie(o,64)));const u=Pe(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,o,r,u,d,p):null;let k=null;if(20568===e.token){G(e,32768|t);k=Pe(e,t,l?ie(o,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||n(e,85);return oe(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,o,s,i,l,c);case 20581:return function(e,t,o,r,s,a,i){G(e,t),1024&t&&n(e,88);W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const c=he(e,t,o,2,r,0,e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,o,s,i,l,c);case 20562:return function(e,t,n,o,r){return G(e,32768|t),_(e,32768|t),oe(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return ve(e,t,o,r,s,0,i,l,c);case 20559:n(e,156);case 20568:n(e,157);case 86106:n(e,1024&t?73:(256&t)<1?75:74);case 86096:n(e,76);default:return function(e,t,o,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=tt(e,t,0),1024&t&&n(e,82),69271571===e.token&&n(e,81);break;default:p=Xe(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return xe(e,t,o,r,s,u,p,d,a,i,l,c);p=Me(e,t,p,0,0,i,l,c),p=Oe(e,t,0,0,i,l,c,p),18===e.token&&(p=Ue(e,t,0,i,l,c,p));return ye(e,t,p,i,l,c)}(e,t,o,r,s,a,i,l,c)}}function Pe(e,t,n,o,r,s,a){const i=[];for(W(e,32768|t,2162700);1074790415!==e.token;)i.push(be(e,t,n,2,{$:o}));return W(e,32768|t,1074790415),oe(e,t,r,s,a,{type:"BlockStatement",body:i})}function ye(e,t,n,o,r,s){return _(e,32768|t),oe(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function xe(e,t,o,r,s,a,i,l,c,u,d,p){Q(e,t,0,l,1),function(e,t,o){let r=t;for(;r;)r["$"+o]&&n(e,132,o),r=r.$;t["$"+o]=1}(e,s,a),G(e,32768|t);return oe(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?ot(e,t,ie(o,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):he(e,t,o,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function ve(e,t,o,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=tt(e,t,0);if(21===e.token)return xe(e,t,o,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||n(e,119),ot(e,t,o,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=bt(e,t,1,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),ye(e,t,p,i,l,c)}return 67174411===e.token?p=ht(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ke(e,t,u,1),p=pt(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=Me(e,t,p,0,0,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),p=Oe(e,t,0,0,i,l,c,p),e.assignable=1,ye(e,t,p,i,l,c)}function we(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=Me(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Oe(e,t,0,0,r,s,a,n),18===e.token&&(n=Ue(e,t,0,r,s,a,n))),_(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function qe(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?he(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):ot(e,t,ie(n,2),0,0,0,0,r,s,a)}function Ce(e,t,n,o){return he(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ee(e,t,n,o,r,s,a,i){G(e,t);const l=Se(e,t,n,o,r);return _(e,32768|t),oe(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Ae(e,t,n,o,r,s,a){G(e,t);const i=Se(e,t,n,4,o);return _(e,32768|t),oe(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function Se(e,t,o,r,s){let a=1;const i=[De(e,t,o,r,s)];for(;Z(e,t,18);)a++,i.push(De(e,t,o,r,s));return a>1&&32&s&&262144&e.token&&n(e,58,V[255&e.token]),i}function De(e,t,o,s,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=Et(e,t,o,s,a,l,c,u);return 1077936157===e.token?(G(e,32768|t),d=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&s)<1||1024&t))&&r(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&s||(2097152&i)>0)&&262144!=(262144&e.token)&&n(e,56,16&s?"const":"destructuring"),oe(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Le(e,t,o){return fe(t,e.token)||n(e,114),537079808==(537079808&e.token)&&n(e,115),o&&ce(e,t,o,e.tokenValue,8,0),tt(e,t,0)}function Ve(e,t,n){const{tokenPos:o,linePos:s,colPos:a}=e;return G(e,t),W(e,t,77934),134217728==(134217728&e.token)&&r(o,e.line,e.index,28,V[255&e.token]),oe(e,t,o,s,a,{type:"ImportNamespaceSpecifier",local:Le(e,t,n)})}function Te(e,t,o,r){for(G(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=tt(e,t,0);let d;Z(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?n(e,103):Q(e,t,16,e.token,0),a=e.tokenValue,d=tt(e,t,0)):(Q(e,t,16,s,0),d=u),o&&ce(e,t,o,a,8,0),r.push(oe(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&W(e,t,18)}return W(e,t,1074790415),r}function Re(e,t,n,o,r){let s=_e(e,t,oe(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=Me(e,t,s,0,0,n,o,r),s=Oe(e,t,0,0,n,o,r,s),ye(e,t,s,n,o,r)}function Ne(e,t,n,o,r){let s=$e(e,t,0,n,o,r);return s=Me(e,t,s,0,0,n,o,r),ye(e,t,s,n,o,r)}function Ie(e,t,n,o,r,s,a,i){let l=Xe(e,t,2,0,n,o,r,1,s,a,i);return l=Me(e,t,l,r,0,s,a,i),Oe(e,t,r,0,s,a,i,l)}function Ue(e,t,n,o,r,s,a){const i=[a];for(;Z(e,32768|t,18);)i.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return oe(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Be(e,t,n,o,r,s,a){const i=Ie(e,t,o,0,n,r,s,a);return 18===e.token?Ue(e,t,n,r,s,a,i):i}function Oe(e,t,o,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&n(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&K(e,l),G(e,32768|t);const u=Ie(e,t,1,1,o,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:V[255&c],right:u})}return 8454144==(8454144&c)&&(l=je(e,t,o,s,a,i,4,c,l)),Z(e,32768|t,22)&&(l=Fe(e,t,l,s,a,i)),l}function Ge(e,t,n,o,r,s,a,i){const{token:l}=e;G(e,32768|t);const c=Ie(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=oe(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:V[255&l],right:c}),e.assignable=2,i}function Fe(e,t,n,o,r,s){const a=Ie(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,21),e.assignable=1;const i=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function je(e,t,o,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&n(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)G(e,32768|t),c=oe(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:je(e,t,o,e.tokenPos,e.linePos,e.colPos,p,d,Je(e,t,0,o,1,e.tokenPos,e.linePos,e.colPos)),operator:V[255&d]});return 1077936157===e.token&&n(e,24),c}function He(e,t,s,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;W(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:s,token:a}=e,i=nt(e,t);$(e,n,o,s)&&(t|=1024,128&e.flags&&r(e.index,e.line,e.tokenPos,63),64&e.flags&&r(e.index,e.line,e.tokenPos,8)),p.push(we(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&n(e,115),36864==(36864&i)&&n(e,38)),512&e.flags&&n(e,115),256&e.flags&&n(e,114)),64&t&&s&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&o(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(be(e,t,s,4,{}));return W(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&n(e,24),oe(e,t,c,u,d,{type:"BlockStatement",body:p})}function Je(e,t,n,o,r,s,a,i){return Me(e,t,Xe(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function Me(e,t,o,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)o=function(e,t,o,r,s,a){2&e.assignable&&n(e,52);const{token:i}=e;return G(e,t),e.assignable=2,oe(e,t,r,s,a,{type:"UpdateExpression",argument:o,operator:V[255&i],prefix:!1})}(e,t,o,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:G(e,1073741824|t),e.assignable=1;o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!1,property:ze(e,t)});break;case 69271571:{let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags)),G(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Be(e,t,r,1,s,c,u);W(e,t,20),e.assignable=1,o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!0,property:d}),n&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),o;let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags));const s=et(e,t,r);e.assignable=2,o=oe(e,t,a,i,l,{type:"CallExpression",callee:o,arguments:s}),n&&(e.flags|=2048);break}case 67108991:G(e,t),e.flags|=2048,e.assignable=2,o=function(e,t,o,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){G(e,32768|t);const{tokenPos:n,linePos:l,colPos:c}=e,u=Be(e,t,0,1,n,l,c);W(e,t,20),e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const n=et(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"CallExpression",callee:o,arguments:n,optional:!0})}else{(143360&e.token)<1&&n(e,154);const l=tt(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,o,a,i,l);break;default:2048==(2048&e.flags)&&n(e,160),e.assignable=2,o=oe(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:o,quasi:67174408===e.token?We(e,65536|t):Ze(e,t,e.tokenPos,e.linePos,e.colPos)})}o=Me(e,t,o,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),o=oe(e,t,a,i,l,{type:"ChainExpression",expression:o})),o}function ze(e,t){return(143360&e.token)<1&&131!==e.token&&n(e,154),1&t&&131===e.token?qt(e,t,e.tokenPos,e.linePos,e.colPos):tt(e,t,0)}function Xe(e,t,o,s,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,o,s,a,i,l){if(s&&(e.destructible|=128),4194304&t||2048&t&&8192&t){o&&n(e,0),8388608&t&&r(e.index,e.line,e.index,29),G(e,32768|t);const s=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&n(e,31),e.assignable=2,oe(e,t,a,i,l,{type:"AwaitExpression",argument:s})}return 2048&t&&n(e,95),dt(e,t,a,i,l)}(e,t,s,l,u,d,p);case 241773:return function(e,t,o,r,s,a,i){if(o&&(e.destructible|=256),2097152&t){G(e,32768|t),8388608&t&&n(e,30),r||n(e,24),22===e.token&&n(e,120);let o=null,l=!1;return(1&e.flags)<1&&(l=Z(e,32768|t,8457014),(77824&e.token||l)&&(o=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,oe(e,t,s,a,i,{type:"YieldExpression",argument:o,delegate:l})}return 1024&t&&n(e,94,"yield"),dt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,o,r,s,a,i,l,c,u){const{token:d}=e,p=tt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return rt(e,t,1,o,l,c,u);if(143360==(143360&e.token))return r||n(e,0),bt(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ke(e,t,d,1),i&&n(e,48),pt(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:ht(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,s,u,d,p)}const{token:f,tokenValue:k}=e,g=tt(e,65536|t,i);return 10===e.token?(c||n(e,0),ke(e,t,f,1),pt(e,t,k,g,s,a,0,u,d,p)):(16384&t&&537079928===f&&n(e,126),241739===f&&(1024&t&&n(e,109),24&o&&n(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return nt(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,o,r,s,a,i){o&&n(e,53),r||n(e,0);const{token:l}=e;G(e,32768|t);const c=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&n(e,52),e.assignable=2,oe(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:V[255&l],prefix:!0})}(e,t,s,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,o,r,s,a,i){o||n(e,0);const l=e.token;G(e,32768|t);const c=Je(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&n(e,31),1024&t&&16863278===l&&("Identifier"===c.type?n(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&n(e,123)),e.assignable=2,oe(e,t,r,s,a,{type:"UnaryExpression",operator:V[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return rt(e,t,0,l,u,d,p);case 2162700:return function(e,t,o,r,s,a,i){const l=ct(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,o,r,s,a,i){const l=st(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,o,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;G(e,1073774592|t);const p=64&t?ie({parent:void 0,type:2},1024):void 0;if(Z(e,t=134217728^(134217728|t),16))return ft(e,t,p,[],o,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:o,tokenPos:a,linePos:i,colPos:l}=e;if(143360&o)p&&ce(e,t,p,e.tokenValue,1,0),f=Xe(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&o)&&36864!=(36864&o)||(b=1):(1077936157===e.token?b=1:k|=16,f=Me(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Oe(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&o)){if(14===o){f=it(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&n(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ie(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;Z(e,32768|t,18);)g.push(Ie(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return W(e,t,16),e.destructible=k,f}f=2162700===o?ct(e,1073741824|t,p,0,1,0,r,s,a,i,l):st(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&n(e,118),f=Me(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Oe(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!Z(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));W(e,t,16),16&k&&8&k&&n(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&n(e,46),4196352&t&&128&k&&n(e,29),2098176&t&&256&k&&n(e,30),b&&(e.flags|=128),ft(e,t,p,m?g:[f],o,0,a,i,l);8&k&&n(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?oe(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=V[255&e.token],a=86023===e.token?null:"true"===s;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,o,r,s,a){let i=null,l=null;const c=yt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);G(e,t),4096&e.token&&20567!==e.token&&(te(e,t,e.token)&&n(e,114),537079808==(537079808&e.token)&&n(e,115),i=tt(e,t,0));let u=t;Z(e,32768|t,20567)?(l=Je(e,t,0,o,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=vt(e,u,t,void 0,2,0,o);return e.assignable=2,oe(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,o,r,s){switch(G(e,t),e.token){case 67108991:n(e,161);case 67174411:(524288&t)<1&&n(e,26),16384&t&&n(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&n(e,27),16384&t&&n(e,143),e.assignable=1;break;default:n(e,28,"super")}return oe(e,t,o,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return Ze(e,t,u,d,p);case 67174408:return We(e,t);case 86109:return function(e,t,o,r,s,a){const i=tt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(Z(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=tt(e,t,0);return oe(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);n(e,91)}e.assignable=2,16842752==(16842752&e.token)&&n(e,62,V[255&e.token]);const d=Xe(e,t,2,1,0,0,o,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&n(e,162);const p=mt(e,t,d,o,l,c,u);return e.assignable=2,oe(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?et(e,t,o):[]})}(e,t,l,u,d,p);case 134283389:return Ye(e,t,u,d,p);case 131:return qt(e,t,u,d,p);case 86108:return function(e,t,o,r,s,a,i){let l=tt(e,t,0);if(67108877===e.token)return _e(e,t,l,s,a,i);o&&n(e,137);return l=$e(e,t,r,s,a,i),e.assignable=2,Me(e,t,l,r,0,s,a,i)}(e,t,s,l,u,d,p);case 8456258:if(16&t)return St(e,t,1,u,d,p);default:if(fe(t,e.token))return dt(e,t,u,d,p);n(e,28,V[255&e.token])}}function _e(e,t,o,r,s,a){return 0==(2048&t)&&n(e,163),G(e,t),143495!==e.token&&"meta"!==e.tokenValue&&n(e,28,V[255&e.token]),e.assignable=2,oe(e,t,r,s,a,{type:"MetaProperty",meta:o,property:tt(e,t,0)})}function $e(e,t,o,r,s,a){W(e,32768|t,67174411),14===e.token&&n(e,138);const i=Ie(e,t,1,0,o,e.tokenPos,e.linePos,e.colPos);return W(e,t,16),oe(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ye(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function Ze(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;W(e,t,67174409);return oe(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Ke(e,t,s,a,i,l,c,!0)]})}function We(e,t){t=134217728^(134217728|t);const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408);const l=[Ke(e,t,o,r,s,a,i,!1)],c=[Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&n(e,80);67174409!==(e.token=S(e,t));){const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408),l.push(Ke(e,t,o,r,s,a,i,!1)),c.push(Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&n(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;W(e,t,67174409),l.push(Ke(e,t,n,o,r,s,a,!0))}return oe(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Ke(e,t,n,o,r,s,a,i){const l=oe(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function Qe(e,t,n,o,r){W(e,32768|(t=134217728^(134217728|t)),14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,oe(e,t,n,o,r,{type:"SpreadElement",argument:s})}function et(e,t,n){G(e,32768|t);const o=[];if(16===e.token)return G(e,t),o;for(;16!==e.token&&(14===e.token?o.push(Qe(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(G(e,32768|t),16!==e.token););return W(e,t,16),o}function tt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return G(e,t),oe(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function nt(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ye(e,t,r,s,a):(G(e,t),e.assignable=2,oe(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function ot(e,t,o,r,s,a,i,l,c,u){G(e,32768|t);const d=s?Y(e,t,8457014):0;let p,f=null,k=o?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&n(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;ee(e,t|(3072&t)<<11,e.token),o&&(4&s?ue(e,t,o,e.tokenValue,s):ce(e,t,o,e.tokenValue,s,r),k=ie(k,256),a&&2&a&&de(e,e.tokenValue)),p=e.token,143360&e.token?f=tt(e,t,0):n(e,28,V[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),o&&(k=ie(k,512));return oe(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:gt(e,8388608|t,k,0,1),body:He(e,143360^(143360|t),o?ie(k,128):k,8,p,o?k.scopeError:void 0),async:1===i,generator:1===d})}function rt(e,t,n,o,r,s,a){G(e,32768|t);const i=Y(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(ee(e,32243712^(32243712|t)|l,e.token),d&&(d=ie(d,256)),c=e.token,u=tt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=ie(d,512));const p=gt(e,8388608|t,d,o,1),f=He(e,-134377473&t,d?ie(d,128):d,0,c,void 0);return e.assignable=2,oe(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function st(e,t,o,r,s,a,i,l,c,u,d){G(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(Z(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=Xe(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&n(e,24),G(e,32768|t),o&&le(e,t,o,g,i,l);const c=Ie(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=oe(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:o&&le(e,t,o,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=Me(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Oe(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ct(e,t,o,0,s,a,i,l,u,d,k):st(e,t,o,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?n(e,68):(r=Me(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Oe(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=it(e,t,o,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&n(e,28,V[255&e.token])):(r=Je(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Oe(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!Z(e,32768|t,18))break;if(20===e.token)break}W(e,t,20);const k=oe(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?at(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function at(e,t,o,r,s,a,i,l,c){1077936157!==e.token&&n(e,24),G(e,32768|t),16&o&&n(e,24),s||K(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ie(e,t,1,1,r,u,d,p);return e.destructible=72^(72|o)|(128&e.destructible?128:0)|(256&e.destructible?256:0),oe(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function it(e,t,o,r,s,a,i,l,c,u,d,p){G(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=Xe(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=Me(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&n(e,68),k|=16,f=Oe(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?o&&le(e,t,o,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)n(e,39);else{if(!(2097152&g)){k|=32,f=Je(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:o,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===o&&o!==r&&18!==o?(2&e.assignable&&n(e,24),f=Oe(e,t,l,c,s,a,i,f),k|=16):(18===o?k|=16:o!==r&&(f=Oe(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&n(e,155),oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ct(e,t,o,1,l,c,s,a,b,h,P):st(e,t,o,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&n(e,68),f=Me(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Oe(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=je(e,t,1,b,h,P,4,g,f)),Z(e,32768|t,22)&&(f=Fe(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),Z(e,32768|t,1077936157)){16&k&&n(e,24),K(e,f);const o=Ie(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=oe(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:o}:{type:"AssignmentExpression",left:f,operator:"=",right:o}),k=16}else k|=16;return e.destructible=k,oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function lt(e,t,r,s,a,i,l){const c=(64&r)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&r)<<18|100925440)?ie({parent:void 0,type:2},512):void 0;const d=function(e,t,r,s,a,i){W(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&n(e,35,"Setter","one",""),G(e,t),l;256&s&&n(e,35,"Getter","no","s");512&s&&14===e.token&&n(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let o=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),o=At(e,t,r,1|s,0,d,p,f)):(2162700===e.token?o=ct(e,t,r,1,i,1,a,0,d,p,f):69271571===e.token?o=st(e,t,r,1,i,1,a,0,d,p,f):14===e.token&&(o=it(e,t,r,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&n(e,47)),1077936157===e.token){G(e,32768|t),u=1;o=oe(e,t,d,p,f,{type:"AssignmentPattern",left:o,right:Ie(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(o),!Z(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&n(e,35,"Setter","one","");r&&void 0!==r.scopeError&&o(r.scopeError);u&&(e.flags|=128);return W(e,t,16),l}(e,8388608|t,u,r,1,s);u&&(u=ie(u,128));return oe(e,t,a,i,l,{type:"FunctionExpression",params:d,body:He(e,-134230017&t,u,0,void 0,void 0),async:(16&r)>0,generator:(8&r)>0,id:null})}function ct(e,t,o,s,a,i,l,c,u,d,p){G(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:s,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===s)f.push(it(e,t,o,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=tt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&s)?k|=16:Q(e,t,l,s,0),o&&le(e,t,o,u,l,c),Z(e,32768|t,1077936157)){k|=8;const n=Ie(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=oe(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===s?128:0)|(121===s?16:0),b=-2147483648&t?Object.assign({},P):P;else if(Z(e,32768|t,21)){const{tokenPos:r,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const n=e.token,s=e.tokenValue;k|=121===y?16:0,b=Xe(e,t,l,0,1,0,a,1,r,d,p);const{token:u}=e;b=Me(e,t,b,a,0,r,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:o&&143360==(143360&n)&&le(e,t,o,s,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:o&&le(e,t,o,s,l,c),b=Oe(e,t,a,i,r,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,u,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,d,p):ct(e,t,o,0,a,i,l,c,r,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?n(e,68):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,r,d,p,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,a,1,r,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==s&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,d,p,b))))}else 69271571===e.token?(k|=16,209007===s&&(h|=16),h|=2|(12402===s?256:12403===s?512:1),P=ut(e,t,a),k|=e.assignable,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===s&&n(e,92),209007===s&&(1&e.flags&&n(e,128),h|=16),P=tt(e,t,0),h|=12402===s?256:12403===s?512:1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===s||12403===s?n(e,40):143483===s&&n(e,92),G(e,t),h|=9|(209007===s?16:0),143360&e.token?P=tt(e,t,0):134217728==(134217728&e.token)?P=nt(e,t):69271571===e.token?(h|=2,P=ut(e,t,a),k|=e.assignable):n(e,28,V[255&e.token]),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===s&&(h|=16),h|=12402===s?256:12403===s?512:1,k|=16,P=nt(e,t),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,129);else if(134217728==(134217728&e.token))if(P=nt(e,t),21===e.token){W(e,32768|t,21);const{tokenPos:n,linePos:r,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=Xe(e,t,l,0,1,0,a,1,n,r,d);const{token:s,tokenValue:u}=e;b=Me(e,t,b,a,0,n,r,d),18===e.token||1074790415===e.token?1077936157===s||1074790415===s||18===s?2&e.assignable?k|=16:o&&le(e,t,o,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Oe(e,t,a,i,n,r,d,b)):(k|=16,b=Oe(e,t,a,i,n,r,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,n,r,d):ct(e,t,o,0,a,i,l,c,n,r,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=Me(e,t,b,a,0,n,r,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,n,r,d,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,n,r,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,n,r,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,n,r,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,n,r,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,n,r,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):n(e,130);else if(69271571===e.token)if(P=ut(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){G(e,32768|t);const{tokenPos:r,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=Xe(e,t,l,0,1,0,a,1,r,u,d);const{token:n}=e;b=Me(e,t,b,a,0,r,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===n?0:32,b=Ge(e,t,a,i,r,u,d,b)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?k|=16:o&&143360==(143360&f)&&le(e,t,o,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Oe(e,t,a,i,r,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,u,d):ct(e,t,o,0,a,i,l,c,r,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?n(e,59):(b=Me(e,t,b,a,0,r,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,r,u,d,b)):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,u,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,u,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,r,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,u,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,d,p),k=16):n(e,41);else if(8457014===s)if(W(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:s}=e;P=tt(e,t,0),h|=1,67174411===e.token?(k|=16,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):r(s,o,s,209007===n?43:12402===n||12403===e.token?42:44,V[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=nt(e,t),h|=1,b=lt(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=ut(e,t,a),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,122);else n(e,28,V[255&s]);k|=128&e.destructible?128:0,e.destructible=k,f.push(oe(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;G(e,t)}W(e,t,1074790415),g>1&&(k|=64);const m=oe(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!s&&4194304&e.token?at(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function ut(e,t,n){G(e,32768|t);const o=Ie(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return W(e,t,20),o}function dt(e,t,n,o,r){const{tokenValue:s}=e,a=tt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=se(e,t,s)),e.flags=128^(128|e.flags),kt(e,t,i,[a],0,n,o,r)}return a}function pt(e,t,o,r,s,a,i,l,c,u){a||n(e,54),s&&n(e,48),e.flags&=-129;return kt(e,t,64&t?se(e,t,o):void 0,[r],i,l,c,u)}function ft(e,t,o,r,s,a,i,l,c){s||n(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&n(e,106),1074790415===e.token&&n(e,105),Z(e,t,1074790417)?a>0&&n(e,116):d.push(wt(e,t,r,o,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return W(e,8&a?32768|t:t,1074790415),oe(e,t,l,c,u,{type:"ClassBody",body:d})}function wt(e,t,o,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=tt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return wt(e,t,o,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=16|(Y(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=ut(e,r,l)):134217728==(134217728&k)?f=nt(e,t):8457014===k?(p|=8,G(e,t)):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=tt(e,t,0),67174411!==e.token&&n(e,28,V[255&e.token])):n(e,28,V[255&e.token]);if(792&p&&(143360&e.token?f=tt(e,t,0):134217728==(134217728&e.token)?f=nt(e,t):69271571===e.token?(p|=2,f=ut(e,t,0)):122===e.token?f=tt(e,t,0):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b)):n(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?n(e,125):(32&p)<1&&67174411===e.token&&(920&p?n(e,50,"accessor"):(524288&t)<1&&(32&e.flags?n(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&n(e,49)),1&t&&67174411!==e.token)return Ct(e,t,f,p,a,g,m,b);const h=lt(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return oe(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function qt(e,t,o,r,s){G(e,t);const{tokenValue:a}=e;return"constructor"===a&&n(e,124),G(e,t),oe(e,t,o,r,s,{type:"PrivateIdentifier",name:a})}function Ct(e,t,o,r,s,a,i,l){let c=null;if(8&r&&n(e,0),1077936157===e.token){G(e,32768|t);const{tokenPos:o,linePos:r,colPos:s}=e;537079928===e.token&&n(e,115),c=Xe(e,16384|t,2,0,1,0,0,1,o,r,s),1073741824!=(1073741824&e.token)&&(c=Me(e,16384|t,c,0,0,o,r,s),c=Oe(e,16384|t,0,0,o,r,s,c),18===e.token&&(c=Ue(e,t,0,a,i,l,c)))}return oe(e,t,a,i,l,{type:"PropertyDefinition",key:o,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function Et(e,t,o,r,s,a,i,l){if(143360&e.token)return At(e,t,o,r,s,a,i,l);2097152!=(2097152&e.token)&&n(e,28,V[255&e.token]);const c=69271571===e.token?st(e,t,o,1,0,1,r,s,a,i,l):ct(e,t,o,1,0,1,r,s,a,i,l);return 16&e.destructible&&n(e,47),32&e.destructible&&n(e,47),c}function At(e,t,o,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?n(e,115):36864==(36864&u)&&n(e,114)),20480==(20480&u)&&n(e,99),2099200&t&&241773===u&&n(e,30),241739===u&&24&r&&n(e,97),4196352&t&&209008===u&&n(e,95),G(e,t),o&&le(e,t,o,c,r,s),oe(e,t,a,i,l,{type:"Identifier",name:c})}function St(e,t,o,r,s,a){if(G(e,t),8456259===e.token)return oe(e,t,r,s,a,{type:"JSXFragment",openingFragment:Dt(e,t,r,s,a),children:Vt(e,t),closingFragment:Lt(e,t,o,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,o,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&n(e,0);const i=Rt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(It(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?z(e,t):(W(e,t,8457016),o?W(e,t,8456259):z(e,t));return oe(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,o,r,s,a);if(!c.selfClosing){l=Vt(e,t),i=function(e,t,n,o,r,s){W(e,t,25);const a=Rt(e,t,e.tokenPos,e.linePos,e.colPos);n?W(e,t,8456259):e.token=z(e,t);return oe(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,o,e.tokenPos,e.linePos,e.colPos);const r=re(i.name);re(c.name)!==r&&n(e,149,r)}return oe(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Dt(e,t,n,o,r){return z(e,t),oe(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Lt(e,t,n,o,r,s){return W(e,t,25),W(e,t,8456259),oe(e,t,o,r,s,{type:"JSXClosingFragment"})}function Vt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,z(e,t),n.push(Tt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Tt(e,t,o,r,s){return 138===e.token?function(e,t,n,o,r){z(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return oe(e,t,n,o,r,s)}(e,t,o,r,s):2162700===e.token?Bt(e,t,0,0,o,r,s):8456258===e.token?St(e,t,0,o,r,s):void n(e,0)}function Rt(e,t,n,o,r){X(e);let s=Ot(e,t,n,o,r);if(21===e.token)return Ut(e,t,s,n,o,r);for(;Z(e,t,67108877);)X(e),s=Nt(e,t,s,n,o,r);return s}function Nt(e,t,n,o,r,s){return oe(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function It(e,t,o,r,s){if(2162700===e.token)return function(e,t,n,o,r){G(e,t),W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,o,r,s);X(e);let a=null,i=Ot(e,t,o,r,s);if(21===e.token&&(i=Ut(e,t,i,o,r,s)),1077936157===e.token){const o=M(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(o){case 134283267:a=nt(e,t);break;case 8456258:a=St(e,t,1,r,s,i);break;case 2162700:a=Bt(e,t,1,1,r,s,i);break;default:n(e,148)}}return oe(e,t,o,r,s,{type:"JSXAttribute",value:a,name:i})}function Ut(e,t,n,o,r,s){W(e,t,21);return oe(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function Bt(e,t,o,r,s,a,i){G(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&n(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,oe(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ie(e,t,1,0,0,l,c,u),o?W(e,t,1074790415):z(e,t),oe(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Ot(e,t,n,o,r){const{tokenValue:s}=e;return G(e,t),oe(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var Gt=Object.freeze({__proto__:null});exports.ESTree=Gt,exports.parse=function(e,t){return ge(e,t,0)},exports.parseModule=function(e,t){return ge(e,t,3072)},exports.parseScript=function(e,t){return ge(e,t,0)},exports.version="4.2.0"; diff --git a/node_modules/meriyah/dist/meriyah.esm.js b/node_modules/meriyah/dist/meriyah.esm.js new file mode 100644 index 0000000..a6ff1de --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.esm.js @@ -0,0 +1,8782 @@ +const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' +}; +class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } +} +function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); +} +function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); +} +function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); +} +function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); +} + +const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; +})([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + +function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); +} +function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; +} +function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } +} +function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; +} +function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); +} +function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); +} +function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; +} +function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } +} + +const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 +]; +const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 +]; +function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; +} +function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); +} + +const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; +function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } +} +function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); +} +function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; +} +function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); +} + +function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; +} +function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } +} + +function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); +} +function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } +} +function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } +} + +function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; +} +function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; +} +function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); +} + +function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; +} +function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); +} + +const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' +]; +const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, +}); + +function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); +} +function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); +} +function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; +} +function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; +} +function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); +} +function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; +} + +const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 +]; +function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } +} +function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; +} + +const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' +}; +const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 +}; +function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); +} +function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); +} + +function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; +} +function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; +} +function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; +} +function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; +} + +function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); +} +function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; +} +function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; +} +function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; +} +function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); +} +function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } +} +function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } +} +function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); +} +function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; +} +function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; +} +function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; +} +function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; +} +function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } +} +function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; +} +function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; +} +function createScope() { + return { + parent: void 0, + type: 2 + }; +} +function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; +} +function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } +} +function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; +} +function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } +} +function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } +} +function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } +} +function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; +} +function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; +} +function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); +} +function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); +} + +function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; +} +function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; +} +function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; +} +function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; +} +function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; +} +function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } +} +function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } +} +function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); +} +function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); +} +function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); +} +function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); +} +function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); +} +function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); +} +function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); +} +function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); +} +function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); +} +function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); +} +function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); +} +function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); +} +function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); +} +function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); +} +function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); +} +function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); +} +function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); +} +function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); +} +function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); +} +function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); +} +function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; +} +function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); +} +function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); +} +function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); +} +function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); +} +function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); +} +function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); +} +function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; +} +function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); +} +function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); +} +function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); +} +function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); +} +function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; +} +function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; +} +function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; +} +function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); +} +function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; +} +function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); +} +function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; +} +function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); +} +function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); +} +function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); +} +function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); +} +function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); +} +function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; +} +function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; +} +function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); +} +function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); +} +function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } +} +function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); +} +function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); +} +function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); +} +function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); +} +function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); +} +function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); +} +function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; +} +function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); +} +function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; +} +function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); +} +function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); +} +function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); +} +function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); +} +function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); +} +function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); +} +function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); +} +function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); +} +function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; +} +function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; +} +function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; +} +function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; +} +function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; +} +function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; +} +function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); +} +function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); +} +function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); +} +function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; +} +function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; +} +function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); +} +function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); +} +function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); +} +function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); +} +function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); +} +function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); +} +function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); +} +function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; +} +function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); +} +function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); +} +function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); +} +function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); +} +function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); +} +function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; +} +function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); +} +function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); +} +function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); +} +function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); +} +function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); +} +function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; +} +function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); +} +function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); +} +function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); +} +function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; +} +function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); +} +function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; +} +function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); +} +function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); +} +function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); +} +function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); +} +function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); +} +function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); +} +function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); +} + +var estree = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +var version$1 = "4.2.0"; + +const version = version$1; +function parseScript(source, options) { + return parseSource(source, options, 0); +} +function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); +} +function parse(source, options) { + return parseSource(source, options, 0); +} + +export { estree as ESTree, parse, parseModule, parseScript, version }; diff --git a/node_modules/meriyah/dist/meriyah.esm.min.js b/node_modules/meriyah/dist/meriyah.esm.min.js new file mode 100644 index 0000000..a193135 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.esm.min.js @@ -0,0 +1 @@ +const e={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class t extends SyntaxError{constructor(t,n,o,r,...s){const a="["+n+":"+o+"]: "+e[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=t,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function n(e,n,...o){throw new t(e.index,e.line,e.column,n,...o)}function o(e){throw new t(e.index,e.line,e.column,e.type,e.params)}function r(e,n,o,r,...s){throw new t(e,n,o,r,...s)}function s(e,n,o,r){throw new t(e,n,o,r)}const a=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function i(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function l(e,t){if(55296!=(64512&t))return 0;const o=e.source.charCodeAt(e.index+1);return 56320!=(64512&o)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&o),0==(1&a[0+(t>>>5)]>>>t)&&n(e,18,d(t)),e.index++,e.column++,1)}function c(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function u(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function d(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function p(e){return e<65?e-48:e-65+10&15}const f=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function m(e){return e<=127?k[e]:1&a[34816+(e>>>5)]>>>e}function b(e){return e<=127?g[e]:1&a[0+(e>>>5)]>>>e||8204===e||8205===e}const h=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function P(e,t,o,r,s,a,i,l){return 2048&r&&n(e,0),y(e,t,o,s,a,i,l)}function y(e,t,n,o,r,s,a){const{index:l}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return n(e,32)}const s=e.index-1;let a=0,l=e.currentChar;const{index:c}=e;for(;b(l);){switch(l){case 103:2&a&&n(e,34,"g"),a|=2;break;case 105:1&a&&n(e,34,"i"),a|=1;break;case 109:4&a&&n(e,34,"m"),a|=4;break;case 117:16&a&&n(e,34,"g"),a|=16;break;case 121:8&a&&n(e,34,"y"),a|=8;break;case 115:12&a&&n(e,34,"s"),a|=12;break;default:n(e,33)}l=i(e)}const u=e.source.slice(c,e.index),d=e.source.slice(o,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,o){try{return new RegExp(t,o)}catch(t){n(e,32)}}(e,d,u),65540}function w(e,t,o){const{index:r}=e;let s="",a=i(e),l=e.index;for(;0==(8&f[a]);){if(a===o)return s+=e.source.slice(l,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(l,e.index),a=i(e),a<127||8232===a||8233===a){const n=q(e,t,a);n>=0?s+=d(n):C(e,n,0)}else s+=d(a);l=e.index+1}e.index>=e.end&&n(e,14),a=i(e)}n(e,14)}function q(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&f[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&f[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&f[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&f[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),p(t)<<12|p(n)<<8|p(o)<<4|p(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function C(e,t,o){switch(t){case-1:return;case-2:n(e,o?2:1);case-3:n(e,13);case-4:n(e,6);case-5:n(e,101)}}function E(e,t){const{index:o}=e;let r=67174409,s="",a=i(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){i(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=i(e),a>126)s+=d(a);else{const n=q(e,1024|t,a);if(n>=0)s+=d(n);else{if(-1!==n&&65536&t){s=void 0,a=A(e,a),a<0&&(r=67174408);break}C(e,n,1)}}else e.index=e.end&&n(e,15),a=i(e)}return i(e),e.tokenValue=s,e.tokenRaw=e.source.slice(o+1,e.index-(67174409===r?1:2)),r}function A(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&n(e,15),t=i(e)}return t}function S(e,t){return e.index>=e.end&&n(e,0),e.index--,e.column--,E(e,t)}function D(e,t,o){let r=e.currentChar,a=0,l=9,c=64&o?0:1,u=0,d=0;if(64&o)a="."+L(e,r),r=e.currentChar,110===r&&n(e,11);else{if(48===r)if(r=i(e),120==(32|r)){for(o=136,r=i(e);4160&f[r];)95!==r?(d=1,a=16*a+p(r),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?19:147)}else if(111==(32|r)){for(o=132,r=i(e);4128&f[r];)95!==r?(d=1,a=8*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(98==(32|r)){for(o=130,r=i(e);4224&f[r];)95!==r?(d=1,a=2*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(32&f[r])for(1024&t&&n(e,1),o=1;16&f[r];){if(512&f[r]){o=32,c=0;break}a=8*a+(r-48),r=i(e)}else 512&f[r]?(1024&t&&n(e,1),e.flags|=64,o=32):95===r&&n(e,0);if(48&o){if(c){for(;l>=0&&4112&f[r];)95!==r?(d=0,a=10*a+(r-48),r=i(e),--l):(r=i(e),(95===r||32&o)&&s(e.index,e.line,e.index+1,146),d=1);if(d&&s(e.index,e.line,e.index+1,147),l>=0&&!m(r)&&46!==r)return e.tokenValue=a,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}a+=L(e,r),r=e.currentChar,46===r&&(95===i(e)&&n(e,0),o=64,a+="."+L(e,e.currentChar),r=e.currentChar)}}const k=e.index;let g=0;if(110===r&&128&o)g=1,r=i(e);else if(101==(32|r)){r=i(e),256&f[r]&&(r=i(e));const{index:t}=e;(16&f[r])<1&&n(e,10),a+=e.source.substring(k,t)+L(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],T=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function R(e,t,n){for(;g[i(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?T[e.tokenValue]||208897:I(e,t,0,n)}function N(e,t){const o=B(e);return b(o)||n(e,4),e.tokenValue=d(o),I(e,t,1,4&f[o])}function I(e,t,o,r){let s=e.index;for(;e.index=2&&a<=11){const n=T[e.tokenValue];return void 0===n?208897:o?1024&t?209008===n&&0==(4196352&t)?n:36972===n||36864==(36864&n)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&n)?n:241773===n?1073741824&t?143483:2097152&t?121:n:209007===n&&1073741824&t?143483:36864==(36864&n)||209008===n&&0==(4194304&t)?n:121:n}return 208897}function U(e){return m(i(e))||n(e,93),131}function B(e){return 117!==e.source.charCodeAt(e.index+1)&&n(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const o=e.currentChar;if(123===o){const n=e.index-2;for(;64&f[i(e)];)t=t<<4|p(e.currentChar),t>1114111&&s(n,e.line,e.index+1,101);return 125!==e.currentChar&&s(n,e.line,e.index-1,6),i(e),t}0==(64&f[o])&&n(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&f[r])&&n(e,6);const a=e.source.charCodeAt(e.index+2);0==(64&f[a])&&n(e,6);const l=e.source.charCodeAt(e.index+3);0==(64&f[l])&&n(e,6);return t=p(o)<<12|p(r)<<8|p(a)<<4|p(l),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const O=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function G(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=F(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function F(e,t,o){const r=0===e.index,s=e.source;let l=e.index,p=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(i(e),4194340):42!==t?8457014:61!==i(e)?8457273:(i(e),4194337)}case 8455497:return 61!==i(e)?8455497:(i(e),4194343);case 25233970:{i(e);const t=e.currentChar;return 43===t?(i(e),33619995):61===t?(i(e),4194338):25233970}case 25233971:{i(e);const a=e.currentChar;if(45===a){if(i(e),(1&o||r)&&62===e.currentChar){0==(256&t)&&n(e,108),i(e),o=P(e,s,o,t,3,l,p,f),l=e.tokenPos,p=e.linePos,f=e.colPos;continue}return 33619996}return 61===a?(i(e),4194339):25233971}case 8457016:if(i(e),e.index=48&&k<=57)return D(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return i(e),67108991}return 22}}}else{if((8232^g)<=1){o=-5&o|1,u(e);continue}if(55296==(64512&g)||0!=(1&a[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&a[0+(g>>>5)]>>>g)&&n(e,18,d(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",I(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){i(e);continue}n(e,18,d(g))}}var k;return 1048576}const j={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},H={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function J(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in H&&(e=H[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return j[e.slice(1,-1)]||e}))}function M(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&f[e.currentChar]?function(e,t){const o=e.currentChar;let r=i(e);const s=e.index;for(;r!==o;)e.index>=e.end&&n(e,14),r=i(e);r!==o&&n(e,14);e.tokenValue=e.source.slice(s,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):F(e,t,0),e.token}function z(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(O[e.source.charCodeAt(e.index)]){case 8456258:i(e),47===e.currentChar?(i(e),e.token=25):e.token=8456258;break;case 2162700:i(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&Z(e,t,209008);W(e,32768|t,67174411),o&&(o=ie(o,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=tt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&n(e,64):f=oe(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:Se(e,134217728|t,o,8,32)}),e.assignable=1):1024&t?n(e,64):(k=!1,e.assignable=1,f=Me(e,t,f,0,0,m,b,h),274549===e.token&&n(e,111))):(G(e,t),f=oe(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:Se(e,134217728|t,o,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Se(e,134217728|t,o,16,32)}),e.assignable=1):1074790417===g?l&&n(e,79):2097152==(2097152&g)?(f=2162700===g?ct(e,t,void 0,1,0,0,2,32,m,b,h):st(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&n(e,60),e.assignable=16&p?2:1,f=Me(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Je(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&n(e,77,l?"await":"of"),K(e,f),G(e,32768|t),c=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ce(e,t,o,r),await:l})}2&e.assignable&&n(e,77,"in"),K(e,f),G(e,32768|t),l&&n(e,79),c=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForInStatement",body:Ce(e,t,o,r),left:f,right:c})}l&&n(e,79);k||(8&p&&1077936157!==e.token&&n(e,77,"loop"),f=Oe(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Ue(e,t,0,e.tokenPos,e.linePos,e.colPos,f));W(e,32768|t,1074790417),1074790417!==e.token&&(u=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,1074790417),16!==e.token&&(d=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,16);const P=Ce(e,t,o,r);return oe(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,o,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){G(e,32768|t);const i=Ce(e,t,n,o);W(e,t,20580),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return W(e,32768|t,16),Z(e,t,1074790417),oe(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,o,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){G(e,t),W(e,32768|t,67174411);const i=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const l=Ce(e,t,n,o);return oe(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,o,s,i,l,c);case 86112:return function(e,t,o,r,s,a,i){G(e,t),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,t,16),W(e,t,2162700);const c=[];let u=0;o&&(o=ie(o,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(Z(e,32768|t,20558)?l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(W(e,32768|t,20563),u&&n(e,86),u=1),W(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(be(e,4096|t,o,2,{$:r}));c.push(oe(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return W(e,32768|t,1074790415),oe(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,o,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return G(e,32768|t),oe(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return Pe(e,t,o?ie(o,2):o,s,i,l,c);case 86114:return function(e,t,o,r,s){G(e,32768|t),1&e.flags&&n(e,87);const a=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return _(e,32768|t),oe(e,t,o,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,o,r,s,a){G(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,0)||n(e,134,r)}else(135168&t)<1&&n(e,66);return _(e,32768|t),oe(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,o,r,s,a){(131072&t)<1&&n(e,65);G(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,1)||n(e,134,r)}return _(e,32768|t),oe(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,o,r,s,a,i){G(e,32768|t);const l=o?ie(o,32):void 0,c=Pe(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=Z(e,32768|t,20559)?function(e,t,o,r,s,a,i){let l=null,c=o;Z(e,t,67174411)&&(o&&(o=ie(o,4)),l=Et(e,t,o,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?n(e,83):1077936157===e.token&&n(e,84),W(e,32768|t,16),o&&(c=ie(o,64)));const u=Pe(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,o,r,u,d,p):null;let k=null;if(20568===e.token){G(e,32768|t);k=Pe(e,t,l?ie(o,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||n(e,85);return oe(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,o,s,i,l,c);case 20581:return function(e,t,o,r,s,a,i){G(e,t),1024&t&&n(e,88);W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const c=he(e,t,o,2,r,0,e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,o,s,i,l,c);case 20562:return function(e,t,n,o,r){return G(e,32768|t),_(e,32768|t),oe(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return ve(e,t,o,r,s,0,i,l,c);case 20559:n(e,156);case 20568:n(e,157);case 86106:n(e,1024&t?73:(256&t)<1?75:74);case 86096:n(e,76);default:return function(e,t,o,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=tt(e,t,0),1024&t&&n(e,82),69271571===e.token&&n(e,81);break;default:p=Xe(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return xe(e,t,o,r,s,u,p,d,a,i,l,c);p=Me(e,t,p,0,0,i,l,c),p=Oe(e,t,0,0,i,l,c,p),18===e.token&&(p=Ue(e,t,0,i,l,c,p));return ye(e,t,p,i,l,c)}(e,t,o,r,s,a,i,l,c)}}function Pe(e,t,n,o,r,s,a){const i=[];for(W(e,32768|t,2162700);1074790415!==e.token;)i.push(be(e,t,n,2,{$:o}));return W(e,32768|t,1074790415),oe(e,t,r,s,a,{type:"BlockStatement",body:i})}function ye(e,t,n,o,r,s){return _(e,32768|t),oe(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function xe(e,t,o,r,s,a,i,l,c,u,d,p){Q(e,t,0,l,1),function(e,t,o){let r=t;for(;r;)r["$"+o]&&n(e,132,o),r=r.$;t["$"+o]=1}(e,s,a),G(e,32768|t);return oe(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?ot(e,t,ie(o,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):he(e,t,o,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function ve(e,t,o,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=tt(e,t,0);if(21===e.token)return xe(e,t,o,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||n(e,119),ot(e,t,o,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=bt(e,t,1,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),ye(e,t,p,i,l,c)}return 67174411===e.token?p=ht(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ke(e,t,u,1),p=pt(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=Me(e,t,p,0,0,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),p=Oe(e,t,0,0,i,l,c,p),e.assignable=1,ye(e,t,p,i,l,c)}function we(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=Me(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Oe(e,t,0,0,r,s,a,n),18===e.token&&(n=Ue(e,t,0,r,s,a,n))),_(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function qe(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?he(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):ot(e,t,ie(n,2),0,0,0,0,r,s,a)}function Ce(e,t,n,o){return he(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ee(e,t,n,o,r,s,a,i){G(e,t);const l=Se(e,t,n,o,r);return _(e,32768|t),oe(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Ae(e,t,n,o,r,s,a){G(e,t);const i=Se(e,t,n,4,o);return _(e,32768|t),oe(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function Se(e,t,o,r,s){let a=1;const i=[De(e,t,o,r,s)];for(;Z(e,t,18);)a++,i.push(De(e,t,o,r,s));return a>1&&32&s&&262144&e.token&&n(e,58,V[255&e.token]),i}function De(e,t,o,s,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=Et(e,t,o,s,a,l,c,u);return 1077936157===e.token?(G(e,32768|t),d=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&s)<1||1024&t))&&r(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&s||(2097152&i)>0)&&262144!=(262144&e.token)&&n(e,56,16&s?"const":"destructuring"),oe(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Le(e,t,o){return fe(t,e.token)||n(e,114),537079808==(537079808&e.token)&&n(e,115),o&&ce(e,t,o,e.tokenValue,8,0),tt(e,t,0)}function Ve(e,t,n){const{tokenPos:o,linePos:s,colPos:a}=e;return G(e,t),W(e,t,77934),134217728==(134217728&e.token)&&r(o,e.line,e.index,28,V[255&e.token]),oe(e,t,o,s,a,{type:"ImportNamespaceSpecifier",local:Le(e,t,n)})}function Te(e,t,o,r){for(G(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=tt(e,t,0);let d;Z(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?n(e,103):Q(e,t,16,e.token,0),a=e.tokenValue,d=tt(e,t,0)):(Q(e,t,16,s,0),d=u),o&&ce(e,t,o,a,8,0),r.push(oe(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&W(e,t,18)}return W(e,t,1074790415),r}function Re(e,t,n,o,r){let s=_e(e,t,oe(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=Me(e,t,s,0,0,n,o,r),s=Oe(e,t,0,0,n,o,r,s),ye(e,t,s,n,o,r)}function Ne(e,t,n,o,r){let s=$e(e,t,0,n,o,r);return s=Me(e,t,s,0,0,n,o,r),ye(e,t,s,n,o,r)}function Ie(e,t,n,o,r,s,a,i){let l=Xe(e,t,2,0,n,o,r,1,s,a,i);return l=Me(e,t,l,r,0,s,a,i),Oe(e,t,r,0,s,a,i,l)}function Ue(e,t,n,o,r,s,a){const i=[a];for(;Z(e,32768|t,18);)i.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return oe(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Be(e,t,n,o,r,s,a){const i=Ie(e,t,o,0,n,r,s,a);return 18===e.token?Ue(e,t,n,r,s,a,i):i}function Oe(e,t,o,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&n(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&K(e,l),G(e,32768|t);const u=Ie(e,t,1,1,o,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:V[255&c],right:u})}return 8454144==(8454144&c)&&(l=je(e,t,o,s,a,i,4,c,l)),Z(e,32768|t,22)&&(l=Fe(e,t,l,s,a,i)),l}function Ge(e,t,n,o,r,s,a,i){const{token:l}=e;G(e,32768|t);const c=Ie(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=oe(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:V[255&l],right:c}),e.assignable=2,i}function Fe(e,t,n,o,r,s){const a=Ie(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,21),e.assignable=1;const i=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function je(e,t,o,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&n(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)G(e,32768|t),c=oe(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:je(e,t,o,e.tokenPos,e.linePos,e.colPos,p,d,Je(e,t,0,o,1,e.tokenPos,e.linePos,e.colPos)),operator:V[255&d]});return 1077936157===e.token&&n(e,24),c}function He(e,t,s,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;W(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:s,token:a}=e,i=nt(e,t);$(e,n,o,s)&&(t|=1024,128&e.flags&&r(e.index,e.line,e.tokenPos,63),64&e.flags&&r(e.index,e.line,e.tokenPos,8)),p.push(we(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&n(e,115),36864==(36864&i)&&n(e,38)),512&e.flags&&n(e,115),256&e.flags&&n(e,114)),64&t&&s&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&o(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(be(e,t,s,4,{}));return W(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&n(e,24),oe(e,t,c,u,d,{type:"BlockStatement",body:p})}function Je(e,t,n,o,r,s,a,i){return Me(e,t,Xe(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function Me(e,t,o,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)o=function(e,t,o,r,s,a){2&e.assignable&&n(e,52);const{token:i}=e;return G(e,t),e.assignable=2,oe(e,t,r,s,a,{type:"UpdateExpression",argument:o,operator:V[255&i],prefix:!1})}(e,t,o,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:G(e,1073741824|t),e.assignable=1;o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!1,property:ze(e,t)});break;case 69271571:{let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags)),G(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Be(e,t,r,1,s,c,u);W(e,t,20),e.assignable=1,o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!0,property:d}),n&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),o;let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags));const s=et(e,t,r);e.assignable=2,o=oe(e,t,a,i,l,{type:"CallExpression",callee:o,arguments:s}),n&&(e.flags|=2048);break}case 67108991:G(e,t),e.flags|=2048,e.assignable=2,o=function(e,t,o,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){G(e,32768|t);const{tokenPos:n,linePos:l,colPos:c}=e,u=Be(e,t,0,1,n,l,c);W(e,t,20),e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const n=et(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"CallExpression",callee:o,arguments:n,optional:!0})}else{(143360&e.token)<1&&n(e,154);const l=tt(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,o,a,i,l);break;default:2048==(2048&e.flags)&&n(e,160),e.assignable=2,o=oe(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:o,quasi:67174408===e.token?We(e,65536|t):Ze(e,t,e.tokenPos,e.linePos,e.colPos)})}o=Me(e,t,o,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),o=oe(e,t,a,i,l,{type:"ChainExpression",expression:o})),o}function ze(e,t){return(143360&e.token)<1&&131!==e.token&&n(e,154),1&t&&131===e.token?qt(e,t,e.tokenPos,e.linePos,e.colPos):tt(e,t,0)}function Xe(e,t,o,s,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,o,s,a,i,l){if(s&&(e.destructible|=128),4194304&t||2048&t&&8192&t){o&&n(e,0),8388608&t&&r(e.index,e.line,e.index,29),G(e,32768|t);const s=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&n(e,31),e.assignable=2,oe(e,t,a,i,l,{type:"AwaitExpression",argument:s})}return 2048&t&&n(e,95),dt(e,t,a,i,l)}(e,t,s,l,u,d,p);case 241773:return function(e,t,o,r,s,a,i){if(o&&(e.destructible|=256),2097152&t){G(e,32768|t),8388608&t&&n(e,30),r||n(e,24),22===e.token&&n(e,120);let o=null,l=!1;return(1&e.flags)<1&&(l=Z(e,32768|t,8457014),(77824&e.token||l)&&(o=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,oe(e,t,s,a,i,{type:"YieldExpression",argument:o,delegate:l})}return 1024&t&&n(e,94,"yield"),dt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,o,r,s,a,i,l,c,u){const{token:d}=e,p=tt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return rt(e,t,1,o,l,c,u);if(143360==(143360&e.token))return r||n(e,0),bt(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ke(e,t,d,1),i&&n(e,48),pt(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:ht(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,s,u,d,p)}const{token:f,tokenValue:k}=e,g=tt(e,65536|t,i);return 10===e.token?(c||n(e,0),ke(e,t,f,1),pt(e,t,k,g,s,a,0,u,d,p)):(16384&t&&537079928===f&&n(e,126),241739===f&&(1024&t&&n(e,109),24&o&&n(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return nt(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,o,r,s,a,i){o&&n(e,53),r||n(e,0);const{token:l}=e;G(e,32768|t);const c=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&n(e,52),e.assignable=2,oe(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:V[255&l],prefix:!0})}(e,t,s,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,o,r,s,a,i){o||n(e,0);const l=e.token;G(e,32768|t);const c=Je(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&n(e,31),1024&t&&16863278===l&&("Identifier"===c.type?n(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&n(e,123)),e.assignable=2,oe(e,t,r,s,a,{type:"UnaryExpression",operator:V[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return rt(e,t,0,l,u,d,p);case 2162700:return function(e,t,o,r,s,a,i){const l=ct(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,o,r,s,a,i){const l=st(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,o,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;G(e,1073774592|t);const p=64&t?ie({parent:void 0,type:2},1024):void 0;if(Z(e,t=134217728^(134217728|t),16))return ft(e,t,p,[],o,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:o,tokenPos:a,linePos:i,colPos:l}=e;if(143360&o)p&&ce(e,t,p,e.tokenValue,1,0),f=Xe(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&o)&&36864!=(36864&o)||(b=1):(1077936157===e.token?b=1:k|=16,f=Me(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Oe(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&o)){if(14===o){f=it(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&n(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ie(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;Z(e,32768|t,18);)g.push(Ie(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return W(e,t,16),e.destructible=k,f}f=2162700===o?ct(e,1073741824|t,p,0,1,0,r,s,a,i,l):st(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&n(e,118),f=Me(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Oe(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!Z(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));W(e,t,16),16&k&&8&k&&n(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&n(e,46),4196352&t&&128&k&&n(e,29),2098176&t&&256&k&&n(e,30),b&&(e.flags|=128),ft(e,t,p,m?g:[f],o,0,a,i,l);8&k&&n(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?oe(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=V[255&e.token],a=86023===e.token?null:"true"===s;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,o,r,s,a){let i=null,l=null;const c=yt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);G(e,t),4096&e.token&&20567!==e.token&&(te(e,t,e.token)&&n(e,114),537079808==(537079808&e.token)&&n(e,115),i=tt(e,t,0));let u=t;Z(e,32768|t,20567)?(l=Je(e,t,0,o,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=vt(e,u,t,void 0,2,0,o);return e.assignable=2,oe(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,o,r,s){switch(G(e,t),e.token){case 67108991:n(e,161);case 67174411:(524288&t)<1&&n(e,26),16384&t&&n(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&n(e,27),16384&t&&n(e,143),e.assignable=1;break;default:n(e,28,"super")}return oe(e,t,o,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return Ze(e,t,u,d,p);case 67174408:return We(e,t);case 86109:return function(e,t,o,r,s,a){const i=tt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(Z(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=tt(e,t,0);return oe(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);n(e,91)}e.assignable=2,16842752==(16842752&e.token)&&n(e,62,V[255&e.token]);const d=Xe(e,t,2,1,0,0,o,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&n(e,162);const p=mt(e,t,d,o,l,c,u);return e.assignable=2,oe(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?et(e,t,o):[]})}(e,t,l,u,d,p);case 134283389:return Ye(e,t,u,d,p);case 131:return qt(e,t,u,d,p);case 86108:return function(e,t,o,r,s,a,i){let l=tt(e,t,0);if(67108877===e.token)return _e(e,t,l,s,a,i);o&&n(e,137);return l=$e(e,t,r,s,a,i),e.assignable=2,Me(e,t,l,r,0,s,a,i)}(e,t,s,l,u,d,p);case 8456258:if(16&t)return St(e,t,1,u,d,p);default:if(fe(t,e.token))return dt(e,t,u,d,p);n(e,28,V[255&e.token])}}function _e(e,t,o,r,s,a){return 0==(2048&t)&&n(e,163),G(e,t),143495!==e.token&&"meta"!==e.tokenValue&&n(e,28,V[255&e.token]),e.assignable=2,oe(e,t,r,s,a,{type:"MetaProperty",meta:o,property:tt(e,t,0)})}function $e(e,t,o,r,s,a){W(e,32768|t,67174411),14===e.token&&n(e,138);const i=Ie(e,t,1,0,o,e.tokenPos,e.linePos,e.colPos);return W(e,t,16),oe(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ye(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function Ze(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;W(e,t,67174409);return oe(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Ke(e,t,s,a,i,l,c,!0)]})}function We(e,t){t=134217728^(134217728|t);const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408);const l=[Ke(e,t,o,r,s,a,i,!1)],c=[Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&n(e,80);67174409!==(e.token=S(e,t));){const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408),l.push(Ke(e,t,o,r,s,a,i,!1)),c.push(Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&n(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;W(e,t,67174409),l.push(Ke(e,t,n,o,r,s,a,!0))}return oe(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Ke(e,t,n,o,r,s,a,i){const l=oe(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function Qe(e,t,n,o,r){W(e,32768|(t=134217728^(134217728|t)),14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,oe(e,t,n,o,r,{type:"SpreadElement",argument:s})}function et(e,t,n){G(e,32768|t);const o=[];if(16===e.token)return G(e,t),o;for(;16!==e.token&&(14===e.token?o.push(Qe(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(G(e,32768|t),16!==e.token););return W(e,t,16),o}function tt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return G(e,t),oe(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function nt(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ye(e,t,r,s,a):(G(e,t),e.assignable=2,oe(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function ot(e,t,o,r,s,a,i,l,c,u){G(e,32768|t);const d=s?Y(e,t,8457014):0;let p,f=null,k=o?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&n(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;ee(e,t|(3072&t)<<11,e.token),o&&(4&s?ue(e,t,o,e.tokenValue,s):ce(e,t,o,e.tokenValue,s,r),k=ie(k,256),a&&2&a&&de(e,e.tokenValue)),p=e.token,143360&e.token?f=tt(e,t,0):n(e,28,V[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),o&&(k=ie(k,512));return oe(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:gt(e,8388608|t,k,0,1),body:He(e,143360^(143360|t),o?ie(k,128):k,8,p,o?k.scopeError:void 0),async:1===i,generator:1===d})}function rt(e,t,n,o,r,s,a){G(e,32768|t);const i=Y(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(ee(e,32243712^(32243712|t)|l,e.token),d&&(d=ie(d,256)),c=e.token,u=tt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=ie(d,512));const p=gt(e,8388608|t,d,o,1),f=He(e,-134377473&t,d?ie(d,128):d,0,c,void 0);return e.assignable=2,oe(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function st(e,t,o,r,s,a,i,l,c,u,d){G(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(Z(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=Xe(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&n(e,24),G(e,32768|t),o&&le(e,t,o,g,i,l);const c=Ie(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=oe(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:o&&le(e,t,o,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=Me(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Oe(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ct(e,t,o,0,s,a,i,l,u,d,k):st(e,t,o,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?n(e,68):(r=Me(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Oe(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=it(e,t,o,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&n(e,28,V[255&e.token])):(r=Je(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Oe(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!Z(e,32768|t,18))break;if(20===e.token)break}W(e,t,20);const k=oe(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?at(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function at(e,t,o,r,s,a,i,l,c){1077936157!==e.token&&n(e,24),G(e,32768|t),16&o&&n(e,24),s||K(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ie(e,t,1,1,r,u,d,p);return e.destructible=72^(72|o)|(128&e.destructible?128:0)|(256&e.destructible?256:0),oe(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function it(e,t,o,r,s,a,i,l,c,u,d,p){G(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=Xe(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=Me(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&n(e,68),k|=16,f=Oe(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?o&&le(e,t,o,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)n(e,39);else{if(!(2097152&g)){k|=32,f=Je(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:o,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===o&&o!==r&&18!==o?(2&e.assignable&&n(e,24),f=Oe(e,t,l,c,s,a,i,f),k|=16):(18===o?k|=16:o!==r&&(f=Oe(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&n(e,155),oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ct(e,t,o,1,l,c,s,a,b,h,P):st(e,t,o,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&n(e,68),f=Me(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Oe(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=je(e,t,1,b,h,P,4,g,f)),Z(e,32768|t,22)&&(f=Fe(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),Z(e,32768|t,1077936157)){16&k&&n(e,24),K(e,f);const o=Ie(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=oe(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:o}:{type:"AssignmentExpression",left:f,operator:"=",right:o}),k=16}else k|=16;return e.destructible=k,oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function lt(e,t,r,s,a,i,l){const c=(64&r)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&r)<<18|100925440)?ie({parent:void 0,type:2},512):void 0;const d=function(e,t,r,s,a,i){W(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&n(e,35,"Setter","one",""),G(e,t),l;256&s&&n(e,35,"Getter","no","s");512&s&&14===e.token&&n(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let o=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),o=At(e,t,r,1|s,0,d,p,f)):(2162700===e.token?o=ct(e,t,r,1,i,1,a,0,d,p,f):69271571===e.token?o=st(e,t,r,1,i,1,a,0,d,p,f):14===e.token&&(o=it(e,t,r,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&n(e,47)),1077936157===e.token){G(e,32768|t),u=1;o=oe(e,t,d,p,f,{type:"AssignmentPattern",left:o,right:Ie(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(o),!Z(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&n(e,35,"Setter","one","");r&&void 0!==r.scopeError&&o(r.scopeError);u&&(e.flags|=128);return W(e,t,16),l}(e,8388608|t,u,r,1,s);u&&(u=ie(u,128));return oe(e,t,a,i,l,{type:"FunctionExpression",params:d,body:He(e,-134230017&t,u,0,void 0,void 0),async:(16&r)>0,generator:(8&r)>0,id:null})}function ct(e,t,o,s,a,i,l,c,u,d,p){G(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:s,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===s)f.push(it(e,t,o,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=tt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&s)?k|=16:Q(e,t,l,s,0),o&&le(e,t,o,u,l,c),Z(e,32768|t,1077936157)){k|=8;const n=Ie(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=oe(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===s?128:0)|(121===s?16:0),b=-2147483648&t?Object.assign({},P):P;else if(Z(e,32768|t,21)){const{tokenPos:r,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const n=e.token,s=e.tokenValue;k|=121===y?16:0,b=Xe(e,t,l,0,1,0,a,1,r,d,p);const{token:u}=e;b=Me(e,t,b,a,0,r,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:o&&143360==(143360&n)&&le(e,t,o,s,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:o&&le(e,t,o,s,l,c),b=Oe(e,t,a,i,r,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,u,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,d,p):ct(e,t,o,0,a,i,l,c,r,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?n(e,68):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,r,d,p,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,a,1,r,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==s&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,d,p,b))))}else 69271571===e.token?(k|=16,209007===s&&(h|=16),h|=2|(12402===s?256:12403===s?512:1),P=ut(e,t,a),k|=e.assignable,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===s&&n(e,92),209007===s&&(1&e.flags&&n(e,128),h|=16),P=tt(e,t,0),h|=12402===s?256:12403===s?512:1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===s||12403===s?n(e,40):143483===s&&n(e,92),G(e,t),h|=9|(209007===s?16:0),143360&e.token?P=tt(e,t,0):134217728==(134217728&e.token)?P=nt(e,t):69271571===e.token?(h|=2,P=ut(e,t,a),k|=e.assignable):n(e,28,V[255&e.token]),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===s&&(h|=16),h|=12402===s?256:12403===s?512:1,k|=16,P=nt(e,t),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,129);else if(134217728==(134217728&e.token))if(P=nt(e,t),21===e.token){W(e,32768|t,21);const{tokenPos:n,linePos:r,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=Xe(e,t,l,0,1,0,a,1,n,r,d);const{token:s,tokenValue:u}=e;b=Me(e,t,b,a,0,n,r,d),18===e.token||1074790415===e.token?1077936157===s||1074790415===s||18===s?2&e.assignable?k|=16:o&&le(e,t,o,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Oe(e,t,a,i,n,r,d,b)):(k|=16,b=Oe(e,t,a,i,n,r,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,n,r,d):ct(e,t,o,0,a,i,l,c,n,r,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=Me(e,t,b,a,0,n,r,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,n,r,d,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,n,r,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,n,r,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,n,r,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,n,r,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,n,r,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):n(e,130);else if(69271571===e.token)if(P=ut(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){G(e,32768|t);const{tokenPos:r,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=Xe(e,t,l,0,1,0,a,1,r,u,d);const{token:n}=e;b=Me(e,t,b,a,0,r,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===n?0:32,b=Ge(e,t,a,i,r,u,d,b)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?k|=16:o&&143360==(143360&f)&&le(e,t,o,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Oe(e,t,a,i,r,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,u,d):ct(e,t,o,0,a,i,l,c,r,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?n(e,59):(b=Me(e,t,b,a,0,r,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,r,u,d,b)):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,u,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,u,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,r,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,u,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,d,p),k=16):n(e,41);else if(8457014===s)if(W(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:s}=e;P=tt(e,t,0),h|=1,67174411===e.token?(k|=16,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):r(s,o,s,209007===n?43:12402===n||12403===e.token?42:44,V[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=nt(e,t),h|=1,b=lt(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=ut(e,t,a),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,122);else n(e,28,V[255&s]);k|=128&e.destructible?128:0,e.destructible=k,f.push(oe(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;G(e,t)}W(e,t,1074790415),g>1&&(k|=64);const m=oe(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!s&&4194304&e.token?at(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function ut(e,t,n){G(e,32768|t);const o=Ie(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return W(e,t,20),o}function dt(e,t,n,o,r){const{tokenValue:s}=e,a=tt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=se(e,t,s)),e.flags=128^(128|e.flags),kt(e,t,i,[a],0,n,o,r)}return a}function pt(e,t,o,r,s,a,i,l,c,u){a||n(e,54),s&&n(e,48),e.flags&=-129;return kt(e,t,64&t?se(e,t,o):void 0,[r],i,l,c,u)}function ft(e,t,o,r,s,a,i,l,c){s||n(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&n(e,106),1074790415===e.token&&n(e,105),Z(e,t,1074790417)?a>0&&n(e,116):d.push(wt(e,t,r,o,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return W(e,8&a?32768|t:t,1074790415),oe(e,t,l,c,u,{type:"ClassBody",body:d})}function wt(e,t,o,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=tt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return wt(e,t,o,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=16|(Y(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=ut(e,r,l)):134217728==(134217728&k)?f=nt(e,t):8457014===k?(p|=8,G(e,t)):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=tt(e,t,0),67174411!==e.token&&n(e,28,V[255&e.token])):n(e,28,V[255&e.token]);if(792&p&&(143360&e.token?f=tt(e,t,0):134217728==(134217728&e.token)?f=nt(e,t):69271571===e.token?(p|=2,f=ut(e,t,0)):122===e.token?f=tt(e,t,0):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b)):n(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?n(e,125):(32&p)<1&&67174411===e.token&&(920&p?n(e,50,"accessor"):(524288&t)<1&&(32&e.flags?n(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&n(e,49)),1&t&&67174411!==e.token)return Ct(e,t,f,p,a,g,m,b);const h=lt(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return oe(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function qt(e,t,o,r,s){G(e,t);const{tokenValue:a}=e;return"constructor"===a&&n(e,124),G(e,t),oe(e,t,o,r,s,{type:"PrivateIdentifier",name:a})}function Ct(e,t,o,r,s,a,i,l){let c=null;if(8&r&&n(e,0),1077936157===e.token){G(e,32768|t);const{tokenPos:o,linePos:r,colPos:s}=e;537079928===e.token&&n(e,115),c=Xe(e,16384|t,2,0,1,0,0,1,o,r,s),1073741824!=(1073741824&e.token)&&(c=Me(e,16384|t,c,0,0,o,r,s),c=Oe(e,16384|t,0,0,o,r,s,c),18===e.token&&(c=Ue(e,t,0,a,i,l,c)))}return oe(e,t,a,i,l,{type:"PropertyDefinition",key:o,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function Et(e,t,o,r,s,a,i,l){if(143360&e.token)return At(e,t,o,r,s,a,i,l);2097152!=(2097152&e.token)&&n(e,28,V[255&e.token]);const c=69271571===e.token?st(e,t,o,1,0,1,r,s,a,i,l):ct(e,t,o,1,0,1,r,s,a,i,l);return 16&e.destructible&&n(e,47),32&e.destructible&&n(e,47),c}function At(e,t,o,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?n(e,115):36864==(36864&u)&&n(e,114)),20480==(20480&u)&&n(e,99),2099200&t&&241773===u&&n(e,30),241739===u&&24&r&&n(e,97),4196352&t&&209008===u&&n(e,95),G(e,t),o&&le(e,t,o,c,r,s),oe(e,t,a,i,l,{type:"Identifier",name:c})}function St(e,t,o,r,s,a){if(G(e,t),8456259===e.token)return oe(e,t,r,s,a,{type:"JSXFragment",openingFragment:Dt(e,t,r,s,a),children:Vt(e,t),closingFragment:Lt(e,t,o,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,o,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&n(e,0);const i=Rt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(It(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?z(e,t):(W(e,t,8457016),o?W(e,t,8456259):z(e,t));return oe(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,o,r,s,a);if(!c.selfClosing){l=Vt(e,t),i=function(e,t,n,o,r,s){W(e,t,25);const a=Rt(e,t,e.tokenPos,e.linePos,e.colPos);n?W(e,t,8456259):e.token=z(e,t);return oe(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,o,e.tokenPos,e.linePos,e.colPos);const r=re(i.name);re(c.name)!==r&&n(e,149,r)}return oe(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Dt(e,t,n,o,r){return z(e,t),oe(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Lt(e,t,n,o,r,s){return W(e,t,25),W(e,t,8456259),oe(e,t,o,r,s,{type:"JSXClosingFragment"})}function Vt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,z(e,t),n.push(Tt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Tt(e,t,o,r,s){return 138===e.token?function(e,t,n,o,r){z(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return oe(e,t,n,o,r,s)}(e,t,o,r,s):2162700===e.token?Bt(e,t,0,0,o,r,s):8456258===e.token?St(e,t,0,o,r,s):void n(e,0)}function Rt(e,t,n,o,r){X(e);let s=Ot(e,t,n,o,r);if(21===e.token)return Ut(e,t,s,n,o,r);for(;Z(e,t,67108877);)X(e),s=Nt(e,t,s,n,o,r);return s}function Nt(e,t,n,o,r,s){return oe(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function It(e,t,o,r,s){if(2162700===e.token)return function(e,t,n,o,r){G(e,t),W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,o,r,s);X(e);let a=null,i=Ot(e,t,o,r,s);if(21===e.token&&(i=Ut(e,t,i,o,r,s)),1077936157===e.token){const o=M(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(o){case 134283267:a=nt(e,t);break;case 8456258:a=St(e,t,1,r,s,i);break;case 2162700:a=Bt(e,t,1,1,r,s,i);break;default:n(e,148)}}return oe(e,t,o,r,s,{type:"JSXAttribute",value:a,name:i})}function Ut(e,t,n,o,r,s){W(e,t,21);return oe(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function Bt(e,t,o,r,s,a,i){G(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&n(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,oe(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ie(e,t,1,0,0,l,c,u),o?W(e,t,1074790415):z(e,t),oe(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Ot(e,t,n,o,r){const{tokenValue:s}=e;return G(e,t),oe(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var Gt=Object.freeze({__proto__:null});const Ft="4.2.0";function jt(e,t){return ge(e,t,0)}function Ht(e,t){return ge(e,t,3072)}function Jt(e,t){return ge(e,t,0)}export{Gt as ESTree,Jt as parse,Ht as parseModule,jt as parseScript,Ft as version}; diff --git a/node_modules/meriyah/dist/meriyah.iife.js b/node_modules/meriyah/dist/meriyah.iife.js new file mode 100644 index 0000000..5a57cde --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.iife.js @@ -0,0 +1,8795 @@ +var meriyah = (function (exports) { + 'use strict'; + + const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' + }; + class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } + } + function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); + } + function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); + } + function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); + } + function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + var version$1 = "4.2.0"; + + const version = version$1; + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + exports.ESTree = estree; + exports.parse = parse; + exports.parseModule = parseModule; + exports.parseScript = parseScript; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + + return exports; + +}({})); diff --git a/node_modules/meriyah/dist/meriyah.iife.min.js b/node_modules/meriyah/dist/meriyah.iife.min.js new file mode 100644 index 0000000..a029293 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.iife.min.js @@ -0,0 +1 @@ +var meriyah=function(e){"use strict";const t={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class n extends SyntaxError{constructor(e,n,o,r,...s){const a="["+n+":"+o+"]: "+t[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=e,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function o(e,t,...o){throw new n(e.index,e.line,e.column,t,...o)}function r(e){throw new n(e.index,e.line,e.column,e.type,e.params)}function s(e,t,o,r,...s){throw new n(e,t,o,r,...s)}function a(e,t,o,r){throw new n(e,t,o,r)}const i=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function l(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function c(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&i[0+(t>>>5)]>>>t)&&o(e,18,p(t)),e.index++,e.column++,1)}function u(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function d(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function f(e){return e<65?e-48:e-65+10&15}const k=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function b(e){return e<=127?g[e]:1&i[34816+(e>>>5)]>>>e}function h(e){return e<=127?m[e]:1&i[0+(e>>>5)]>>>e||8204===e||8205===e}const P=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function y(e,t,n,r,s,a,i,l){return 2048&r&&o(e,0),x(e,t,n,s,a,i,l)}function x(e,t,n,o,r,s,a){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return o(e,32)}const s=e.index-1;let a=0,i=e.currentChar;const{index:c}=e;for(;h(i);){switch(i){case 103:2&a&&o(e,34,"g"),a|=2;break;case 105:1&a&&o(e,34,"i"),a|=1;break;case 109:4&a&&o(e,34,"m"),a|=4;break;case 117:16&a&&o(e,34,"g"),a|=16;break;case 121:8&a&&o(e,34,"y"),a|=8;break;case 115:12&a&&o(e,34,"s"),a|=12;break;default:o(e,33)}i=l(e)}const u=e.source.slice(c,e.index),d=e.source.slice(n,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(t){o(e,32)}}(e,d,u),65540}function q(e,t,n){const{index:r}=e;let s="",a=l(e),i=e.index;for(;0==(8&k[a]);){if(a===n)return s+=e.source.slice(i,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(i,e.index),a=l(e),a<127||8232===a||8233===a){const n=C(e,t,a);n>=0?s+=p(n):E(e,n,0)}else s+=p(a);i=e.index+1}e.index>=e.end&&o(e,14),a=l(e)}o(e,14)}function C(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&k[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&k[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&k[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&k[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),f(t)<<12|f(n)<<8|f(o)<<4|f(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function E(e,t,n){switch(t){case-1:return;case-2:o(e,n?2:1);case-3:o(e,13);case-4:o(e,6);case-5:o(e,101)}}function A(e,t){const{index:n}=e;let r=67174409,s="",a=l(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){l(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=l(e),a>126)s+=p(a);else{const n=C(e,1024|t,a);if(n>=0)s+=p(n);else{if(-1!==n&&65536&t){s=void 0,a=S(e,a),a<0&&(r=67174408);break}E(e,n,1)}}else e.index=e.end&&o(e,15),a=l(e)}return l(e),e.tokenValue=s,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function S(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&o(e,15),t=l(e)}return t}function D(e,t){return e.index>=e.end&&o(e,0),e.index--,e.column--,A(e,t)}function L(e,t,n){let r=e.currentChar,s=0,i=9,c=64&n?0:1,u=0,d=0;if(64&n)s="."+V(e,r),r=e.currentChar,110===r&&o(e,11);else{if(48===r)if(r=l(e),120==(32|r)){for(n=136,r=l(e);4160&k[r];)95!==r?(d=1,s=16*s+f(r),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?19:147)}else if(111==(32|r)){for(n=132,r=l(e);4128&k[r];)95!==r?(d=1,s=8*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(98==(32|r)){for(n=130,r=l(e);4224&k[r];)95!==r?(d=1,s=2*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(32&k[r])for(1024&t&&o(e,1),n=1;16&k[r];){if(512&k[r]){n=32,c=0;break}s=8*s+(r-48),r=l(e)}else 512&k[r]?(1024&t&&o(e,1),e.flags|=64,n=32):95===r&&o(e,0);if(48&n){if(c){for(;i>=0&&4112&k[r];)95!==r?(d=0,s=10*s+(r-48),r=l(e),--i):(r=l(e),(95===r||32&n)&&a(e.index,e.line,e.index+1,146),d=1);if(d&&a(e.index,e.line,e.index+1,147),i>=0&&!b(r)&&46!==r)return e.tokenValue=s,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}s+=V(e,r),r=e.currentChar,46===r&&(95===l(e)&&o(e,0),n=64,s+="."+V(e,e.currentChar),r=e.currentChar)}}const p=e.index;let g=0;if(110===r&&128&n)g=1,r=l(e);else if(101==(32|r)){r=l(e),256&k[r]&&(r=l(e));const{index:t}=e;(16&k[r])<1&&o(e,10),s+=e.source.substring(p,t)+V(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],R=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function N(e,t,n){for(;m[l(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?R[e.tokenValue]||208897:U(e,t,0,n)}function I(e,t){const n=O(e);return h(n)||o(e,4),e.tokenValue=p(n),U(e,t,1,4&k[n])}function U(e,t,n,r){let s=e.index;for(;e.index=2&&a<=11){const o=R[e.tokenValue];return void 0===o?208897:n?1024&t?209008===o&&0==(4196352&t)?o:36972===o||36864==(36864&o)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&o)?o:241773===o?1073741824&t?143483:2097152&t?121:o:209007===o&&1073741824&t?143483:36864==(36864&o)||209008===o&&0==(4194304&t)?o:121:o}return 208897}function B(e){return b(l(e))||o(e,93),131}function O(e){return 117!==e.source.charCodeAt(e.index+1)&&o(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&k[l(e)];)t=t<<4|f(e.currentChar),t>1114111&&a(n,e.line,e.index+1,101);return 125!==e.currentChar&&a(n,e.line,e.index-1,6),l(e),t}0==(64&k[n])&&o(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&k[r])&&o(e,6);const s=e.source.charCodeAt(e.index+2);0==(64&k[s])&&o(e,6);const i=e.source.charCodeAt(e.index+3);0==(64&k[i])&&o(e,6);return t=f(n)<<12|f(r)<<8|f(s)<<4|f(i),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function F(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=j(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function j(e,t,n){const r=0===e.index,s=e.source;let a=e.index,c=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(l(e),4194340):42!==t?8457014:61!==l(e)?8457273:(l(e),4194337)}case 8455497:return 61!==l(e)?8455497:(l(e),4194343);case 25233970:{l(e);const t=e.currentChar;return 43===t?(l(e),33619995):61===t?(l(e),4194338):25233970}case 25233971:{l(e);const i=e.currentChar;if(45===i){if(l(e),(1&n||r)&&62===e.currentChar){0==(256&t)&&o(e,108),l(e),n=y(e,s,n,t,3,a,c,f),a=e.tokenPos,c=e.linePos,f=e.colPos;continue}return 33619996}return 61===i?(l(e),4194339):25233971}case 8457016:if(l(e),e.index=48&&k<=57)return L(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return l(e),67108991}return 22}}}else{if((8232^g)<=1){n=-5&n|1,d(e);continue}if(55296==(64512&g)||0!=(1&i[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&i[0+(g>>>5)]>>>g)&&o(e,18,p(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",U(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){l(e);continue}o(e,18,p(g))}}var k;return 1048576}const H={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},J={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function M(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in J&&(e=J[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return H[e.slice(1,-1)]||e}))}function z(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&k[e.currentChar]?function(e,t){const n=e.currentChar;let r=l(e);const s=e.index;for(;r!==n;)e.index>=e.end&&o(e,14),r=l(e);r!==n&&o(e,14);e.tokenValue=e.source.slice(s,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):j(e,t,0),e.token}function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:l(e),47===e.currentChar?(l(e),e.token=25):e.token=8456258;break;case 2162700:l(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&W(e,t,209008);K(e,32768|t,67174411),n&&(n=le(n,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=nt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&o(e,64):f=re(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?o(e,64):(k=!1,e.assignable=1,f=ze(e,t,f,0,0,m,b,h),274549===e.token&&o(e,111))):(F(e,t),f=re(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===g?l&&o(e,79):2097152==(2097152&g)?(f=2162700===g?ut(e,t,void 0,1,0,0,2,32,m,b,h):at(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&o(e,60),e.assignable=16&p?2:1,f=ze(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Me(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&o(e,77,l?"await":"of"),Q(e,f),F(e,32768|t),c=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ee(e,t,n,r),await:l})}2&e.assignable&&o(e,77,"in"),Q(e,f),F(e,32768|t),l&&o(e,79),c=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForInStatement",body:Ee(e,t,n,r),left:f,right:c})}l&&o(e,79);k||(8&p&&1077936157!==e.token&&o(e,77,"loop"),f=Ge(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Be(e,t,0,e.tokenPos,e.linePos,e.colPos,f));K(e,32768|t,1074790417),1074790417!==e.token&&(u=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,1074790417),16!==e.token&&(d=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,16);const P=Ee(e,t,n,r);return re(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,n,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){F(e,32768|t);const i=Ee(e,t,n,o);K(e,t,20580),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|t,16),W(e,t,1074790417),re(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,n,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){F(e,t),K(e,32768|t,67174411);const i=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const l=Ee(e,t,n,o);return re(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,n,s,i,l,c);case 86112:return function(e,t,n,r,s,a,i){F(e,t),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,t,16),K(e,t,2162700);const c=[];let u=0;n&&(n=le(n,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(W(e,32768|t,20558)?l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(K(e,32768|t,20563),u&&o(e,86),u=1),K(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(he(e,4096|t,n,2,{$:r}));c.push(re(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return K(e,32768|t,1074790415),re(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,n,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return F(e,32768|t),re(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return ye(e,t,n?le(n,2):n,s,i,l,c);case 86114:return function(e,t,n,r,s){F(e,32768|t),1&e.flags&&o(e,87);const a=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t),re(e,t,n,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,n,r,s,a){F(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,0)||o(e,134,r)}else(135168&t)<1&&o(e,66);return $(e,32768|t),re(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,n,r,s,a){(131072&t)<1&&o(e,65);F(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,1)||o(e,134,r)}return $(e,32768|t),re(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,n,r,s,a,i){F(e,32768|t);const l=n?le(n,32):void 0,c=ye(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=W(e,32768|t,20559)?function(e,t,n,r,s,a,i){let l=null,c=n;W(e,t,67174411)&&(n&&(n=le(n,4)),l=At(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?o(e,83):1077936157===e.token&&o(e,84),K(e,32768|t,16),n&&(c=le(n,64)));const u=ye(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,n,r,u,d,p):null;let k=null;if(20568===e.token){F(e,32768|t);k=ye(e,t,l?le(n,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||o(e,85);return re(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,n,s,i,l,c);case 20581:return function(e,t,n,r,s,a,i){F(e,t),1024&t&&o(e,88);K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const c=Pe(e,t,n,2,r,0,e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,n,s,i,l,c);case 20562:return function(e,t,n,o,r){return F(e,32768|t),$(e,32768|t),re(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return we(e,t,n,r,s,0,i,l,c);case 20559:o(e,156);case 20568:o(e,157);case 86106:o(e,1024&t?73:(256&t)<1?75:74);case 86096:o(e,76);default:return function(e,t,n,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=nt(e,t,0),1024&t&&o(e,82),69271571===e.token&&o(e,81);break;default:p=_e(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return ve(e,t,n,r,s,u,p,d,a,i,l,c);p=ze(e,t,p,0,0,i,l,c),p=Ge(e,t,0,0,i,l,c,p),18===e.token&&(p=Be(e,t,0,i,l,c,p));return xe(e,t,p,i,l,c)}(e,t,n,r,s,a,i,l,c)}}function ye(e,t,n,o,r,s,a){const i=[];for(K(e,32768|t,2162700);1074790415!==e.token;)i.push(he(e,t,n,2,{$:o}));return K(e,32768|t,1074790415),re(e,t,r,s,a,{type:"BlockStatement",body:i})}function xe(e,t,n,o,r,s){return $(e,32768|t),re(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function ve(e,t,n,r,s,a,i,l,c,u,d,p){ee(e,t,0,l,1),function(e,t,n){let r=t;for(;r;)r["$"+n]&&o(e,132,n),r=r.$;t["$"+n]=1}(e,s,a),F(e,32768|t);return re(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?rt(e,t,le(n,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):Pe(e,t,n,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function we(e,t,n,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=nt(e,t,0);if(21===e.token)return ve(e,t,n,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||o(e,119),rt(e,t,n,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=ht(e,t,1,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),xe(e,t,p,i,l,c)}return 67174411===e.token?p=Pt(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ge(e,t,u,1),p=ft(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=ze(e,t,p,0,0,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),p=Ge(e,t,0,0,i,l,c,p),e.assignable=1,xe(e,t,p,i,l,c)}function qe(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=ze(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Ge(e,t,0,0,r,s,a,n),18===e.token&&(n=Be(e,t,0,r,s,a,n))),$(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function Ce(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?Pe(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):rt(e,t,le(n,2),0,0,0,0,r,s,a)}function Ee(e,t,n,o){return Pe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ae(e,t,n,o,r,s,a,i){F(e,t);const l=De(e,t,n,o,r);return $(e,32768|t),re(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Se(e,t,n,o,r,s,a){F(e,t);const i=De(e,t,n,4,o);return $(e,32768|t),re(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,r,s){let a=1;const i=[Le(e,t,n,r,s)];for(;W(e,t,18);)a++,i.push(Le(e,t,n,r,s));return a>1&&32&s&&262144&e.token&&o(e,58,T[255&e.token]),i}function Le(e,t,n,r,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=At(e,t,n,r,a,l,c,u);return 1077936157===e.token?(F(e,32768|t),d=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&r)<1||1024&t))&&s(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&r||(2097152&i)>0)&&262144!=(262144&e.token)&&o(e,56,16&r?"const":"destructuring"),re(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ve(e,t,n){return ke(t,e.token)||o(e,114),537079808==(537079808&e.token)&&o(e,115),n&&ue(e,t,n,e.tokenValue,8,0),nt(e,t,0)}function Te(e,t,n){const{tokenPos:o,linePos:r,colPos:a}=e;return F(e,t),K(e,t,77934),134217728==(134217728&e.token)&&s(o,e.line,e.index,28,T[255&e.token]),re(e,t,o,r,a,{type:"ImportNamespaceSpecifier",local:Ve(e,t,n)})}function Re(e,t,n,r){for(F(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=nt(e,t,0);let d;W(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?o(e,103):ee(e,t,16,e.token,0),a=e.tokenValue,d=nt(e,t,0)):(ee(e,t,16,s,0),d=u),n&&ue(e,t,n,a,8,0),r.push(re(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&K(e,t,18)}return K(e,t,1074790415),r}function Ne(e,t,n,o,r){let s=$e(e,t,re(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=ze(e,t,s,0,0,n,o,r),s=Ge(e,t,0,0,n,o,r,s),xe(e,t,s,n,o,r)}function Ie(e,t,n,o,r){let s=Ye(e,t,0,n,o,r);return s=ze(e,t,s,0,0,n,o,r),xe(e,t,s,n,o,r)}function Ue(e,t,n,o,r,s,a,i){let l=_e(e,t,2,0,n,o,r,1,s,a,i);return l=ze(e,t,l,r,0,s,a,i),Ge(e,t,r,0,s,a,i,l)}function Be(e,t,n,o,r,s,a){const i=[a];for(;W(e,32768|t,18);)i.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Oe(e,t,n,o,r,s,a){const i=Ue(e,t,o,0,n,r,s,a);return 18===e.token?Be(e,t,n,r,s,a,i):i}function Ge(e,t,n,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&o(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&Q(e,l),F(e,32768|t);const u=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:T[255&c],right:u})}return 8454144==(8454144&c)&&(l=He(e,t,n,s,a,i,4,c,l)),W(e,32768|t,22)&&(l=je(e,t,l,s,a,i)),l}function Fe(e,t,n,o,r,s,a,i){const{token:l}=e;F(e,32768|t);const c=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:T[255&l],right:c}),e.assignable=2,i}function je(e,t,n,o,r,s){const a=Ue(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,21),e.assignable=1;const i=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function He(e,t,n,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&o(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)F(e,32768|t),c=re(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:He(e,t,n,e.tokenPos,e.linePos,e.colPos,p,d,Me(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:T[255&d]});return 1077936157===e.token&&o(e,24),c}function Je(e,t,n,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;K(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:r,token:a}=e,i=ot(e,t);Y(e,n,o,r)&&(t|=1024,128&e.flags&&s(e.index,e.line,e.tokenPos,63),64&e.flags&&s(e.index,e.line,e.tokenPos,8)),p.push(qe(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&o(e,115),36864==(36864&i)&&o(e,38)),512&e.flags&&o(e,115),256&e.flags&&o(e,114)),64&t&&n&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&r(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(he(e,t,n,4,{}));return K(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&o(e,24),re(e,t,c,u,d,{type:"BlockStatement",body:p})}function Me(e,t,n,o,r,s,a,i){return ze(e,t,_e(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function ze(e,t,n,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)n=function(e,t,n,r,s,a){2&e.assignable&&o(e,52);const{token:i}=e;return F(e,t),e.assignable=2,re(e,t,r,s,a,{type:"UpdateExpression",argument:n,operator:T[255&i],prefix:!1})}(e,t,n,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:F(e,1073741824|t),e.assignable=1;n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!1,property:Xe(e,t)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),F(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Oe(e,t,r,1,s,c,u);K(e,t,20),e.assignable=1,n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!0,property:d}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const s=tt(e,t,r);e.assignable=2,n=re(e,t,a,i,l,{type:"CallExpression",callee:n,arguments:s}),o&&(e.flags|=2048);break}case 67108991:F(e,t),e.flags|=2048,e.assignable=2,n=function(e,t,n,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){F(e,32768|t);const{tokenPos:o,linePos:l,colPos:c}=e,u=Oe(e,t,0,1,o,l,c);K(e,t,20),e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const o=tt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"CallExpression",callee:n,arguments:o,optional:!0})}else{(143360&e.token)<1&&o(e,154);const l=nt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,n,a,i,l);break;default:2048==(2048&e.flags)&&o(e,160),e.assignable=2,n=re(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Ke(e,65536|t):We(e,t,e.tokenPos,e.linePos,e.colPos)})}n=ze(e,t,n,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,a,i,l,{type:"ChainExpression",expression:n})),n}function Xe(e,t){return(143360&e.token)<1&&131!==e.token&&o(e,154),1&t&&131===e.token?Ct(e,t,e.tokenPos,e.linePos,e.colPos):nt(e,t,0)}function _e(e,t,n,r,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,r,a,i,l){if(r&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&o(e,0),8388608&t&&s(e.index,e.line,e.index,29),F(e,32768|t);const r=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&o(e,31),e.assignable=2,re(e,t,a,i,l,{type:"AwaitExpression",argument:r})}return 2048&t&&o(e,95),pt(e,t,a,i,l)}(e,t,r,l,u,d,p);case 241773:return function(e,t,n,r,s,a,i){if(n&&(e.destructible|=256),2097152&t){F(e,32768|t),8388608&t&&o(e,30),r||o(e,24),22===e.token&&o(e,120);let n=null,l=!1;return(1&e.flags)<1&&(l=W(e,32768|t,8457014),(77824&e.token||l)&&(n=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,s,a,i,{type:"YieldExpression",argument:n,delegate:l})}return 1024&t&&o(e,94,"yield"),pt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,n,r,s,a,i,l,c,u){const{token:d}=e,p=nt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return st(e,t,1,n,l,c,u);if(143360==(143360&e.token))return r||o(e,0),ht(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ge(e,t,d,1),i&&o(e,48),ft(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:Pt(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,r,u,d,p)}const{token:f,tokenValue:k}=e,g=nt(e,65536|t,i);return 10===e.token?(c||o(e,0),ge(e,t,f,1),ft(e,t,k,g,r,a,0,u,d,p)):(16384&t&&537079928===f&&o(e,126),241739===f&&(1024&t&&o(e,109),24&n&&o(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ot(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,r,s,a,i){n&&o(e,53),r||o(e,0);const{token:l}=e;F(e,32768|t);const c=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&o(e,52),e.assignable=2,re(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:T[255&l],prefix:!0})}(e,t,r,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,r,s,a,i){n||o(e,0);const l=e.token;F(e,32768|t);const c=Me(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&o(e,31),1024&t&&16863278===l&&("Identifier"===c.type?o(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&o(e,123)),e.assignable=2,re(e,t,r,s,a,{type:"UnaryExpression",operator:T[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return st(e,t,0,l,u,d,p);case 2162700:return function(e,t,n,r,s,a,i){const l=ut(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,n,r,s,a,i){const l=at(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,n,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;F(e,1073774592|t);const p=64&t?le({parent:void 0,type:2},1024):void 0;if(W(e,t=134217728^(134217728|t),16))return kt(e,t,p,[],n,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:n,tokenPos:a,linePos:i,colPos:l}=e;if(143360&n)p&&ue(e,t,p,e.tokenValue,1,0),f=_e(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&n)&&36864!=(36864&n)||(b=1):(1077936157===e.token?b=1:k|=16,f=ze(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Ge(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&n)){if(14===n){f=lt(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&o(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ue(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;W(e,32768|t,18);)g.push(Ue(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return K(e,t,16),e.destructible=k,f}f=2162700===n?ut(e,1073741824|t,p,0,1,0,r,s,a,i,l):at(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&o(e,118),f=ze(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Ge(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!W(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));K(e,t,16),16&k&&8&k&&o(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&o(e,46),4196352&t&&128&k&&o(e,29),2098176&t&&256&k&&o(e,30),b&&(e.flags|=128),kt(e,t,p,m?g:[f],n,0,a,i,l);8&k&&o(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?re(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=T[255&e.token],a=86023===e.token?null:"true"===s;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,n,r,s,a){let i=null,l=null;const c=xt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);F(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&o(e,114),537079808==(537079808&e.token)&&o(e,115),i=nt(e,t,0));let u=t;W(e,32768|t,20567)?(l=Me(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=wt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,n,r,s){switch(F(e,t),e.token){case 67108991:o(e,161);case 67174411:(524288&t)<1&&o(e,26),16384&t&&o(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&o(e,27),16384&t&&o(e,143),e.assignable=1;break;default:o(e,28,"super")}return re(e,t,n,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return We(e,t,u,d,p);case 67174408:return Ke(e,t);case 86109:return function(e,t,n,r,s,a){const i=nt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(W(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=nt(e,t,0);return re(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);o(e,91)}e.assignable=2,16842752==(16842752&e.token)&&o(e,62,T[255&e.token]);const d=_e(e,t,2,1,0,0,n,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&o(e,162);const p=bt(e,t,d,n,l,c,u);return e.assignable=2,re(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?tt(e,t,n):[]})}(e,t,l,u,d,p);case 134283389:return Ze(e,t,u,d,p);case 131:return Ct(e,t,u,d,p);case 86108:return function(e,t,n,r,s,a,i){let l=nt(e,t,0);if(67108877===e.token)return $e(e,t,l,s,a,i);n&&o(e,137);return l=Ye(e,t,r,s,a,i),e.assignable=2,ze(e,t,l,r,0,s,a,i)}(e,t,r,l,u,d,p);case 8456258:if(16&t)return Dt(e,t,1,u,d,p);default:if(ke(t,e.token))return pt(e,t,u,d,p);o(e,28,T[255&e.token])}}function $e(e,t,n,r,s,a){return 0==(2048&t)&&o(e,163),F(e,t),143495!==e.token&&"meta"!==e.tokenValue&&o(e,28,T[255&e.token]),e.assignable=2,re(e,t,r,s,a,{type:"MetaProperty",meta:n,property:nt(e,t,0)})}function Ye(e,t,n,r,s,a){K(e,32768|t,67174411),14===e.token&&o(e,138);const i=Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,16),re(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ze(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function We(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;K(e,t,67174409);return re(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Qe(e,t,s,a,i,l,c,!0)]})}function Ke(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408);const l=[Qe(e,t,n,r,s,a,i,!1)],c=[Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&o(e,80);67174409!==(e.token=D(e,t));){const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408),l.push(Qe(e,t,n,r,s,a,i,!1)),c.push(Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&o(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;K(e,t,67174409),l.push(Qe(e,t,n,o,r,s,a,!0))}return re(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Qe(e,t,n,o,r,s,a,i){const l=re(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function et(e,t,n,o,r){K(e,32768|(t=134217728^(134217728|t)),14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,o,r,{type:"SpreadElement",argument:s})}function tt(e,t,n){F(e,32768|t);const o=[];if(16===e.token)return F(e,t),o;for(;16!==e.token&&(14===e.token?o.push(et(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(F(e,32768|t),16!==e.token););return K(e,t,16),o}function nt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return F(e,t),re(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function ot(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ze(e,t,r,s,a):(F(e,t),e.assignable=2,re(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function rt(e,t,n,r,s,a,i,l,c,u){F(e,32768|t);const d=s?Z(e,t,8457014):0;let p,f=null,k=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&o(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&s?de(e,t,n,e.tokenValue,s):ue(e,t,n,e.tokenValue,s,r),k=le(k,256),a&&2&a&&pe(e,e.tokenValue)),p=e.token,143360&e.token?f=nt(e,t,0):o(e,28,T[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),n&&(k=le(k,512));return re(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:mt(e,8388608|t,k,0,1),body:Je(e,143360^(143360|t),n?le(k,128):k,8,p,n?k.scopeError:void 0),async:1===i,generator:1===d})}function st(e,t,n,o,r,s,a){F(e,32768|t);const i=Z(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|l,e.token),d&&(d=le(d,256)),c=e.token,u=nt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=le(d,512));const p=mt(e,8388608|t,d,o,1),f=Je(e,-134377473&t,d?le(d,128):d,0,c,void 0);return e.assignable=2,re(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function at(e,t,n,r,s,a,i,l,c,u,d){F(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(W(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=_e(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&o(e,24),F(e,32768|t),n&&ce(e,t,n,g,i,l);const c=Ue(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=re(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:n&&ce(e,t,n,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=ze(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Ge(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ut(e,t,n,0,s,a,i,l,u,d,k):at(e,t,n,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?o(e,68):(r=ze(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Ge(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=lt(e,t,n,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&o(e,28,T[255&e.token])):(r=Me(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Ge(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!W(e,32768|t,18))break;if(20===e.token)break}K(e,t,20);const k=re(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?it(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function it(e,t,n,r,s,a,i,l,c){1077936157!==e.token&&o(e,24),F(e,32768|t),16&n&&o(e,24),s||Q(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ue(e,t,1,1,r,u,d,p);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function lt(e,t,n,r,s,a,i,l,c,u,d,p){F(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=_e(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=ze(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&o(e,68),k|=16,f=Ge(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?n&&ce(e,t,n,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)o(e,39);else{if(!(2097152&g)){k|=32,f=Me(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===n&&n!==r&&18!==n?(2&e.assignable&&o(e,24),f=Ge(e,t,l,c,s,a,i,f),k|=16):(18===n?k|=16:n!==r&&(f=Ge(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&o(e,155),re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ut(e,t,n,1,l,c,s,a,b,h,P):at(e,t,n,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&o(e,68),f=ze(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Ge(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=He(e,t,1,b,h,P,4,g,f)),W(e,32768|t,22)&&(f=je(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),W(e,32768|t,1077936157)){16&k&&o(e,24),Q(e,f);const n=Ue(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=re(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:n}:{type:"AssignmentExpression",left:f,operator:"=",right:n}),k=16}else k|=16;return e.destructible=k,re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function ct(e,t,n,s,a,i,l){const c=(64&n)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&n)<<18|100925440)?le({parent:void 0,type:2},512):void 0;const d=function(e,t,n,s,a,i){K(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&o(e,35,"Setter","one",""),F(e,t),l;256&s&&o(e,35,"Getter","no","s");512&s&&14===e.token&&o(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=St(e,t,n,1|s,0,d,p,f)):(2162700===e.token?r=ut(e,t,n,1,i,1,a,0,d,p,f):69271571===e.token?r=at(e,t,n,1,i,1,a,0,d,p,f):14===e.token&&(r=lt(e,t,n,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&o(e,47)),1077936157===e.token){F(e,32768|t),u=1;r=re(e,t,d,p,f,{type:"AssignmentPattern",left:r,right:Ue(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(r),!W(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&o(e,35,"Setter","one","");n&&void 0!==n.scopeError&&r(n.scopeError);u&&(e.flags|=128);return K(e,t,16),l}(e,8388608|t,u,n,1,s);u&&(u=le(u,128));return re(e,t,a,i,l,{type:"FunctionExpression",params:d,body:Je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function ut(e,t,n,r,a,i,l,c,u,d,p){F(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:r,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===r)f.push(lt(e,t,n,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=nt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&r)?k|=16:ee(e,t,l,r,0),n&&ce(e,t,n,u,l,c),W(e,32768|t,1077936157)){k|=8;const n=Ue(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=re(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===r?128:0)|(121===r?16:0),b=-2147483648&t?Object.assign({},P):P;else if(W(e,32768|t,21)){const{tokenPos:s,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const o=e.token,r=e.tokenValue;k|=121===y?16:0,b=_e(e,t,l,0,1,0,a,1,s,d,p);const{token:u}=e;b=ze(e,t,b,a,0,s,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:n&&143360==(143360&o)&&ce(e,t,n,r,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:n&&ce(e,t,n,r,l,c),b=Ge(e,t,a,i,s,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,u,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,d,p):ut(e,t,n,0,a,i,l,c,s,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?o(e,68):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,s,d,p,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,a,1,s,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==r&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,d,p,b))))}else 69271571===e.token?(k|=16,209007===r&&(h|=16),h|=2|(12402===r?256:12403===r?512:1),P=dt(e,t,a),k|=e.assignable,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===r&&o(e,92),209007===r&&(1&e.flags&&o(e,128),h|=16),P=nt(e,t,0),h|=12402===r?256:12403===r?512:1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===r||12403===r?o(e,40):143483===r&&o(e,92),F(e,t),h|=9|(209007===r?16:0),143360&e.token?P=nt(e,t,0):134217728==(134217728&e.token)?P=ot(e,t):69271571===e.token?(h|=2,P=dt(e,t,a),k|=e.assignable):o(e,28,T[255&e.token]),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===r&&(h|=16),h|=12402===r?256:12403===r?512:1,k|=16,P=ot(e,t),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,129);else if(134217728==(134217728&e.token))if(P=ot(e,t),21===e.token){K(e,32768|t,21);const{tokenPos:o,linePos:s,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=_e(e,t,l,0,1,0,a,1,o,s,d);const{token:r,tokenValue:u}=e;b=ze(e,t,b,a,0,o,s,d),18===e.token||1074790415===e.token?1077936157===r||1074790415===r||18===r?2&e.assignable?k|=16:n&&ce(e,t,n,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Ge(e,t,a,i,o,s,d,b)):(k|=16,b=Ge(e,t,a,i,o,s,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,o,s,d):ut(e,t,n,0,a,i,l,c,o,s,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=ze(e,t,b,a,0,o,s,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,o,s,d,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,o,s,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,o,s,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,o,s,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,o,s,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,o,s,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):o(e,130);else if(69271571===e.token)if(P=dt(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){F(e,32768|t);const{tokenPos:s,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=_e(e,t,l,0,1,0,a,1,s,u,d);const{token:o}=e;b=ze(e,t,b,a,0,s,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===o?0:32,b=Fe(e,t,a,i,s,u,d,b)):18===e.token||1074790415===e.token?1077936157===o||1074790415===o||18===o?2&e.assignable?k|=16:n&&143360==(143360&f)&&ce(e,t,n,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Ge(e,t,a,i,s,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,u,d):ut(e,t,n,0,a,i,l,c,s,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?o(e,59):(b=ze(e,t,b,a,0,s,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Fe(e,t,a,i,s,u,d,b)):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,u,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,u,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,s,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,u,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,d,p),k=16):o(e,41);else if(8457014===r)if(K(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:r}=e;P=nt(e,t,0),h|=1,67174411===e.token?(k|=16,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):s(r,o,r,209007===n?43:12402===n||12403===e.token?42:44,T[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=ot(e,t),h|=1,b=ct(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=dt(e,t,a),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,122);else o(e,28,T[255&r]);k|=128&e.destructible?128:0,e.destructible=k,f.push(re(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;F(e,t)}K(e,t,1074790415),g>1&&(k|=64);const m=re(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!r&&4194304&e.token?it(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function dt(e,t,n){F(e,32768|t);const o=Ue(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,20),o}function pt(e,t,n,o,r){const{tokenValue:s}=e,a=nt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=ae(e,t,s)),e.flags=128^(128|e.flags),gt(e,t,i,[a],0,n,o,r)}return a}function ft(e,t,n,r,s,a,i,l,c,u){a||o(e,54),s&&o(e,48),e.flags&=-129;return gt(e,t,64&t?ae(e,t,n):void 0,[r],i,l,c,u)}function kt(e,t,n,r,s,a,i,l,c){s||o(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&o(e,106),1074790415===e.token&&o(e,105),W(e,t,1074790417)?a>0&&o(e,116):d.push(qt(e,t,r,n,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return K(e,8&a?32768|t:t,1074790415),re(e,t,l,c,u,{type:"ClassBody",body:d})}function qt(e,t,n,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=nt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return qt(e,t,n,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=16|(Z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=dt(e,r,l)):134217728==(134217728&k)?f=ot(e,t):8457014===k?(p|=8,F(e,t)):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=nt(e,t,0),67174411!==e.token&&o(e,28,T[255&e.token])):o(e,28,T[255&e.token]);if(792&p&&(143360&e.token?f=nt(e,t,0):134217728==(134217728&e.token)?f=ot(e,t):69271571===e.token?(p|=2,f=dt(e,t,0)):122===e.token?f=nt(e,t,0):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b)):o(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?o(e,125):(32&p)<1&&67174411===e.token&&(920&p?o(e,50,"accessor"):(524288&t)<1&&(32&e.flags?o(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&o(e,49)),1&t&&67174411!==e.token)return Et(e,t,f,p,a,g,m,b);const h=ct(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return re(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Ct(e,t,n,r,s){F(e,t);const{tokenValue:a}=e;return"constructor"===a&&o(e,124),F(e,t),re(e,t,n,r,s,{type:"PrivateIdentifier",name:a})}function Et(e,t,n,r,s,a,i,l){let c=null;if(8&r&&o(e,0),1077936157===e.token){F(e,32768|t);const{tokenPos:n,linePos:r,colPos:s}=e;537079928===e.token&&o(e,115),c=_e(e,16384|t,2,0,1,0,0,1,n,r,s),1073741824!=(1073741824&e.token)&&(c=ze(e,16384|t,c,0,0,n,r,s),c=Ge(e,16384|t,0,0,n,r,s,c),18===e.token&&(c=Be(e,t,0,a,i,l,c)))}return re(e,t,a,i,l,{type:"PropertyDefinition",key:n,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function At(e,t,n,r,s,a,i,l){if(143360&e.token)return St(e,t,n,r,s,a,i,l);2097152!=(2097152&e.token)&&o(e,28,T[255&e.token]);const c=69271571===e.token?at(e,t,n,1,0,1,r,s,a,i,l):ut(e,t,n,1,0,1,r,s,a,i,l);return 16&e.destructible&&o(e,47),32&e.destructible&&o(e,47),c}function St(e,t,n,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?o(e,115):36864==(36864&u)&&o(e,114)),20480==(20480&u)&&o(e,99),2099200&t&&241773===u&&o(e,30),241739===u&&24&r&&o(e,97),4196352&t&&209008===u&&o(e,95),F(e,t),n&&ce(e,t,n,c,r,s),re(e,t,a,i,l,{type:"Identifier",name:c})}function Dt(e,t,n,r,s,a){if(F(e,t),8456259===e.token)return re(e,t,r,s,a,{type:"JSXFragment",openingFragment:Lt(e,t,r,s,a),children:Tt(e,t),closingFragment:Vt(e,t,n,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,n,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&o(e,0);const i=Nt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Ut(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?X(e,t):(K(e,t,8457016),n?K(e,t,8456259):X(e,t));return re(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,n,r,s,a);if(!c.selfClosing){l=Tt(e,t),i=function(e,t,n,o,r,s){K(e,t,25);const a=Nt(e,t,e.tokenPos,e.linePos,e.colPos);n?K(e,t,8456259):e.token=X(e,t);return re(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const r=se(i.name);se(c.name)!==r&&o(e,149,r)}return re(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Lt(e,t,n,o,r){return X(e,t),re(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Vt(e,t,n,o,r,s){return K(e,t,25),K(e,t,8456259),re(e,t,o,r,s,{type:"JSXClosingFragment"})}function Tt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Rt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Rt(e,t,n,r,s){return 138===e.token?function(e,t,n,o,r){X(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return re(e,t,n,o,r,s)}(e,t,n,r,s):2162700===e.token?Ot(e,t,0,0,n,r,s):8456258===e.token?Dt(e,t,0,n,r,s):void o(e,0)}function Nt(e,t,n,o,r){_(e);let s=Gt(e,t,n,o,r);if(21===e.token)return Bt(e,t,s,n,o,r);for(;W(e,t,67108877);)_(e),s=It(e,t,s,n,o,r);return s}function It(e,t,n,o,r,s){return re(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ut(e,t,n,r,s){if(2162700===e.token)return function(e,t,n,o,r){F(e,t),K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,n,r,s);_(e);let a=null,i=Gt(e,t,n,r,s);if(21===e.token&&(i=Bt(e,t,i,n,r,s)),1077936157===e.token){const n=z(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(n){case 134283267:a=ot(e,t);break;case 8456258:a=Dt(e,t,1,r,s,i);break;case 2162700:a=Ot(e,t,1,1,r,s,i);break;default:o(e,148)}}return re(e,t,n,r,s,{type:"JSXAttribute",value:a,name:i})}function Bt(e,t,n,o,r,s){K(e,t,21);return re(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ot(e,t,n,r,s,a,i){F(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&o(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ue(e,t,1,0,0,l,c,u),n?K(e,t,1074790415):X(e,t),re(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Gt(e,t,n,o,r){const{tokenValue:s}=e;return F(e,t),re(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var Ft=Object.freeze({__proto__:null});return e.ESTree=Ft,e.parse=function(e,t){return me(e,t,0)},e.parseModule=function(e,t){return me(e,t,3072)},e.parseScript=function(e,t){return me(e,t,0)},e.version="4.2.0",Object.defineProperty(e,"__esModule",{value:!0}),e}({}); diff --git a/node_modules/meriyah/dist/meriyah.min.cjs b/node_modules/meriyah/dist/meriyah.min.cjs new file mode 100644 index 0000000..de9bf7a --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.min.cjs @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class t extends SyntaxError{constructor(t,n,o,r,...s){const a="["+n+":"+o+"]: "+e[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=t,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function n(e,n,...o){throw new t(e.index,e.line,e.column,n,...o)}function o(e){throw new t(e.index,e.line,e.column,e.type,e.params)}function r(e,n,o,r,...s){throw new t(e,n,o,r,...s)}function s(e,n,o,r){throw new t(e,n,o,r)}const a=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function i(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function l(e,t){if(55296!=(64512&t))return 0;const o=e.source.charCodeAt(e.index+1);return 56320!=(64512&o)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&o),0==(1&a[0+(t>>>5)]>>>t)&&n(e,18,d(t)),e.index++,e.column++,1)}function c(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function u(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function d(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function p(e){return e<65?e-48:e-65+10&15}const f=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function m(e){return e<=127?k[e]:1&a[34816+(e>>>5)]>>>e}function b(e){return e<=127?g[e]:1&a[0+(e>>>5)]>>>e||8204===e||8205===e}const h=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function P(e,t,o,r,s,a,i,l){return 2048&r&&n(e,0),y(e,t,o,s,a,i,l)}function y(e,t,n,o,r,s,a){const{index:l}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return n(e,32)}const s=e.index-1;let a=0,l=e.currentChar;const{index:c}=e;for(;b(l);){switch(l){case 103:2&a&&n(e,34,"g"),a|=2;break;case 105:1&a&&n(e,34,"i"),a|=1;break;case 109:4&a&&n(e,34,"m"),a|=4;break;case 117:16&a&&n(e,34,"g"),a|=16;break;case 121:8&a&&n(e,34,"y"),a|=8;break;case 115:12&a&&n(e,34,"s"),a|=12;break;default:n(e,33)}l=i(e)}const u=e.source.slice(c,e.index),d=e.source.slice(o,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,o){try{return new RegExp(t,o)}catch(t){n(e,32)}}(e,d,u),65540}function w(e,t,o){const{index:r}=e;let s="",a=i(e),l=e.index;for(;0==(8&f[a]);){if(a===o)return s+=e.source.slice(l,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(l,e.index),a=i(e),a<127||8232===a||8233===a){const n=q(e,t,a);n>=0?s+=d(n):C(e,n,0)}else s+=d(a);l=e.index+1}e.index>=e.end&&n(e,14),a=i(e)}n(e,14)}function q(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&f[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&f[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&f[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&f[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),p(t)<<12|p(n)<<8|p(o)<<4|p(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function C(e,t,o){switch(t){case-1:return;case-2:n(e,o?2:1);case-3:n(e,13);case-4:n(e,6);case-5:n(e,101)}}function E(e,t){const{index:o}=e;let r=67174409,s="",a=i(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){i(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=i(e),a>126)s+=d(a);else{const n=q(e,1024|t,a);if(n>=0)s+=d(n);else{if(-1!==n&&65536&t){s=void 0,a=A(e,a),a<0&&(r=67174408);break}C(e,n,1)}}else e.index=e.end&&n(e,15),a=i(e)}return i(e),e.tokenValue=s,e.tokenRaw=e.source.slice(o+1,e.index-(67174409===r?1:2)),r}function A(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&n(e,15),t=i(e)}return t}function S(e,t){return e.index>=e.end&&n(e,0),e.index--,e.column--,E(e,t)}function D(e,t,o){let r=e.currentChar,a=0,l=9,c=64&o?0:1,u=0,d=0;if(64&o)a="."+L(e,r),r=e.currentChar,110===r&&n(e,11);else{if(48===r)if(r=i(e),120==(32|r)){for(o=136,r=i(e);4160&f[r];)95!==r?(d=1,a=16*a+p(r),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?19:147)}else if(111==(32|r)){for(o=132,r=i(e);4128&f[r];)95!==r?(d=1,a=8*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(98==(32|r)){for(o=130,r=i(e);4224&f[r];)95!==r?(d=1,a=2*a+(r-48),u++,r=i(e)):(d||n(e,146),d=0,r=i(e));(u<1||!d)&&n(e,u<1?0:147)}else if(32&f[r])for(1024&t&&n(e,1),o=1;16&f[r];){if(512&f[r]){o=32,c=0;break}a=8*a+(r-48),r=i(e)}else 512&f[r]?(1024&t&&n(e,1),e.flags|=64,o=32):95===r&&n(e,0);if(48&o){if(c){for(;l>=0&&4112&f[r];)95!==r?(d=0,a=10*a+(r-48),r=i(e),--l):(r=i(e),(95===r||32&o)&&s(e.index,e.line,e.index+1,146),d=1);if(d&&s(e.index,e.line,e.index+1,147),l>=0&&!m(r)&&46!==r)return e.tokenValue=a,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}a+=L(e,r),r=e.currentChar,46===r&&(95===i(e)&&n(e,0),o=64,a+="."+L(e,e.currentChar),r=e.currentChar)}}const k=e.index;let g=0;if(110===r&&128&o)g=1,r=i(e);else if(101==(32|r)){r=i(e),256&f[r]&&(r=i(e));const{index:t}=e;(16&f[r])<1&&n(e,10),a+=e.source.substring(k,t)+L(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],T=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function R(e,t,n){for(;g[i(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?T[e.tokenValue]||208897:I(e,t,0,n)}function N(e,t){const o=B(e);return b(o)||n(e,4),e.tokenValue=d(o),I(e,t,1,4&f[o])}function I(e,t,o,r){let s=e.index;for(;e.index=2&&a<=11){const n=T[e.tokenValue];return void 0===n?208897:o?1024&t?209008===n&&0==(4196352&t)?n:36972===n||36864==(36864&n)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&n)?n:241773===n?1073741824&t?143483:2097152&t?121:n:209007===n&&1073741824&t?143483:36864==(36864&n)||209008===n&&0==(4194304&t)?n:121:n}return 208897}function U(e){return m(i(e))||n(e,93),131}function B(e){return 117!==e.source.charCodeAt(e.index+1)&&n(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const o=e.currentChar;if(123===o){const n=e.index-2;for(;64&f[i(e)];)t=t<<4|p(e.currentChar),t>1114111&&s(n,e.line,e.index+1,101);return 125!==e.currentChar&&s(n,e.line,e.index-1,6),i(e),t}0==(64&f[o])&&n(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&f[r])&&n(e,6);const a=e.source.charCodeAt(e.index+2);0==(64&f[a])&&n(e,6);const l=e.source.charCodeAt(e.index+3);0==(64&f[l])&&n(e,6);return t=p(o)<<12|p(r)<<8|p(a)<<4|p(l),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const O=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function G(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=F(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function F(e,t,o){const r=0===e.index,s=e.source;let l=e.index,p=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(i(e),4194340):42!==t?8457014:61!==i(e)?8457273:(i(e),4194337)}case 8455497:return 61!==i(e)?8455497:(i(e),4194343);case 25233970:{i(e);const t=e.currentChar;return 43===t?(i(e),33619995):61===t?(i(e),4194338):25233970}case 25233971:{i(e);const a=e.currentChar;if(45===a){if(i(e),(1&o||r)&&62===e.currentChar){0==(256&t)&&n(e,108),i(e),o=P(e,s,o,t,3,l,p,f),l=e.tokenPos,p=e.linePos,f=e.colPos;continue}return 33619996}return 61===a?(i(e),4194339):25233971}case 8457016:if(i(e),e.index=48&&k<=57)return D(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return i(e),67108991}return 22}}}else{if((8232^g)<=1){o=-5&o|1,u(e);continue}if(55296==(64512&g)||0!=(1&a[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&a[0+(g>>>5)]>>>g)&&n(e,18,d(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",I(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){i(e);continue}n(e,18,d(g))}}var k;return 1048576}const j={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},H={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function J(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in H&&(e=H[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return j[e.slice(1,-1)]||e}))}function M(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&f[e.currentChar]?function(e,t){const o=e.currentChar;let r=i(e);const s=e.index;for(;r!==o;)e.index>=e.end&&n(e,14),r=i(e);r!==o&&n(e,14);e.tokenValue=e.source.slice(s,e.index),i(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):F(e,t,0),e.token}function z(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(O[e.source.charCodeAt(e.index)]){case 8456258:i(e),47===e.currentChar?(i(e),e.token=25):e.token=8456258;break;case 2162700:i(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&Z(e,t,209008);W(e,32768|t,67174411),o&&(o=ie(o,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=tt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&n(e,64):f=oe(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:Se(e,134217728|t,o,8,32)}),e.assignable=1):1024&t?n(e,64):(k=!1,e.assignable=1,f=Me(e,t,f,0,0,m,b,h),274549===e.token&&n(e,111))):(G(e,t),f=oe(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:Se(e,134217728|t,o,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Se(e,134217728|t,o,16,32)}),e.assignable=1):1074790417===g?l&&n(e,79):2097152==(2097152&g)?(f=2162700===g?ct(e,t,void 0,1,0,0,2,32,m,b,h):st(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&n(e,60),e.assignable=16&p?2:1,f=Me(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Je(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&n(e,77,l?"await":"of"),K(e,f),G(e,32768|t),c=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ce(e,t,o,r),await:l})}2&e.assignable&&n(e,77,"in"),K(e,f),G(e,32768|t),l&&n(e,79),c=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos),W(e,32768|t,16);return oe(e,t,s,a,i,{type:"ForInStatement",body:Ce(e,t,o,r),left:f,right:c})}l&&n(e,79);k||(8&p&&1077936157!==e.token&&n(e,77,"loop"),f=Oe(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Ue(e,t,0,e.tokenPos,e.linePos,e.colPos,f));W(e,32768|t,1074790417),1074790417!==e.token&&(u=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,1074790417),16!==e.token&&(d=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos));W(e,32768|t,16);const P=Ce(e,t,o,r);return oe(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,o,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){G(e,32768|t);const i=Ce(e,t,n,o);W(e,t,20580),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return W(e,32768|t,16),Z(e,t,1074790417),oe(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,o,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){G(e,t),W(e,32768|t,67174411);const i=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const l=Ce(e,t,n,o);return oe(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,o,s,i,l,c);case 86112:return function(e,t,o,r,s,a,i){G(e,t),W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,t,16),W(e,t,2162700);const c=[];let u=0;o&&(o=ie(o,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(Z(e,32768|t,20558)?l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(W(e,32768|t,20563),u&&n(e,86),u=1),W(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(be(e,4096|t,o,2,{$:r}));c.push(oe(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return W(e,32768|t,1074790415),oe(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,o,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return G(e,32768|t),oe(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return Pe(e,t,o?ie(o,2):o,s,i,l,c);case 86114:return function(e,t,o,r,s){G(e,32768|t),1&e.flags&&n(e,87);const a=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return _(e,32768|t),oe(e,t,o,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,o,r,s,a){G(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,0)||n(e,134,r)}else(135168&t)<1&&n(e,66);return _(e,32768|t),oe(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,o,r,s,a){(131072&t)<1&&n(e,65);G(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=tt(e,32768|t,0),ne(e,o,r,1)||n(e,134,r)}return _(e,32768|t),oe(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,o,r,s,a,i){G(e,32768|t);const l=o?ie(o,32):void 0,c=Pe(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=Z(e,32768|t,20559)?function(e,t,o,r,s,a,i){let l=null,c=o;Z(e,t,67174411)&&(o&&(o=ie(o,4)),l=Et(e,t,o,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?n(e,83):1077936157===e.token&&n(e,84),W(e,32768|t,16),o&&(c=ie(o,64)));const u=Pe(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,o,r,u,d,p):null;let k=null;if(20568===e.token){G(e,32768|t);k=Pe(e,t,l?ie(o,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||n(e,85);return oe(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,o,s,i,l,c);case 20581:return function(e,t,o,r,s,a,i){G(e,t),1024&t&&n(e,88);W(e,32768|t,67174411);const l=Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,16);const c=he(e,t,o,2,r,0,e.tokenPos,e.linePos,e.colPos);return oe(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,o,s,i,l,c);case 20562:return function(e,t,n,o,r){return G(e,32768|t),_(e,32768|t),oe(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return ve(e,t,o,r,s,0,i,l,c);case 20559:n(e,156);case 20568:n(e,157);case 86106:n(e,1024&t?73:(256&t)<1?75:74);case 86096:n(e,76);default:return function(e,t,o,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=tt(e,t,0),1024&t&&n(e,82),69271571===e.token&&n(e,81);break;default:p=Xe(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return xe(e,t,o,r,s,u,p,d,a,i,l,c);p=Me(e,t,p,0,0,i,l,c),p=Oe(e,t,0,0,i,l,c,p),18===e.token&&(p=Ue(e,t,0,i,l,c,p));return ye(e,t,p,i,l,c)}(e,t,o,r,s,a,i,l,c)}}function Pe(e,t,n,o,r,s,a){const i=[];for(W(e,32768|t,2162700);1074790415!==e.token;)i.push(be(e,t,n,2,{$:o}));return W(e,32768|t,1074790415),oe(e,t,r,s,a,{type:"BlockStatement",body:i})}function ye(e,t,n,o,r,s){return _(e,32768|t),oe(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function xe(e,t,o,r,s,a,i,l,c,u,d,p){Q(e,t,0,l,1),function(e,t,o){let r=t;for(;r;)r["$"+o]&&n(e,132,o),r=r.$;t["$"+o]=1}(e,s,a),G(e,32768|t);return oe(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?ot(e,t,ie(o,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):he(e,t,o,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function ve(e,t,o,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=tt(e,t,0);if(21===e.token)return xe(e,t,o,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||n(e,119),ot(e,t,o,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=bt(e,t,1,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),ye(e,t,p,i,l,c)}return 67174411===e.token?p=ht(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ke(e,t,u,1),p=pt(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=Me(e,t,p,0,0,i,l,c),18===e.token&&(p=Ue(e,t,0,i,l,c,p)),p=Oe(e,t,0,0,i,l,c,p),e.assignable=1,ye(e,t,p,i,l,c)}function we(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=Me(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Oe(e,t,0,0,r,s,a,n),18===e.token&&(n=Ue(e,t,0,r,s,a,n))),_(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):oe(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function qe(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?he(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):ot(e,t,ie(n,2),0,0,0,0,r,s,a)}function Ce(e,t,n,o){return he(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ee(e,t,n,o,r,s,a,i){G(e,t);const l=Se(e,t,n,o,r);return _(e,32768|t),oe(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Ae(e,t,n,o,r,s,a){G(e,t);const i=Se(e,t,n,4,o);return _(e,32768|t),oe(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function Se(e,t,o,r,s){let a=1;const i=[De(e,t,o,r,s)];for(;Z(e,t,18);)a++,i.push(De(e,t,o,r,s));return a>1&&32&s&&262144&e.token&&n(e,58,V[255&e.token]),i}function De(e,t,o,s,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=Et(e,t,o,s,a,l,c,u);return 1077936157===e.token?(G(e,32768|t),d=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&s)<1||1024&t))&&r(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&s||(2097152&i)>0)&&262144!=(262144&e.token)&&n(e,56,16&s?"const":"destructuring"),oe(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Le(e,t,o){return fe(t,e.token)||n(e,114),537079808==(537079808&e.token)&&n(e,115),o&&ce(e,t,o,e.tokenValue,8,0),tt(e,t,0)}function Ve(e,t,n){const{tokenPos:o,linePos:s,colPos:a}=e;return G(e,t),W(e,t,77934),134217728==(134217728&e.token)&&r(o,e.line,e.index,28,V[255&e.token]),oe(e,t,o,s,a,{type:"ImportNamespaceSpecifier",local:Le(e,t,n)})}function Te(e,t,o,r){for(G(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=tt(e,t,0);let d;Z(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?n(e,103):Q(e,t,16,e.token,0),a=e.tokenValue,d=tt(e,t,0)):(Q(e,t,16,s,0),d=u),o&&ce(e,t,o,a,8,0),r.push(oe(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&W(e,t,18)}return W(e,t,1074790415),r}function Re(e,t,n,o,r){let s=_e(e,t,oe(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=Me(e,t,s,0,0,n,o,r),s=Oe(e,t,0,0,n,o,r,s),ye(e,t,s,n,o,r)}function Ne(e,t,n,o,r){let s=$e(e,t,0,n,o,r);return s=Me(e,t,s,0,0,n,o,r),ye(e,t,s,n,o,r)}function Ie(e,t,n,o,r,s,a,i){let l=Xe(e,t,2,0,n,o,r,1,s,a,i);return l=Me(e,t,l,r,0,s,a,i),Oe(e,t,r,0,s,a,i,l)}function Ue(e,t,n,o,r,s,a){const i=[a];for(;Z(e,32768|t,18);)i.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return oe(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Be(e,t,n,o,r,s,a){const i=Ie(e,t,o,0,n,r,s,a);return 18===e.token?Ue(e,t,n,r,s,a,i):i}function Oe(e,t,o,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&n(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&K(e,l),G(e,32768|t);const u=Ie(e,t,1,1,o,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:V[255&c],right:u})}return 8454144==(8454144&c)&&(l=je(e,t,o,s,a,i,4,c,l)),Z(e,32768|t,22)&&(l=Fe(e,t,l,s,a,i)),l}function Ge(e,t,n,o,r,s,a,i){const{token:l}=e;G(e,32768|t);const c=Ie(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=oe(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:V[255&l],right:c}),e.assignable=2,i}function Fe(e,t,n,o,r,s){const a=Ie(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);W(e,32768|t,21),e.assignable=1;const i=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,oe(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function je(e,t,o,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&n(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)G(e,32768|t),c=oe(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:je(e,t,o,e.tokenPos,e.linePos,e.colPos,p,d,Je(e,t,0,o,1,e.tokenPos,e.linePos,e.colPos)),operator:V[255&d]});return 1077936157===e.token&&n(e,24),c}function He(e,t,s,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;W(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:s,token:a}=e,i=nt(e,t);$(e,n,o,s)&&(t|=1024,128&e.flags&&r(e.index,e.line,e.tokenPos,63),64&e.flags&&r(e.index,e.line,e.tokenPos,8)),p.push(we(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&n(e,115),36864==(36864&i)&&n(e,38)),512&e.flags&&n(e,115),256&e.flags&&n(e,114)),64&t&&s&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&o(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(be(e,t,s,4,{}));return W(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&n(e,24),oe(e,t,c,u,d,{type:"BlockStatement",body:p})}function Je(e,t,n,o,r,s,a,i){return Me(e,t,Xe(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function Me(e,t,o,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)o=function(e,t,o,r,s,a){2&e.assignable&&n(e,52);const{token:i}=e;return G(e,t),e.assignable=2,oe(e,t,r,s,a,{type:"UpdateExpression",argument:o,operator:V[255&i],prefix:!1})}(e,t,o,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:G(e,1073741824|t),e.assignable=1;o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!1,property:ze(e,t)});break;case 69271571:{let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags)),G(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Be(e,t,r,1,s,c,u);W(e,t,20),e.assignable=1,o=oe(e,t,a,i,l,{type:"MemberExpression",object:o,computed:!0,property:d}),n&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),o;let n=!1;2048==(2048&e.flags)&&(n=!0,e.flags=2048^(2048|e.flags));const s=et(e,t,r);e.assignable=2,o=oe(e,t,a,i,l,{type:"CallExpression",callee:o,arguments:s}),n&&(e.flags|=2048);break}case 67108991:G(e,t),e.flags|=2048,e.assignable=2,o=function(e,t,o,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){G(e,32768|t);const{tokenPos:n,linePos:l,colPos:c}=e,u=Be(e,t,0,1,n,l,c);W(e,t,20),e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const n=et(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"CallExpression",callee:o,arguments:n,optional:!0})}else{(143360&e.token)<1&&n(e,154);const l=tt(e,t,0);e.assignable=2,i=oe(e,t,r,s,a,{type:"MemberExpression",object:o,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,o,a,i,l);break;default:2048==(2048&e.flags)&&n(e,160),e.assignable=2,o=oe(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:o,quasi:67174408===e.token?We(e,65536|t):Ze(e,t,e.tokenPos,e.linePos,e.colPos)})}o=Me(e,t,o,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),o=oe(e,t,a,i,l,{type:"ChainExpression",expression:o})),o}function ze(e,t){return(143360&e.token)<1&&131!==e.token&&n(e,154),1&t&&131===e.token?qt(e,t,e.tokenPos,e.linePos,e.colPos):tt(e,t,0)}function Xe(e,t,o,s,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,o,s,a,i,l){if(s&&(e.destructible|=128),4194304&t||2048&t&&8192&t){o&&n(e,0),8388608&t&&r(e.index,e.line,e.index,29),G(e,32768|t);const s=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&n(e,31),e.assignable=2,oe(e,t,a,i,l,{type:"AwaitExpression",argument:s})}return 2048&t&&n(e,95),dt(e,t,a,i,l)}(e,t,s,l,u,d,p);case 241773:return function(e,t,o,r,s,a,i){if(o&&(e.destructible|=256),2097152&t){G(e,32768|t),8388608&t&&n(e,30),r||n(e,24),22===e.token&&n(e,120);let o=null,l=!1;return(1&e.flags)<1&&(l=Z(e,32768|t,8457014),(77824&e.token||l)&&(o=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,oe(e,t,s,a,i,{type:"YieldExpression",argument:o,delegate:l})}return 1024&t&&n(e,94,"yield"),dt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,o,r,s,a,i,l,c,u){const{token:d}=e,p=tt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return rt(e,t,1,o,l,c,u);if(143360==(143360&e.token))return r||n(e,0),bt(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ke(e,t,d,1),i&&n(e,48),pt(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:ht(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,s,u,d,p)}const{token:f,tokenValue:k}=e,g=tt(e,65536|t,i);return 10===e.token?(c||n(e,0),ke(e,t,f,1),pt(e,t,k,g,s,a,0,u,d,p)):(16384&t&&537079928===f&&n(e,126),241739===f&&(1024&t&&n(e,109),24&o&&n(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return nt(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,o,r,s,a,i){o&&n(e,53),r||n(e,0);const{token:l}=e;G(e,32768|t);const c=Je(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&n(e,52),e.assignable=2,oe(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:V[255&l],prefix:!0})}(e,t,s,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,o,r,s,a,i){o||n(e,0);const l=e.token;G(e,32768|t);const c=Je(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&n(e,31),1024&t&&16863278===l&&("Identifier"===c.type?n(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&n(e,123)),e.assignable=2,oe(e,t,r,s,a,{type:"UnaryExpression",operator:V[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return rt(e,t,0,l,u,d,p);case 2162700:return function(e,t,o,r,s,a,i){const l=ct(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,o,r,s,a,i){const l=st(e,t,void 0,o,r,0,2,0,s,a,i);256&t&&64&e.destructible&&n(e,60);8&e.destructible&&n(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,o,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;G(e,1073774592|t);const p=64&t?ie({parent:void 0,type:2},1024):void 0;if(Z(e,t=134217728^(134217728|t),16))return ft(e,t,p,[],o,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:o,tokenPos:a,linePos:i,colPos:l}=e;if(143360&o)p&&ce(e,t,p,e.tokenValue,1,0),f=Xe(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&o)&&36864!=(36864&o)||(b=1):(1077936157===e.token?b=1:k|=16,f=Me(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Oe(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&o)){if(14===o){f=it(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&n(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ie(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;Z(e,32768|t,18);)g.push(Ie(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return W(e,t,16),e.destructible=k,f}f=2162700===o?ct(e,1073741824|t,p,0,1,0,r,s,a,i,l):st(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&n(e,118),f=Me(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Oe(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!Z(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=oe(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));W(e,t,16),16&k&&8&k&&n(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&n(e,46),4196352&t&&128&k&&n(e,29),2098176&t&&256&k&&n(e,30),b&&(e.flags|=128),ft(e,t,p,m?g:[f],o,0,a,i,l);8&k&&n(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?oe(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=V[255&e.token],a=86023===e.token?null:"true"===s;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,o,r,s,a){let i=null,l=null;const c=yt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);G(e,t),4096&e.token&&20567!==e.token&&(te(e,t,e.token)&&n(e,114),537079808==(537079808&e.token)&&n(e,115),i=tt(e,t,0));let u=t;Z(e,32768|t,20567)?(l=Je(e,t,0,o,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=vt(e,u,t,void 0,2,0,o);return e.assignable=2,oe(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,o,r,s){switch(G(e,t),e.token){case 67108991:n(e,161);case 67174411:(524288&t)<1&&n(e,26),16384&t&&n(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&n(e,27),16384&t&&n(e,143),e.assignable=1;break;default:n(e,28,"super")}return oe(e,t,o,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return Ze(e,t,u,d,p);case 67174408:return We(e,t);case 86109:return function(e,t,o,r,s,a){const i=tt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(Z(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=tt(e,t,0);return oe(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);n(e,91)}e.assignable=2,16842752==(16842752&e.token)&&n(e,62,V[255&e.token]);const d=Xe(e,t,2,1,0,0,o,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&n(e,162);const p=mt(e,t,d,o,l,c,u);return e.assignable=2,oe(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?et(e,t,o):[]})}(e,t,l,u,d,p);case 134283389:return Ye(e,t,u,d,p);case 131:return qt(e,t,u,d,p);case 86108:return function(e,t,o,r,s,a,i){let l=tt(e,t,0);if(67108877===e.token)return _e(e,t,l,s,a,i);o&&n(e,137);return l=$e(e,t,r,s,a,i),e.assignable=2,Me(e,t,l,r,0,s,a,i)}(e,t,s,l,u,d,p);case 8456258:if(16&t)return St(e,t,1,u,d,p);default:if(fe(t,e.token))return dt(e,t,u,d,p);n(e,28,V[255&e.token])}}function _e(e,t,o,r,s,a){return 0==(2048&t)&&n(e,163),G(e,t),143495!==e.token&&"meta"!==e.tokenValue&&n(e,28,V[255&e.token]),e.assignable=2,oe(e,t,r,s,a,{type:"MetaProperty",meta:o,property:tt(e,t,0)})}function $e(e,t,o,r,s,a){W(e,32768|t,67174411),14===e.token&&n(e,138);const i=Ie(e,t,1,0,o,e.tokenPos,e.linePos,e.colPos);return W(e,t,16),oe(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ye(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return G(e,t),e.assignable=2,oe(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function Ze(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;W(e,t,67174409);return oe(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Ke(e,t,s,a,i,l,c,!0)]})}function We(e,t){t=134217728^(134217728|t);const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408);const l=[Ke(e,t,o,r,s,a,i,!1)],c=[Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&n(e,80);67174409!==(e.token=S(e,t));){const{tokenValue:o,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;W(e,32768|t,67174408),l.push(Ke(e,t,o,r,s,a,i,!1)),c.push(Be(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&n(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;W(e,t,67174409),l.push(Ke(e,t,n,o,r,s,a,!0))}return oe(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Ke(e,t,n,o,r,s,a,i){const l=oe(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function Qe(e,t,n,o,r){W(e,32768|(t=134217728^(134217728|t)),14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,oe(e,t,n,o,r,{type:"SpreadElement",argument:s})}function et(e,t,n){G(e,32768|t);const o=[];if(16===e.token)return G(e,t),o;for(;16!==e.token&&(14===e.token?o.push(Qe(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ie(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(G(e,32768|t),16!==e.token););return W(e,t,16),o}function tt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return G(e,t),oe(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function nt(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ye(e,t,r,s,a):(G(e,t),e.assignable=2,oe(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function ot(e,t,o,r,s,a,i,l,c,u){G(e,32768|t);const d=s?Y(e,t,8457014):0;let p,f=null,k=o?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&n(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;ee(e,t|(3072&t)<<11,e.token),o&&(4&s?ue(e,t,o,e.tokenValue,s):ce(e,t,o,e.tokenValue,s,r),k=ie(k,256),a&&2&a&&de(e,e.tokenValue)),p=e.token,143360&e.token?f=tt(e,t,0):n(e,28,V[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),o&&(k=ie(k,512));return oe(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:gt(e,8388608|t,k,0,1),body:He(e,143360^(143360|t),o?ie(k,128):k,8,p,o?k.scopeError:void 0),async:1===i,generator:1===d})}function rt(e,t,n,o,r,s,a){G(e,32768|t);const i=Y(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(ee(e,32243712^(32243712|t)|l,e.token),d&&(d=ie(d,256)),c=e.token,u=tt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=ie(d,512));const p=gt(e,8388608|t,d,o,1),f=He(e,-134377473&t,d?ie(d,128):d,0,c,void 0);return e.assignable=2,oe(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function st(e,t,o,r,s,a,i,l,c,u,d){G(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(Z(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=Xe(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&n(e,24),G(e,32768|t),o&&le(e,t,o,g,i,l);const c=Ie(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=oe(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:o&&le(e,t,o,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=Me(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Oe(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ct(e,t,o,0,s,a,i,l,u,d,k):st(e,t,o,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?n(e,68):(r=Me(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Oe(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=it(e,t,o,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&n(e,28,V[255&e.token])):(r=Je(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Oe(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!Z(e,32768|t,18))break;if(20===e.token)break}W(e,t,20);const k=oe(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?at(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function at(e,t,o,r,s,a,i,l,c){1077936157!==e.token&&n(e,24),G(e,32768|t),16&o&&n(e,24),s||K(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ie(e,t,1,1,r,u,d,p);return e.destructible=72^(72|o)|(128&e.destructible?128:0)|(256&e.destructible?256:0),oe(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function it(e,t,o,r,s,a,i,l,c,u,d,p){G(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=Xe(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=Me(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&n(e,68),k|=16,f=Oe(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?o&&le(e,t,o,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)n(e,39);else{if(!(2097152&g)){k|=32,f=Je(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:o,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===o&&o!==r&&18!==o?(2&e.assignable&&n(e,24),f=Oe(e,t,l,c,s,a,i,f),k|=16):(18===o?k|=16:o!==r&&(f=Oe(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&n(e,155),oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ct(e,t,o,1,l,c,s,a,b,h,P):st(e,t,o,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&n(e,68),f=Me(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Oe(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=je(e,t,1,b,h,P,4,g,f)),Z(e,32768|t,22)&&(f=Fe(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),Z(e,32768|t,1077936157)){16&k&&n(e,24),K(e,f);const o=Ie(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=oe(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:o}:{type:"AssignmentExpression",left:f,operator:"=",right:o}),k=16}else k|=16;return e.destructible=k,oe(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function lt(e,t,r,s,a,i,l){const c=(64&r)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&r)<<18|100925440)?ie({parent:void 0,type:2},512):void 0;const d=function(e,t,r,s,a,i){W(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&n(e,35,"Setter","one",""),G(e,t),l;256&s&&n(e,35,"Getter","no","s");512&s&&14===e.token&&n(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let o=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),o=At(e,t,r,1|s,0,d,p,f)):(2162700===e.token?o=ct(e,t,r,1,i,1,a,0,d,p,f):69271571===e.token?o=st(e,t,r,1,i,1,a,0,d,p,f):14===e.token&&(o=it(e,t,r,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&n(e,47)),1077936157===e.token){G(e,32768|t),u=1;o=oe(e,t,d,p,f,{type:"AssignmentPattern",left:o,right:Ie(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(o),!Z(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&n(e,35,"Setter","one","");r&&void 0!==r.scopeError&&o(r.scopeError);u&&(e.flags|=128);return W(e,t,16),l}(e,8388608|t,u,r,1,s);u&&(u=ie(u,128));return oe(e,t,a,i,l,{type:"FunctionExpression",params:d,body:He(e,-134230017&t,u,0,void 0,void 0),async:(16&r)>0,generator:(8&r)>0,id:null})}function ct(e,t,o,s,a,i,l,c,u,d,p){G(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:s,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===s)f.push(it(e,t,o,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=tt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&s)?k|=16:Q(e,t,l,s,0),o&&le(e,t,o,u,l,c),Z(e,32768|t,1077936157)){k|=8;const n=Ie(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=oe(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===s?128:0)|(121===s?16:0),b=-2147483648&t?Object.assign({},P):P;else if(Z(e,32768|t,21)){const{tokenPos:r,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const n=e.token,s=e.tokenValue;k|=121===y?16:0,b=Xe(e,t,l,0,1,0,a,1,r,d,p);const{token:u}=e;b=Me(e,t,b,a,0,r,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:o&&143360==(143360&n)&&le(e,t,o,s,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:o&&le(e,t,o,s,l,c),b=Oe(e,t,a,i,r,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,u,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,d,p):ct(e,t,o,0,a,i,l,c,r,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?n(e,68):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,r,d,p,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,d,p,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,d,p)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,a,1,r,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==s&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,d,p,b))))}else 69271571===e.token?(k|=16,209007===s&&(h|=16),h|=2|(12402===s?256:12403===s?512:1),P=ut(e,t,a),k|=e.assignable,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===s&&n(e,92),209007===s&&(1&e.flags&&n(e,128),h|=16),P=tt(e,t,0),h|=12402===s?256:12403===s?512:1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===s||12403===s?n(e,40):143483===s&&n(e,92),G(e,t),h|=9|(209007===s?16:0),143360&e.token?P=tt(e,t,0):134217728==(134217728&e.token)?P=nt(e,t):69271571===e.token?(h|=2,P=ut(e,t,a),k|=e.assignable):n(e,28,V[255&e.token]),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===s&&(h|=16),h|=12402===s?256:12403===s?512:1,k|=16,P=nt(e,t),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,129);else if(134217728==(134217728&e.token))if(P=nt(e,t),21===e.token){W(e,32768|t,21);const{tokenPos:n,linePos:r,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=Xe(e,t,l,0,1,0,a,1,n,r,d);const{token:s,tokenValue:u}=e;b=Me(e,t,b,a,0,n,r,d),18===e.token||1074790415===e.token?1077936157===s||1074790415===s||18===s?2&e.assignable?k|=16:o&&le(e,t,o,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Oe(e,t,a,i,n,r,d,b)):(k|=16,b=Oe(e,t,a,i,n,r,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,n,r,d):ct(e,t,o,0,a,i,l,c,n,r,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=Me(e,t,b,a,0,n,r,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Ge(e,t,a,i,n,r,d,b):(8454144==(8454144&e.token)&&(b=je(e,t,1,n,r,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,n,r,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,n,r,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,n,r,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,n,r,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):n(e,130);else if(69271571===e.token)if(P=ut(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){G(e,32768|t);const{tokenPos:r,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=Xe(e,t,l,0,1,0,a,1,r,u,d);const{token:n}=e;b=Me(e,t,b,a,0,r,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===n?0:32,b=Ge(e,t,a,i,r,u,d,b)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?k|=16:o&&143360==(143360&f)&&le(e,t,o,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Oe(e,t,a,i,r,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?st(e,t,o,0,a,i,l,c,r,u,d):ct(e,t,o,0,a,i,l,c,r,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?n(e,59):(b=Me(e,t,b,a,0,r,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,r,u,d,b)):(8454144==(8454144&e.token)&&(b=je(e,t,1,r,u,d,4,s,b)),Z(e,32768|t,22)&&(b=Fe(e,t,b,r,u,d)),k|=2&e.assignable?16:32))):(b=Je(e,t,1,0,1,r,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=Me(e,t,b,a,0,r,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Oe(e,t,a,i,r,u,d,b))))}else 67174411===e.token?(h|=1,b=lt(e,t,h,a,e.tokenPos,d,p),k=16):n(e,41);else if(8457014===s)if(W(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:s}=e;P=tt(e,t,0),h|=1,67174411===e.token?(k|=16,b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):r(s,o,s,209007===n?43:12402===n||12403===e.token?42:44,V[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=nt(e,t),h|=1,b=lt(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=ut(e,t,a),b=lt(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):n(e,122);else n(e,28,V[255&s]);k|=128&e.destructible?128:0,e.destructible=k,f.push(oe(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;G(e,t)}W(e,t,1074790415),g>1&&(k|=64);const m=oe(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!s&&4194304&e.token?at(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function ut(e,t,n){G(e,32768|t);const o=Ie(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return W(e,t,20),o}function dt(e,t,n,o,r){const{tokenValue:s}=e,a=tt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=se(e,t,s)),e.flags=128^(128|e.flags),kt(e,t,i,[a],0,n,o,r)}return a}function pt(e,t,o,r,s,a,i,l,c,u){a||n(e,54),s&&n(e,48),e.flags&=-129;return kt(e,t,64&t?se(e,t,o):void 0,[r],i,l,c,u)}function ft(e,t,o,r,s,a,i,l,c){s||n(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&n(e,106),1074790415===e.token&&n(e,105),Z(e,t,1074790417)?a>0&&n(e,116):d.push(wt(e,t,r,o,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return W(e,8&a?32768|t:t,1074790415),oe(e,t,l,c,u,{type:"ClassBody",body:d})}function wt(e,t,o,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=tt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return wt(e,t,o,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=16|(Y(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Ct(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=ut(e,r,l)):134217728==(134217728&k)?f=nt(e,t):8457014===k?(p|=8,G(e,t)):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=tt(e,t,0),67174411!==e.token&&n(e,28,V[255&e.token])):n(e,28,V[255&e.token]);if(792&p&&(143360&e.token?f=tt(e,t,0):134217728==(134217728&e.token)?f=nt(e,t):69271571===e.token?(p|=2,f=ut(e,t,0)):122===e.token?f=tt(e,t,0):1&t&&131===e.token?(p|=4096,f=qt(e,t,g,m,b)):n(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?n(e,125):(32&p)<1&&67174411===e.token&&(920&p?n(e,50,"accessor"):(524288&t)<1&&(32&e.flags?n(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&n(e,49)),1&t&&67174411!==e.token)return Ct(e,t,f,p,a,g,m,b);const h=lt(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return oe(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function qt(e,t,o,r,s){G(e,t);const{tokenValue:a}=e;return"constructor"===a&&n(e,124),G(e,t),oe(e,t,o,r,s,{type:"PrivateIdentifier",name:a})}function Ct(e,t,o,r,s,a,i,l){let c=null;if(8&r&&n(e,0),1077936157===e.token){G(e,32768|t);const{tokenPos:o,linePos:r,colPos:s}=e;537079928===e.token&&n(e,115),c=Xe(e,16384|t,2,0,1,0,0,1,o,r,s),1073741824!=(1073741824&e.token)&&(c=Me(e,16384|t,c,0,0,o,r,s),c=Oe(e,16384|t,0,0,o,r,s,c),18===e.token&&(c=Ue(e,t,0,a,i,l,c)))}return oe(e,t,a,i,l,{type:"PropertyDefinition",key:o,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function Et(e,t,o,r,s,a,i,l){if(143360&e.token)return At(e,t,o,r,s,a,i,l);2097152!=(2097152&e.token)&&n(e,28,V[255&e.token]);const c=69271571===e.token?st(e,t,o,1,0,1,r,s,a,i,l):ct(e,t,o,1,0,1,r,s,a,i,l);return 16&e.destructible&&n(e,47),32&e.destructible&&n(e,47),c}function At(e,t,o,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?n(e,115):36864==(36864&u)&&n(e,114)),20480==(20480&u)&&n(e,99),2099200&t&&241773===u&&n(e,30),241739===u&&24&r&&n(e,97),4196352&t&&209008===u&&n(e,95),G(e,t),o&&le(e,t,o,c,r,s),oe(e,t,a,i,l,{type:"Identifier",name:c})}function St(e,t,o,r,s,a){if(G(e,t),8456259===e.token)return oe(e,t,r,s,a,{type:"JSXFragment",openingFragment:Dt(e,t,r,s,a),children:Vt(e,t),closingFragment:Lt(e,t,o,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,o,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&n(e,0);const i=Rt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(It(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?z(e,t):(W(e,t,8457016),o?W(e,t,8456259):z(e,t));return oe(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,o,r,s,a);if(!c.selfClosing){l=Vt(e,t),i=function(e,t,n,o,r,s){W(e,t,25);const a=Rt(e,t,e.tokenPos,e.linePos,e.colPos);n?W(e,t,8456259):e.token=z(e,t);return oe(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,o,e.tokenPos,e.linePos,e.colPos);const r=re(i.name);re(c.name)!==r&&n(e,149,r)}return oe(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Dt(e,t,n,o,r){return z(e,t),oe(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Lt(e,t,n,o,r,s){return W(e,t,25),W(e,t,8456259),oe(e,t,o,r,s,{type:"JSXClosingFragment"})}function Vt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,z(e,t),n.push(Tt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Tt(e,t,o,r,s){return 138===e.token?function(e,t,n,o,r){z(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return oe(e,t,n,o,r,s)}(e,t,o,r,s):2162700===e.token?Bt(e,t,0,0,o,r,s):8456258===e.token?St(e,t,0,o,r,s):void n(e,0)}function Rt(e,t,n,o,r){X(e);let s=Ot(e,t,n,o,r);if(21===e.token)return Ut(e,t,s,n,o,r);for(;Z(e,t,67108877);)X(e),s=Nt(e,t,s,n,o,r);return s}function Nt(e,t,n,o,r,s){return oe(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function It(e,t,o,r,s){if(2162700===e.token)return function(e,t,n,o,r){G(e,t),W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,o,r,s);X(e);let a=null,i=Ot(e,t,o,r,s);if(21===e.token&&(i=Ut(e,t,i,o,r,s)),1077936157===e.token){const o=M(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(o){case 134283267:a=nt(e,t);break;case 8456258:a=St(e,t,1,r,s,i);break;case 2162700:a=Bt(e,t,1,1,r,s,i);break;default:n(e,148)}}return oe(e,t,o,r,s,{type:"JSXAttribute",value:a,name:i})}function Ut(e,t,n,o,r,s){W(e,t,21);return oe(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Ot(e,t,e.tokenPos,e.linePos,e.colPos)})}function Bt(e,t,o,r,s,a,i){G(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){W(e,t,14);const s=Ie(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return W(e,t,1074790415),oe(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&n(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,oe(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ie(e,t,1,0,0,l,c,u),o?W(e,t,1074790415):z(e,t),oe(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Ot(e,t,n,o,r){const{tokenValue:s}=e;return G(e,t),oe(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var Gt=Object.freeze({__proto__:null});exports.ESTree=Gt,exports.parse=function(e,t){return ge(e,t,0)},exports.parseModule=function(e,t){return ge(e,t,3072)},exports.parseScript=function(e,t){return ge(e,t,0)},exports.version="4.2.0"; diff --git a/node_modules/meriyah/dist/meriyah.system.js b/node_modules/meriyah/dist/meriyah.system.js new file mode 100644 index 0000000..2f536ec --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.system.js @@ -0,0 +1,8796 @@ +System.register('meriyah', [], function (exports) { + 'use strict'; + return { + execute: function () { + + exports({ + parse: parse, + parseModule: parseModule, + parseScript: parseScript + }); + + const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' + }; + class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } + } + function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); + } + function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); + } + function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); + } + function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + exports('ESTree', estree); + + var version$1 = "4.2.0"; + + const version = exports('version', version$1); + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + } + }; +}); diff --git a/node_modules/meriyah/dist/meriyah.system.min.js b/node_modules/meriyah/dist/meriyah.system.min.js new file mode 100644 index 0000000..da3148a --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.system.min.js @@ -0,0 +1 @@ +System.register("meriyah",[],(function(e){"use strict";return{execute:function(){e({parse:function(e,t){return me(e,t,0)},parseModule:function(e,t){return me(e,t,3072)},parseScript:function(e,t){return me(e,t,0)}});const t={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class n extends SyntaxError{constructor(e,n,o,r,...s){const a="["+n+":"+o+"]: "+t[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=e,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function o(e,t,...o){throw new n(e.index,e.line,e.column,t,...o)}function r(e){throw new n(e.index,e.line,e.column,e.type,e.params)}function s(e,t,o,r,...s){throw new n(e,t,o,r,...s)}function a(e,t,o,r){throw new n(e,t,o,r)}const i=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function l(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function c(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&i[0+(t>>>5)]>>>t)&&o(e,18,p(t)),e.index++,e.column++,1)}function u(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function d(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function f(e){return e<65?e-48:e-65+10&15}const k=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function b(e){return e<=127?g[e]:1&i[34816+(e>>>5)]>>>e}function h(e){return e<=127?m[e]:1&i[0+(e>>>5)]>>>e||8204===e||8205===e}const P=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function y(e,t,n,r,s,a,i,l){return 2048&r&&o(e,0),x(e,t,n,s,a,i,l)}function x(e,t,n,o,r,s,a){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return o(e,32)}const s=e.index-1;let a=0,i=e.currentChar;const{index:c}=e;for(;h(i);){switch(i){case 103:2&a&&o(e,34,"g"),a|=2;break;case 105:1&a&&o(e,34,"i"),a|=1;break;case 109:4&a&&o(e,34,"m"),a|=4;break;case 117:16&a&&o(e,34,"g"),a|=16;break;case 121:8&a&&o(e,34,"y"),a|=8;break;case 115:12&a&&o(e,34,"s"),a|=12;break;default:o(e,33)}i=l(e)}const u=e.source.slice(c,e.index),d=e.source.slice(n,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(t){o(e,32)}}(e,d,u),65540}function q(e,t,n){const{index:r}=e;let s="",a=l(e),i=e.index;for(;0==(8&k[a]);){if(a===n)return s+=e.source.slice(i,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(i,e.index),a=l(e),a<127||8232===a||8233===a){const n=C(e,t,a);n>=0?s+=p(n):E(e,n,0)}else s+=p(a);i=e.index+1}e.index>=e.end&&o(e,14),a=l(e)}o(e,14)}function C(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&k[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&k[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&k[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&k[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),f(t)<<12|f(n)<<8|f(o)<<4|f(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function E(e,t,n){switch(t){case-1:return;case-2:o(e,n?2:1);case-3:o(e,13);case-4:o(e,6);case-5:o(e,101)}}function A(e,t){const{index:n}=e;let r=67174409,s="",a=l(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){l(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=l(e),a>126)s+=p(a);else{const n=C(e,1024|t,a);if(n>=0)s+=p(n);else{if(-1!==n&&65536&t){s=void 0,a=S(e,a),a<0&&(r=67174408);break}E(e,n,1)}}else e.index=e.end&&o(e,15),a=l(e)}return l(e),e.tokenValue=s,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function S(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&o(e,15),t=l(e)}return t}function D(e,t){return e.index>=e.end&&o(e,0),e.index--,e.column--,A(e,t)}function L(e,t,n){let r=e.currentChar,s=0,i=9,c=64&n?0:1,u=0,d=0;if(64&n)s="."+V(e,r),r=e.currentChar,110===r&&o(e,11);else{if(48===r)if(r=l(e),120==(32|r)){for(n=136,r=l(e);4160&k[r];)95!==r?(d=1,s=16*s+f(r),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?19:147)}else if(111==(32|r)){for(n=132,r=l(e);4128&k[r];)95!==r?(d=1,s=8*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(98==(32|r)){for(n=130,r=l(e);4224&k[r];)95!==r?(d=1,s=2*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(32&k[r])for(1024&t&&o(e,1),n=1;16&k[r];){if(512&k[r]){n=32,c=0;break}s=8*s+(r-48),r=l(e)}else 512&k[r]?(1024&t&&o(e,1),e.flags|=64,n=32):95===r&&o(e,0);if(48&n){if(c){for(;i>=0&&4112&k[r];)95!==r?(d=0,s=10*s+(r-48),r=l(e),--i):(r=l(e),(95===r||32&n)&&a(e.index,e.line,e.index+1,146),d=1);if(d&&a(e.index,e.line,e.index+1,147),i>=0&&!b(r)&&46!==r)return e.tokenValue=s,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}s+=V(e,r),r=e.currentChar,46===r&&(95===l(e)&&o(e,0),n=64,s+="."+V(e,e.currentChar),r=e.currentChar)}}const p=e.index;let g=0;if(110===r&&128&n)g=1,r=l(e);else if(101==(32|r)){r=l(e),256&k[r]&&(r=l(e));const{index:t}=e;(16&k[r])<1&&o(e,10),s+=e.source.substring(p,t)+V(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],R=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function N(e,t,n){for(;m[l(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?R[e.tokenValue]||208897:U(e,t,0,n)}function I(e,t){const n=O(e);return h(n)||o(e,4),e.tokenValue=p(n),U(e,t,1,4&k[n])}function U(e,t,n,r){let s=e.index;for(;e.index=2&&a<=11){const o=R[e.tokenValue];return void 0===o?208897:n?1024&t?209008===o&&0==(4196352&t)?o:36972===o||36864==(36864&o)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&o)?o:241773===o?1073741824&t?143483:2097152&t?121:o:209007===o&&1073741824&t?143483:36864==(36864&o)||209008===o&&0==(4194304&t)?o:121:o}return 208897}function B(e){return b(l(e))||o(e,93),131}function O(e){return 117!==e.source.charCodeAt(e.index+1)&&o(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&k[l(e)];)t=t<<4|f(e.currentChar),t>1114111&&a(n,e.line,e.index+1,101);return 125!==e.currentChar&&a(n,e.line,e.index-1,6),l(e),t}0==(64&k[n])&&o(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&k[r])&&o(e,6);const s=e.source.charCodeAt(e.index+2);0==(64&k[s])&&o(e,6);const i=e.source.charCodeAt(e.index+3);0==(64&k[i])&&o(e,6);return t=f(n)<<12|f(r)<<8|f(s)<<4|f(i),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function F(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=j(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function j(e,t,n){const r=0===e.index,s=e.source;let a=e.index,c=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(l(e),4194340):42!==t?8457014:61!==l(e)?8457273:(l(e),4194337)}case 8455497:return 61!==l(e)?8455497:(l(e),4194343);case 25233970:{l(e);const t=e.currentChar;return 43===t?(l(e),33619995):61===t?(l(e),4194338):25233970}case 25233971:{l(e);const i=e.currentChar;if(45===i){if(l(e),(1&n||r)&&62===e.currentChar){0==(256&t)&&o(e,108),l(e),n=y(e,s,n,t,3,a,c,f),a=e.tokenPos,c=e.linePos,f=e.colPos;continue}return 33619996}return 61===i?(l(e),4194339):25233971}case 8457016:if(l(e),e.index=48&&k<=57)return L(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return l(e),67108991}return 22}}}else{if((8232^g)<=1){n=-5&n|1,d(e);continue}if(55296==(64512&g)||0!=(1&i[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&i[0+(g>>>5)]>>>g)&&o(e,18,p(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",U(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){l(e);continue}o(e,18,p(g))}}var k;return 1048576}const H={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},J={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function M(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in J&&(e=J[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return H[e.slice(1,-1)]||e}))}function z(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&k[e.currentChar]?function(e,t){const n=e.currentChar;let r=l(e);const s=e.index;for(;r!==n;)e.index>=e.end&&o(e,14),r=l(e);r!==n&&o(e,14);e.tokenValue=e.source.slice(s,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):j(e,t,0),e.token}function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:l(e),47===e.currentChar?(l(e),e.token=25):e.token=8456258;break;case 2162700:l(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&W(e,t,209008);K(e,32768|t,67174411),n&&(n=le(n,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=nt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&o(e,64):f=re(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?o(e,64):(k=!1,e.assignable=1,f=ze(e,t,f,0,0,m,b,h),274549===e.token&&o(e,111))):(F(e,t),f=re(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===g?l&&o(e,79):2097152==(2097152&g)?(f=2162700===g?ut(e,t,void 0,1,0,0,2,32,m,b,h):at(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&o(e,60),e.assignable=16&p?2:1,f=ze(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Me(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&o(e,77,l?"await":"of"),Q(e,f),F(e,32768|t),c=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ee(e,t,n,r),await:l})}2&e.assignable&&o(e,77,"in"),Q(e,f),F(e,32768|t),l&&o(e,79),c=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForInStatement",body:Ee(e,t,n,r),left:f,right:c})}l&&o(e,79);k||(8&p&&1077936157!==e.token&&o(e,77,"loop"),f=Ge(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Be(e,t,0,e.tokenPos,e.linePos,e.colPos,f));K(e,32768|t,1074790417),1074790417!==e.token&&(u=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,1074790417),16!==e.token&&(d=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,16);const P=Ee(e,t,n,r);return re(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,n,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){F(e,32768|t);const i=Ee(e,t,n,o);K(e,t,20580),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|t,16),W(e,t,1074790417),re(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,n,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){F(e,t),K(e,32768|t,67174411);const i=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const l=Ee(e,t,n,o);return re(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,n,s,i,l,c);case 86112:return function(e,t,n,r,s,a,i){F(e,t),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,t,16),K(e,t,2162700);const c=[];let u=0;n&&(n=le(n,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(W(e,32768|t,20558)?l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(K(e,32768|t,20563),u&&o(e,86),u=1),K(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(he(e,4096|t,n,2,{$:r}));c.push(re(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return K(e,32768|t,1074790415),re(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,n,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return F(e,32768|t),re(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return ye(e,t,n?le(n,2):n,s,i,l,c);case 86114:return function(e,t,n,r,s){F(e,32768|t),1&e.flags&&o(e,87);const a=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t),re(e,t,n,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,n,r,s,a){F(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,0)||o(e,134,r)}else(135168&t)<1&&o(e,66);return $(e,32768|t),re(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,n,r,s,a){(131072&t)<1&&o(e,65);F(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,1)||o(e,134,r)}return $(e,32768|t),re(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,n,r,s,a,i){F(e,32768|t);const l=n?le(n,32):void 0,c=ye(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=W(e,32768|t,20559)?function(e,t,n,r,s,a,i){let l=null,c=n;W(e,t,67174411)&&(n&&(n=le(n,4)),l=At(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?o(e,83):1077936157===e.token&&o(e,84),K(e,32768|t,16),n&&(c=le(n,64)));const u=ye(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,n,r,u,d,p):null;let k=null;if(20568===e.token){F(e,32768|t);k=ye(e,t,l?le(n,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||o(e,85);return re(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,n,s,i,l,c);case 20581:return function(e,t,n,r,s,a,i){F(e,t),1024&t&&o(e,88);K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const c=Pe(e,t,n,2,r,0,e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,n,s,i,l,c);case 20562:return function(e,t,n,o,r){return F(e,32768|t),$(e,32768|t),re(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return we(e,t,n,r,s,0,i,l,c);case 20559:o(e,156);case 20568:o(e,157);case 86106:o(e,1024&t?73:(256&t)<1?75:74);case 86096:o(e,76);default:return function(e,t,n,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=nt(e,t,0),1024&t&&o(e,82),69271571===e.token&&o(e,81);break;default:p=_e(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return ve(e,t,n,r,s,u,p,d,a,i,l,c);p=ze(e,t,p,0,0,i,l,c),p=Ge(e,t,0,0,i,l,c,p),18===e.token&&(p=Be(e,t,0,i,l,c,p));return xe(e,t,p,i,l,c)}(e,t,n,r,s,a,i,l,c)}}function ye(e,t,n,o,r,s,a){const i=[];for(K(e,32768|t,2162700);1074790415!==e.token;)i.push(he(e,t,n,2,{$:o}));return K(e,32768|t,1074790415),re(e,t,r,s,a,{type:"BlockStatement",body:i})}function xe(e,t,n,o,r,s){return $(e,32768|t),re(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function ve(e,t,n,r,s,a,i,l,c,u,d,p){ee(e,t,0,l,1),function(e,t,n){let r=t;for(;r;)r["$"+n]&&o(e,132,n),r=r.$;t["$"+n]=1}(e,s,a),F(e,32768|t);return re(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?rt(e,t,le(n,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):Pe(e,t,n,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function we(e,t,n,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=nt(e,t,0);if(21===e.token)return ve(e,t,n,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||o(e,119),rt(e,t,n,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=ht(e,t,1,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),xe(e,t,p,i,l,c)}return 67174411===e.token?p=Pt(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ge(e,t,u,1),p=ft(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=ze(e,t,p,0,0,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),p=Ge(e,t,0,0,i,l,c,p),e.assignable=1,xe(e,t,p,i,l,c)}function qe(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=ze(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Ge(e,t,0,0,r,s,a,n),18===e.token&&(n=Be(e,t,0,r,s,a,n))),$(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function Ce(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?Pe(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):rt(e,t,le(n,2),0,0,0,0,r,s,a)}function Ee(e,t,n,o){return Pe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ae(e,t,n,o,r,s,a,i){F(e,t);const l=De(e,t,n,o,r);return $(e,32768|t),re(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Se(e,t,n,o,r,s,a){F(e,t);const i=De(e,t,n,4,o);return $(e,32768|t),re(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,r,s){let a=1;const i=[Le(e,t,n,r,s)];for(;W(e,t,18);)a++,i.push(Le(e,t,n,r,s));return a>1&&32&s&&262144&e.token&&o(e,58,T[255&e.token]),i}function Le(e,t,n,r,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=At(e,t,n,r,a,l,c,u);return 1077936157===e.token?(F(e,32768|t),d=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&r)<1||1024&t))&&s(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&r||(2097152&i)>0)&&262144!=(262144&e.token)&&o(e,56,16&r?"const":"destructuring"),re(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ve(e,t,n){return ke(t,e.token)||o(e,114),537079808==(537079808&e.token)&&o(e,115),n&&ue(e,t,n,e.tokenValue,8,0),nt(e,t,0)}function Te(e,t,n){const{tokenPos:o,linePos:r,colPos:a}=e;return F(e,t),K(e,t,77934),134217728==(134217728&e.token)&&s(o,e.line,e.index,28,T[255&e.token]),re(e,t,o,r,a,{type:"ImportNamespaceSpecifier",local:Ve(e,t,n)})}function Re(e,t,n,r){for(F(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=nt(e,t,0);let d;W(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?o(e,103):ee(e,t,16,e.token,0),a=e.tokenValue,d=nt(e,t,0)):(ee(e,t,16,s,0),d=u),n&&ue(e,t,n,a,8,0),r.push(re(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&K(e,t,18)}return K(e,t,1074790415),r}function Ne(e,t,n,o,r){let s=$e(e,t,re(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=ze(e,t,s,0,0,n,o,r),s=Ge(e,t,0,0,n,o,r,s),xe(e,t,s,n,o,r)}function Ie(e,t,n,o,r){let s=Ye(e,t,0,n,o,r);return s=ze(e,t,s,0,0,n,o,r),xe(e,t,s,n,o,r)}function Ue(e,t,n,o,r,s,a,i){let l=_e(e,t,2,0,n,o,r,1,s,a,i);return l=ze(e,t,l,r,0,s,a,i),Ge(e,t,r,0,s,a,i,l)}function Be(e,t,n,o,r,s,a){const i=[a];for(;W(e,32768|t,18);)i.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Oe(e,t,n,o,r,s,a){const i=Ue(e,t,o,0,n,r,s,a);return 18===e.token?Be(e,t,n,r,s,a,i):i}function Ge(e,t,n,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&o(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&Q(e,l),F(e,32768|t);const u=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:T[255&c],right:u})}return 8454144==(8454144&c)&&(l=He(e,t,n,s,a,i,4,c,l)),W(e,32768|t,22)&&(l=je(e,t,l,s,a,i)),l}function Fe(e,t,n,o,r,s,a,i){const{token:l}=e;F(e,32768|t);const c=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:T[255&l],right:c}),e.assignable=2,i}function je(e,t,n,o,r,s){const a=Ue(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,21),e.assignable=1;const i=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function He(e,t,n,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&o(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)F(e,32768|t),c=re(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:He(e,t,n,e.tokenPos,e.linePos,e.colPos,p,d,Me(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:T[255&d]});return 1077936157===e.token&&o(e,24),c}function Je(e,t,n,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;K(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:r,token:a}=e,i=ot(e,t);Y(e,n,o,r)&&(t|=1024,128&e.flags&&s(e.index,e.line,e.tokenPos,63),64&e.flags&&s(e.index,e.line,e.tokenPos,8)),p.push(qe(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&o(e,115),36864==(36864&i)&&o(e,38)),512&e.flags&&o(e,115),256&e.flags&&o(e,114)),64&t&&n&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&r(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(he(e,t,n,4,{}));return K(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&o(e,24),re(e,t,c,u,d,{type:"BlockStatement",body:p})}function Me(e,t,n,o,r,s,a,i){return ze(e,t,_e(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function ze(e,t,n,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)n=function(e,t,n,r,s,a){2&e.assignable&&o(e,52);const{token:i}=e;return F(e,t),e.assignable=2,re(e,t,r,s,a,{type:"UpdateExpression",argument:n,operator:T[255&i],prefix:!1})}(e,t,n,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:F(e,1073741824|t),e.assignable=1;n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!1,property:Xe(e,t)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),F(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Oe(e,t,r,1,s,c,u);K(e,t,20),e.assignable=1,n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!0,property:d}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const s=tt(e,t,r);e.assignable=2,n=re(e,t,a,i,l,{type:"CallExpression",callee:n,arguments:s}),o&&(e.flags|=2048);break}case 67108991:F(e,t),e.flags|=2048,e.assignable=2,n=function(e,t,n,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){F(e,32768|t);const{tokenPos:o,linePos:l,colPos:c}=e,u=Oe(e,t,0,1,o,l,c);K(e,t,20),e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const o=tt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"CallExpression",callee:n,arguments:o,optional:!0})}else{(143360&e.token)<1&&o(e,154);const l=nt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,n,a,i,l);break;default:2048==(2048&e.flags)&&o(e,160),e.assignable=2,n=re(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Ke(e,65536|t):We(e,t,e.tokenPos,e.linePos,e.colPos)})}n=ze(e,t,n,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,a,i,l,{type:"ChainExpression",expression:n})),n}function Xe(e,t){return(143360&e.token)<1&&131!==e.token&&o(e,154),1&t&&131===e.token?Ct(e,t,e.tokenPos,e.linePos,e.colPos):nt(e,t,0)}function _e(e,t,n,r,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,r,a,i,l){if(r&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&o(e,0),8388608&t&&s(e.index,e.line,e.index,29),F(e,32768|t);const r=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&o(e,31),e.assignable=2,re(e,t,a,i,l,{type:"AwaitExpression",argument:r})}return 2048&t&&o(e,95),pt(e,t,a,i,l)}(e,t,r,l,u,d,p);case 241773:return function(e,t,n,r,s,a,i){if(n&&(e.destructible|=256),2097152&t){F(e,32768|t),8388608&t&&o(e,30),r||o(e,24),22===e.token&&o(e,120);let n=null,l=!1;return(1&e.flags)<1&&(l=W(e,32768|t,8457014),(77824&e.token||l)&&(n=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,s,a,i,{type:"YieldExpression",argument:n,delegate:l})}return 1024&t&&o(e,94,"yield"),pt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,n,r,s,a,i,l,c,u){const{token:d}=e,p=nt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return st(e,t,1,n,l,c,u);if(143360==(143360&e.token))return r||o(e,0),ht(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ge(e,t,d,1),i&&o(e,48),ft(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:Pt(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,r,u,d,p)}const{token:f,tokenValue:k}=e,g=nt(e,65536|t,i);return 10===e.token?(c||o(e,0),ge(e,t,f,1),ft(e,t,k,g,r,a,0,u,d,p)):(16384&t&&537079928===f&&o(e,126),241739===f&&(1024&t&&o(e,109),24&n&&o(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ot(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,r,s,a,i){n&&o(e,53),r||o(e,0);const{token:l}=e;F(e,32768|t);const c=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&o(e,52),e.assignable=2,re(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:T[255&l],prefix:!0})}(e,t,r,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,r,s,a,i){n||o(e,0);const l=e.token;F(e,32768|t);const c=Me(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&o(e,31),1024&t&&16863278===l&&("Identifier"===c.type?o(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&o(e,123)),e.assignable=2,re(e,t,r,s,a,{type:"UnaryExpression",operator:T[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return st(e,t,0,l,u,d,p);case 2162700:return function(e,t,n,r,s,a,i){const l=ut(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,n,r,s,a,i){const l=at(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,n,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;F(e,1073774592|t);const p=64&t?le({parent:void 0,type:2},1024):void 0;if(W(e,t=134217728^(134217728|t),16))return kt(e,t,p,[],n,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:n,tokenPos:a,linePos:i,colPos:l}=e;if(143360&n)p&&ue(e,t,p,e.tokenValue,1,0),f=_e(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&n)&&36864!=(36864&n)||(b=1):(1077936157===e.token?b=1:k|=16,f=ze(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Ge(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&n)){if(14===n){f=lt(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&o(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ue(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;W(e,32768|t,18);)g.push(Ue(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return K(e,t,16),e.destructible=k,f}f=2162700===n?ut(e,1073741824|t,p,0,1,0,r,s,a,i,l):at(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&o(e,118),f=ze(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Ge(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!W(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));K(e,t,16),16&k&&8&k&&o(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&o(e,46),4196352&t&&128&k&&o(e,29),2098176&t&&256&k&&o(e,30),b&&(e.flags|=128),kt(e,t,p,m?g:[f],n,0,a,i,l);8&k&&o(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?re(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=T[255&e.token],a=86023===e.token?null:"true"===s;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,n,r,s,a){let i=null,l=null;const c=xt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);F(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&o(e,114),537079808==(537079808&e.token)&&o(e,115),i=nt(e,t,0));let u=t;W(e,32768|t,20567)?(l=Me(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=wt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,n,r,s){switch(F(e,t),e.token){case 67108991:o(e,161);case 67174411:(524288&t)<1&&o(e,26),16384&t&&o(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&o(e,27),16384&t&&o(e,143),e.assignable=1;break;default:o(e,28,"super")}return re(e,t,n,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return We(e,t,u,d,p);case 67174408:return Ke(e,t);case 86109:return function(e,t,n,r,s,a){const i=nt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(W(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=nt(e,t,0);return re(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);o(e,91)}e.assignable=2,16842752==(16842752&e.token)&&o(e,62,T[255&e.token]);const d=_e(e,t,2,1,0,0,n,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&o(e,162);const p=bt(e,t,d,n,l,c,u);return e.assignable=2,re(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?tt(e,t,n):[]})}(e,t,l,u,d,p);case 134283389:return Ze(e,t,u,d,p);case 131:return Ct(e,t,u,d,p);case 86108:return function(e,t,n,r,s,a,i){let l=nt(e,t,0);if(67108877===e.token)return $e(e,t,l,s,a,i);n&&o(e,137);return l=Ye(e,t,r,s,a,i),e.assignable=2,ze(e,t,l,r,0,s,a,i)}(e,t,r,l,u,d,p);case 8456258:if(16&t)return Dt(e,t,1,u,d,p);default:if(ke(t,e.token))return pt(e,t,u,d,p);o(e,28,T[255&e.token])}}function $e(e,t,n,r,s,a){return 0==(2048&t)&&o(e,163),F(e,t),143495!==e.token&&"meta"!==e.tokenValue&&o(e,28,T[255&e.token]),e.assignable=2,re(e,t,r,s,a,{type:"MetaProperty",meta:n,property:nt(e,t,0)})}function Ye(e,t,n,r,s,a){K(e,32768|t,67174411),14===e.token&&o(e,138);const i=Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,16),re(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ze(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return F(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function We(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;K(e,t,67174409);return re(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Qe(e,t,s,a,i,l,c,!0)]})}function Ke(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408);const l=[Qe(e,t,n,r,s,a,i,!1)],c=[Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&o(e,80);67174409!==(e.token=D(e,t));){const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408),l.push(Qe(e,t,n,r,s,a,i,!1)),c.push(Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&o(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;K(e,t,67174409),l.push(Qe(e,t,n,o,r,s,a,!0))}return re(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Qe(e,t,n,o,r,s,a,i){const l=re(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function et(e,t,n,o,r){K(e,32768|(t=134217728^(134217728|t)),14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,o,r,{type:"SpreadElement",argument:s})}function tt(e,t,n){F(e,32768|t);const o=[];if(16===e.token)return F(e,t),o;for(;16!==e.token&&(14===e.token?o.push(et(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(F(e,32768|t),16!==e.token););return K(e,t,16),o}function nt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return F(e,t),re(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function ot(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ze(e,t,r,s,a):(F(e,t),e.assignable=2,re(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function rt(e,t,n,r,s,a,i,l,c,u){F(e,32768|t);const d=s?Z(e,t,8457014):0;let p,f=null,k=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&o(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&s?de(e,t,n,e.tokenValue,s):ue(e,t,n,e.tokenValue,s,r),k=le(k,256),a&&2&a&&pe(e,e.tokenValue)),p=e.token,143360&e.token?f=nt(e,t,0):o(e,28,T[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),n&&(k=le(k,512));return re(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:mt(e,8388608|t,k,0,1),body:Je(e,143360^(143360|t),n?le(k,128):k,8,p,n?k.scopeError:void 0),async:1===i,generator:1===d})}function st(e,t,n,o,r,s,a){F(e,32768|t);const i=Z(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|l,e.token),d&&(d=le(d,256)),c=e.token,u=nt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=le(d,512));const p=mt(e,8388608|t,d,o,1),f=Je(e,-134377473&t,d?le(d,128):d,0,c,void 0);return e.assignable=2,re(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function at(e,t,n,r,s,a,i,l,c,u,d){F(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(W(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=_e(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&o(e,24),F(e,32768|t),n&&ce(e,t,n,g,i,l);const c=Ue(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=re(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:n&&ce(e,t,n,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=ze(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Ge(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ut(e,t,n,0,s,a,i,l,u,d,k):at(e,t,n,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?o(e,68):(r=ze(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Ge(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=lt(e,t,n,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&o(e,28,T[255&e.token])):(r=Me(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Ge(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!W(e,32768|t,18))break;if(20===e.token)break}K(e,t,20);const k=re(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?it(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function it(e,t,n,r,s,a,i,l,c){1077936157!==e.token&&o(e,24),F(e,32768|t),16&n&&o(e,24),s||Q(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ue(e,t,1,1,r,u,d,p);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function lt(e,t,n,r,s,a,i,l,c,u,d,p){F(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=_e(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=ze(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&o(e,68),k|=16,f=Ge(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?n&&ce(e,t,n,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)o(e,39);else{if(!(2097152&g)){k|=32,f=Me(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===n&&n!==r&&18!==n?(2&e.assignable&&o(e,24),f=Ge(e,t,l,c,s,a,i,f),k|=16):(18===n?k|=16:n!==r&&(f=Ge(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&o(e,155),re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ut(e,t,n,1,l,c,s,a,b,h,P):at(e,t,n,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&o(e,68),f=ze(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Ge(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=He(e,t,1,b,h,P,4,g,f)),W(e,32768|t,22)&&(f=je(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),W(e,32768|t,1077936157)){16&k&&o(e,24),Q(e,f);const n=Ue(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=re(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:n}:{type:"AssignmentExpression",left:f,operator:"=",right:n}),k=16}else k|=16;return e.destructible=k,re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function ct(e,t,n,s,a,i,l){const c=(64&n)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&n)<<18|100925440)?le({parent:void 0,type:2},512):void 0;const d=function(e,t,n,s,a,i){K(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&o(e,35,"Setter","one",""),F(e,t),l;256&s&&o(e,35,"Getter","no","s");512&s&&14===e.token&&o(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=St(e,t,n,1|s,0,d,p,f)):(2162700===e.token?r=ut(e,t,n,1,i,1,a,0,d,p,f):69271571===e.token?r=at(e,t,n,1,i,1,a,0,d,p,f):14===e.token&&(r=lt(e,t,n,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&o(e,47)),1077936157===e.token){F(e,32768|t),u=1;r=re(e,t,d,p,f,{type:"AssignmentPattern",left:r,right:Ue(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(r),!W(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&o(e,35,"Setter","one","");n&&void 0!==n.scopeError&&r(n.scopeError);u&&(e.flags|=128);return K(e,t,16),l}(e,8388608|t,u,n,1,s);u&&(u=le(u,128));return re(e,t,a,i,l,{type:"FunctionExpression",params:d,body:Je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function ut(e,t,n,r,a,i,l,c,u,d,p){F(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:r,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===r)f.push(lt(e,t,n,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=nt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&r)?k|=16:ee(e,t,l,r,0),n&&ce(e,t,n,u,l,c),W(e,32768|t,1077936157)){k|=8;const n=Ue(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=re(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===r?128:0)|(121===r?16:0),b=-2147483648&t?Object.assign({},P):P;else if(W(e,32768|t,21)){const{tokenPos:s,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const o=e.token,r=e.tokenValue;k|=121===y?16:0,b=_e(e,t,l,0,1,0,a,1,s,d,p);const{token:u}=e;b=ze(e,t,b,a,0,s,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:n&&143360==(143360&o)&&ce(e,t,n,r,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:n&&ce(e,t,n,r,l,c),b=Ge(e,t,a,i,s,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,u,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,d,p):ut(e,t,n,0,a,i,l,c,s,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?o(e,68):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,s,d,p,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,d,p)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,a,1,s,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==r&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,d,p,b))))}else 69271571===e.token?(k|=16,209007===r&&(h|=16),h|=2|(12402===r?256:12403===r?512:1),P=dt(e,t,a),k|=e.assignable,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===r&&o(e,92),209007===r&&(1&e.flags&&o(e,128),h|=16),P=nt(e,t,0),h|=12402===r?256:12403===r?512:1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===r||12403===r?o(e,40):143483===r&&o(e,92),F(e,t),h|=9|(209007===r?16:0),143360&e.token?P=nt(e,t,0):134217728==(134217728&e.token)?P=ot(e,t):69271571===e.token?(h|=2,P=dt(e,t,a),k|=e.assignable):o(e,28,T[255&e.token]),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===r&&(h|=16),h|=12402===r?256:12403===r?512:1,k|=16,P=ot(e,t),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,129);else if(134217728==(134217728&e.token))if(P=ot(e,t),21===e.token){K(e,32768|t,21);const{tokenPos:o,linePos:s,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=_e(e,t,l,0,1,0,a,1,o,s,d);const{token:r,tokenValue:u}=e;b=ze(e,t,b,a,0,o,s,d),18===e.token||1074790415===e.token?1077936157===r||1074790415===r||18===r?2&e.assignable?k|=16:n&&ce(e,t,n,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Ge(e,t,a,i,o,s,d,b)):(k|=16,b=Ge(e,t,a,i,o,s,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,o,s,d):ut(e,t,n,0,a,i,l,c,o,s,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=ze(e,t,b,a,0,o,s,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=Fe(e,t,a,i,o,s,d,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,o,s,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,o,s,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,o,s,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,o,s,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,o,s,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):o(e,130);else if(69271571===e.token)if(P=dt(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){F(e,32768|t);const{tokenPos:s,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=_e(e,t,l,0,1,0,a,1,s,u,d);const{token:o}=e;b=ze(e,t,b,a,0,s,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===o?0:32,b=Fe(e,t,a,i,s,u,d,b)):18===e.token||1074790415===e.token?1077936157===o||1074790415===o||18===o?2&e.assignable?k|=16:n&&143360==(143360&f)&&ce(e,t,n,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Ge(e,t,a,i,s,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,u,d):ut(e,t,n,0,a,i,l,c,s,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?o(e,59):(b=ze(e,t,b,a,0,s,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=Fe(e,t,a,i,s,u,d,b)):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,u,d,4,r,b)),W(e,32768|t,22)&&(b=je(e,t,b,s,u,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,s,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,u,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,d,p),k=16):o(e,41);else if(8457014===r)if(K(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:r}=e;P=nt(e,t,0),h|=1,67174411===e.token?(k|=16,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):s(r,o,r,209007===n?43:12402===n||12403===e.token?42:44,T[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=ot(e,t),h|=1,b=ct(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=dt(e,t,a),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,122);else o(e,28,T[255&r]);k|=128&e.destructible?128:0,e.destructible=k,f.push(re(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;F(e,t)}K(e,t,1074790415),g>1&&(k|=64);const m=re(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!r&&4194304&e.token?it(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function dt(e,t,n){F(e,32768|t);const o=Ue(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,20),o}function pt(e,t,n,o,r){const{tokenValue:s}=e,a=nt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=ae(e,t,s)),e.flags=128^(128|e.flags),gt(e,t,i,[a],0,n,o,r)}return a}function ft(e,t,n,r,s,a,i,l,c,u){a||o(e,54),s&&o(e,48),e.flags&=-129;return gt(e,t,64&t?ae(e,t,n):void 0,[r],i,l,c,u)}function kt(e,t,n,r,s,a,i,l,c){s||o(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&o(e,106),1074790415===e.token&&o(e,105),W(e,t,1074790417)?a>0&&o(e,116):d.push(qt(e,t,r,n,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return K(e,8&a?32768|t:t,1074790415),re(e,t,l,c,u,{type:"ClassBody",body:d})}function qt(e,t,n,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=nt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return qt(e,t,n,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=16|(Z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=dt(e,r,l)):134217728==(134217728&k)?f=ot(e,t):8457014===k?(p|=8,F(e,t)):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=nt(e,t,0),67174411!==e.token&&o(e,28,T[255&e.token])):o(e,28,T[255&e.token]);if(792&p&&(143360&e.token?f=nt(e,t,0):134217728==(134217728&e.token)?f=ot(e,t):69271571===e.token?(p|=2,f=dt(e,t,0)):122===e.token?f=nt(e,t,0):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b)):o(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?o(e,125):(32&p)<1&&67174411===e.token&&(920&p?o(e,50,"accessor"):(524288&t)<1&&(32&e.flags?o(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&o(e,49)),1&t&&67174411!==e.token)return Et(e,t,f,p,a,g,m,b);const h=ct(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return re(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Ct(e,t,n,r,s){F(e,t);const{tokenValue:a}=e;return"constructor"===a&&o(e,124),F(e,t),re(e,t,n,r,s,{type:"PrivateIdentifier",name:a})}function Et(e,t,n,r,s,a,i,l){let c=null;if(8&r&&o(e,0),1077936157===e.token){F(e,32768|t);const{tokenPos:n,linePos:r,colPos:s}=e;537079928===e.token&&o(e,115),c=_e(e,16384|t,2,0,1,0,0,1,n,r,s),1073741824!=(1073741824&e.token)&&(c=ze(e,16384|t,c,0,0,n,r,s),c=Ge(e,16384|t,0,0,n,r,s,c),18===e.token&&(c=Be(e,t,0,a,i,l,c)))}return re(e,t,a,i,l,{type:"PropertyDefinition",key:n,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function At(e,t,n,r,s,a,i,l){if(143360&e.token)return St(e,t,n,r,s,a,i,l);2097152!=(2097152&e.token)&&o(e,28,T[255&e.token]);const c=69271571===e.token?at(e,t,n,1,0,1,r,s,a,i,l):ut(e,t,n,1,0,1,r,s,a,i,l);return 16&e.destructible&&o(e,47),32&e.destructible&&o(e,47),c}function St(e,t,n,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?o(e,115):36864==(36864&u)&&o(e,114)),20480==(20480&u)&&o(e,99),2099200&t&&241773===u&&o(e,30),241739===u&&24&r&&o(e,97),4196352&t&&209008===u&&o(e,95),F(e,t),n&&ce(e,t,n,c,r,s),re(e,t,a,i,l,{type:"Identifier",name:c})}function Dt(e,t,n,r,s,a){if(F(e,t),8456259===e.token)return re(e,t,r,s,a,{type:"JSXFragment",openingFragment:Lt(e,t,r,s,a),children:Tt(e,t),closingFragment:Vt(e,t,n,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,n,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&o(e,0);const i=Nt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Ut(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?X(e,t):(K(e,t,8457016),n?K(e,t,8456259):X(e,t));return re(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,n,r,s,a);if(!c.selfClosing){l=Tt(e,t),i=function(e,t,n,o,r,s){K(e,t,25);const a=Nt(e,t,e.tokenPos,e.linePos,e.colPos);n?K(e,t,8456259):e.token=X(e,t);return re(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const r=se(i.name);se(c.name)!==r&&o(e,149,r)}return re(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Lt(e,t,n,o,r){return X(e,t),re(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Vt(e,t,n,o,r,s){return K(e,t,25),K(e,t,8456259),re(e,t,o,r,s,{type:"JSXClosingFragment"})}function Tt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Rt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Rt(e,t,n,r,s){return 138===e.token?function(e,t,n,o,r){X(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return re(e,t,n,o,r,s)}(e,t,n,r,s):2162700===e.token?Ot(e,t,0,0,n,r,s):8456258===e.token?Dt(e,t,0,n,r,s):void o(e,0)}function Nt(e,t,n,o,r){_(e);let s=Gt(e,t,n,o,r);if(21===e.token)return Bt(e,t,s,n,o,r);for(;W(e,t,67108877);)_(e),s=It(e,t,s,n,o,r);return s}function It(e,t,n,o,r,s){return re(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ut(e,t,n,r,s){if(2162700===e.token)return function(e,t,n,o,r){F(e,t),K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,n,r,s);_(e);let a=null,i=Gt(e,t,n,r,s);if(21===e.token&&(i=Bt(e,t,i,n,r,s)),1077936157===e.token){const n=z(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(n){case 134283267:a=ot(e,t);break;case 8456258:a=Dt(e,t,1,r,s,i);break;case 2162700:a=Ot(e,t,1,1,r,s,i);break;default:o(e,148)}}return re(e,t,n,r,s,{type:"JSXAttribute",value:a,name:i})}function Bt(e,t,n,o,r,s){K(e,t,21);return re(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ot(e,t,n,r,s,a,i){F(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&o(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ue(e,t,1,0,0,l,c,u),n?K(e,t,1074790415):X(e,t),re(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Gt(e,t,n,o,r){const{tokenValue:s}=e;return F(e,t),re(e,t,n,o,r,{type:"JSXIdentifier",name:s})}e("ESTree",Object.freeze({__proto__:null}));e("version","4.2.0")}}})); diff --git a/node_modules/meriyah/dist/meriyah.umd.cjs b/node_modules/meriyah/dist/meriyah.umd.cjs new file mode 100644 index 0000000..16469ba --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.cjs @@ -0,0 +1,8796 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {})); +}(this, (function (exports) { 'use strict'; + + const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' + }; + class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } + } + function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); + } + function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); + } + function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); + } + function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + var version$1 = "4.2.0"; + + const version = version$1; + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + exports.ESTree = estree; + exports.parse = parse; + exports.parseModule = parseModule; + exports.parseScript = parseScript; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/node_modules/meriyah/dist/meriyah.umd.es5.js b/node_modules/meriyah/dist/meriyah.umd.es5.js new file mode 100644 index 0000000..72ecccf --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.es5.js @@ -0,0 +1,8855 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {})); +}(this, (function (exports) { 'use strict'; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + function __spreadArray(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + } + + var _a; + var errorMessages = (_a = {}, + _a[0] = 'Unexpected token', + _a[28] = "Unexpected token: '%0'", + _a[1] = 'Octal escape sequences are not allowed in strict mode', + _a[2] = 'Octal escape sequences are not allowed in template strings', + _a[3] = 'Unexpected token `#`', + _a[4] = 'Illegal Unicode escape sequence', + _a[5] = 'Invalid code point %0', + _a[6] = 'Invalid hexadecimal escape sequence', + _a[8] = 'Octal literals are not allowed in strict mode', + _a[7] = 'Decimal integer literals with a leading zero are forbidden in strict mode', + _a[9] = 'Expected number in radix %0', + _a[145] = 'Invalid left-hand side assignment to a destructible right-hand side', + _a[10] = 'Non-number found after exponent indicator', + _a[11] = 'Invalid BigIntLiteral', + _a[12] = 'No identifiers allowed directly after numeric literal', + _a[13] = 'Escapes \\8 or \\9 are not syntactically valid escapes', + _a[14] = 'Unterminated string literal', + _a[15] = 'Unterminated template literal', + _a[16] = 'Multiline comment was not closed properly', + _a[17] = 'The identifier contained dynamic unicode escape that was not closed', + _a[18] = "Illegal character '%0'", + _a[19] = 'Missing hexadecimal digits', + _a[20] = 'Invalid implicit octal', + _a[21] = 'Invalid line break in string literal', + _a[22] = 'Only unicode escapes are legal in identifier names', + _a[23] = "Expected '%0'", + _a[24] = 'Invalid left-hand side in assignment', + _a[25] = 'Invalid left-hand side in async arrow', + _a[26] = 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + _a[27] = 'Member access on super must be in a method', + _a[29] = 'Await expression not allowed in formal parameter', + _a[30] = 'Yield expression not allowed in formal parameter', + _a[92] = "Unexpected token: 'escaped keyword'", + _a[31] = 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + _a[119] = 'Async functions can only be declared at the top level or inside a block', + _a[32] = 'Unterminated regular expression', + _a[33] = 'Unexpected regular expression flag', + _a[34] = "Duplicate regular expression flag '%0'", + _a[35] = '%0 functions must have exactly %1 argument%2', + _a[36] = 'Setter function argument must not be a rest parameter', + _a[37] = '%0 declaration must have a name in this context', + _a[38] = 'Function name may not contain any reserved words or be eval or arguments in strict mode', + _a[39] = 'The rest operator is missing an argument', + _a[40] = 'A getter cannot be a generator', + _a[41] = 'A computed property name must be followed by a colon or paren', + _a[130] = 'Object literal keys that are strings or numbers must be a method or have a colon', + _a[43] = 'Found `* async x(){}` but this should be `async * x(){}`', + _a[42] = 'Getters and setters can not be generators', + _a[44] = "'%0' can not be generator method", + _a[45] = "No line break is allowed after '=>'", + _a[46] = 'The left-hand side of the arrow can only be destructed through assignment', + _a[47] = 'The binding declaration is not destructible', + _a[48] = 'Async arrow can not be followed by new expression', + _a[49] = "Classes may not have a static property named 'prototype'", + _a[50] = 'Class constructor may not be a %0', + _a[51] = 'Duplicate constructor method in class', + _a[52] = 'Invalid increment/decrement operand', + _a[53] = 'Invalid use of `new` keyword on an increment/decrement expression', + _a[54] = '`=>` is an invalid assignment target', + _a[55] = 'Rest element may not have a trailing comma', + _a[56] = 'Missing initializer in %0 declaration', + _a[57] = "'for-%0' loop head declarations can not have an initializer", + _a[58] = 'Invalid left-hand side in for-%0 loop: Must have a single binding', + _a[59] = 'Invalid shorthand property initializer', + _a[60] = 'Property name __proto__ appears more than once in object literal', + _a[61] = 'Let is disallowed as a lexically bound name', + _a[62] = "Invalid use of '%0' inside new expression", + _a[63] = "Illegal 'use strict' directive in function with non-simple parameter list", + _a[64] = 'Identifier "let" disallowed as left-hand side expression in strict mode', + _a[65] = 'Illegal continue statement', + _a[66] = 'Illegal break statement', + _a[67] = 'Cannot have `let[...]` as a var name in strict mode', + _a[68] = 'Invalid destructuring assignment target', + _a[69] = 'Rest parameter may not have a default initializer', + _a[70] = 'The rest argument must the be last parameter', + _a[71] = 'Invalid rest argument', + _a[73] = 'In strict mode code, functions can only be declared at top level or inside a block', + _a[74] = 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + _a[75] = 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + _a[76] = "Class declaration can't appear in single-statement context", + _a[77] = 'Invalid left-hand side in for-%0', + _a[78] = 'Invalid assignment in for-%0', + _a[79] = 'for await (... of ...) is only valid in async functions and async generators', + _a[80] = 'The first token after the template expression should be a continuation of the template', + _a[82] = '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + _a[81] = '`let \n [` is a restricted production at the start of a statement', + _a[83] = 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + _a[84] = 'Catch clause parameter does not support default values', + _a[85] = 'Missing catch or finally after try', + _a[86] = 'More than one default clause in switch statement', + _a[87] = 'Illegal newline after throw', + _a[88] = 'Strict mode code may not include a with statement', + _a[89] = 'Illegal return statement', + _a[90] = 'The left hand side of the for-header binding declaration is not destructible', + _a[91] = 'new.target only allowed within functions', + _a[93] = "'#' not followed by identifier", + _a[99] = 'Invalid keyword', + _a[98] = "Can not use 'let' as a class name", + _a[97] = "'A lexical declaration can't define a 'let' binding", + _a[96] = 'Can not use `let` as variable name in strict mode', + _a[94] = "'%0' may not be used as an identifier in this context", + _a[95] = 'Await is only valid in async functions', + _a[100] = 'The %0 keyword can only be used with the module goal', + _a[101] = 'Unicode codepoint must not be greater than 0x10FFFF', + _a[102] = '%0 source must be string', + _a[103] = 'Only a identifier can be used to indicate alias', + _a[104] = "Only '*' or '{...}' can be imported after default", + _a[105] = 'Trailing decorator may be followed by method', + _a[106] = "Decorators can't be used with a constructor", + _a[108] = 'HTML comments are only allowed with web compatibility (Annex B)', + _a[109] = "The identifier 'let' must not be in expression position in strict mode", + _a[110] = 'Cannot assign to `eval` and `arguments` in strict mode', + _a[111] = "The left-hand side of a for-of loop may not start with 'let'", + _a[112] = 'Block body arrows can not be immediately invoked without a group', + _a[113] = 'Block body arrows can not be immediately accessed without a group', + _a[114] = 'Unexpected strict mode reserved word', + _a[115] = 'Unexpected eval or arguments in strict mode', + _a[116] = 'Decorators must not be followed by a semicolon', + _a[117] = 'Calling delete on expression not allowed in strict mode', + _a[118] = 'Pattern can not have a tail', + _a[120] = 'Can not have a `yield` expression on the left side of a ternary', + _a[121] = 'An arrow function can not have a postfix update operator', + _a[122] = 'Invalid object literal key character after generator star', + _a[123] = 'Private fields can not be deleted', + _a[125] = 'Classes may not have a field called constructor', + _a[124] = 'Classes may not have a private element named constructor', + _a[126] = 'A class field initializer may not contain arguments', + _a[127] = 'Generators can only be declared at the top level or inside a block', + _a[128] = 'Async methods are a restricted production and cannot have a newline following it', + _a[129] = 'Unexpected character after object literal property name', + _a[131] = 'Invalid key token', + _a[132] = "Label '%0' has already been declared", + _a[133] = 'continue statement must be nested within an iteration statement', + _a[134] = "Undefined label '%0'", + _a[135] = 'Trailing comma is disallowed inside import(...) arguments', + _a[136] = 'import() requires exactly one argument', + _a[137] = 'Cannot use new with import(...)', + _a[138] = '... is not allowed in import()', + _a[139] = "Expected '=>'", + _a[140] = "Duplicate binding '%0'", + _a[141] = "Cannot export a duplicate name '%0'", + _a[144] = 'Duplicate %0 for-binding', + _a[142] = "Exported binding '%0' needs to refer to a top-level declared variable", + _a[143] = 'Unexpected private field', + _a[147] = 'Numeric separators are not allowed at the end of numeric literals', + _a[146] = 'Only one underscore is allowed as numeric separator', + _a[148] = 'JSX value should be either an expression or a quoted JSX text', + _a[149] = 'Expected corresponding JSX closing tag for %0', + _a[150] = 'Adjacent JSX elements must be wrapped in an enclosing tag', + _a[151] = "JSX attributes must only be assigned a non-empty 'expression'", + _a[152] = "'%0' has already been declared", + _a[153] = "'%0' shadowed a catch clause binding", + _a[154] = 'Dot property must be an identifier', + _a[155] = 'Encountered invalid input after spread/rest argument', + _a[156] = 'Catch without try', + _a[157] = 'Finally without try', + _a[158] = 'Expected corresponding closing tag for JSX fragment', + _a[159] = 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + _a[160] = 'Invalid tagged template on optional chain', + _a[161] = 'Invalid optional chain from super property', + _a[162] = 'Invalid optional chain from new expression', + _a[163] = 'Cannot use "import.meta" outside a module', + _a[164] = 'Leading decorators must be attached to a class declaration', + _a); + var ParseError = (function (_super) { + __extends(ParseError, _super); + function ParseError(startindex, line, column, type) { + var params = []; + for (var _i = 4; _i < arguments.length; _i++) { + params[_i - 4] = arguments[_i]; + } + var _this = this; + var message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, function (_, i) { return params[i]; }); + _this = _super.call(this, "" + message) || this; + _this.index = startindex; + _this.line = line; + _this.column = column; + _this.description = message; + _this.loc = { + line: line, + column: column + }; + return _this; + } + return ParseError; + }(SyntaxError)); + function report(parser, type) { + var params = []; + for (var _i = 2; _i < arguments.length; _i++) { + params[_i - 2] = arguments[_i]; + } + throw new (ParseError.bind.apply(ParseError, __spreadArray([void 0, parser.index, parser.line, parser.column, type], params)))(); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type) { + var params = []; + for (var _i = 4; _i < arguments.length; _i++) { + params[_i - 4] = arguments[_i]; + } + throw new (ParseError.bind.apply(ParseError, __spreadArray([void 0, index, line, column, type], params)))(); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + var unicodeLookup = (function (compressed, lookup) { + var result = new Uint32Array(104448); + var index = 0; + var subIndex = 0; + while (index < 3540) { + var inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + var code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + var lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + var CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + var isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + var isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + var CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + var source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + var index = parser.index; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + var isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + var loc = { + start: { + line: line, + column: column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + var index = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + var skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + var loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + var bodyStart = parser.index; + var preparseState = 0; + loop: while (true) { + var ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + var bodyEnd = parser.index - 1; + var mask = 0; + var char = parser.currentChar; + var flagStart = parser.index; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + var flags = parser.source.slice(flagStart, parser.index); + var pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern: pattern, flags: flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + var start = parser.index; + var ret = ''; + var char = advanceChar(parser); + var marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + var code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + var nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + var code = first - 48; + var index = parser.index + 1; + var column = parser.column + 1; + if (index < parser.end) { + var next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + var next_1 = parser.source.charCodeAt(index); + if (CharTypes[next_1] & 32) { + parser.currentChar = next_1; + code = (code << 3) | (next_1 - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + var code = first - 48; + var index = parser.index + 1; + var column = parser.column + 1; + if (index < parser.end) { + var next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + var ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + var hi = toHex(ch1); + var ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + var lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + var ch = advanceChar(parser); + if (parser.currentChar === 123) { + var code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + var ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + var ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + var ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + var start = parser.index; + var token = 67174409; + var ret = ''; + var char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + var code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + var index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + var char = parser.currentChar; + var value = 0; + var digit = 9; + var atStart = kind & 64 ? 0 : 1; + var digits = 0; + var allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + var end = parser.index; + var isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + var index = parser.index; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + var allowSeparator = 0; + var start = parser.index; + var ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + var index = parser.index; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + var KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + var descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + var cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + var start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + var code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + var length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + var token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + var codePoint = 0; + var char = parser.currentChar; + if (char === 123) { + var begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + var char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + var char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + var char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + var TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + var loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + var isStartOfLine = parser.index === 0; + var source = parser.source; + var startPos = parser.index; + var startLine = parser.line; + var startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + var char = parser.currentChar; + if (char <= 0x7e) { + var token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + var ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + var index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + var index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + var ch_1 = parser.currentChar; + if (ch_1 === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch_1 === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + var ch_2 = parser.currentChar; + if (ch_2 === 61) { + advanceChar(parser); + return 4194340; + } + if (ch_2 !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + var ch_3 = parser.currentChar; + if (ch_3 === 43) { + advanceChar(parser); + return 33619995; + } + if (ch_3 === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + var ch_4 = parser.currentChar; + if (ch_4 === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch_4 === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + var ch_5 = parser.currentChar; + if (ch_5 === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch_5 === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch_5 === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + var next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + var index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + var ch_6 = parser.currentChar; + if (ch_6 === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch_6 === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + var ch_7 = parser.currentChar; + if (ch_7 === 61) { + advanceChar(parser); + return 8456001; + } + if (ch_7 !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + var ch_8 = parser.currentChar; + if (ch_8 === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch_8 === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + var ch_9 = parser.currentChar; + if (ch_9 === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch_9 === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + var ch_10 = advanceChar(parser); + if (ch_10 === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch_10 === 46) { + var index = parser.index + 1; + if (index < parser.end) { + ch_10 = source.charCodeAt(index); + if (!(ch_10 >= 48 && ch_10 <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + var entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + var decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, function (key) { + if (key.charAt(1) === '#') { + var secondChar = key.charAt(2); + var codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + var quote = parser.currentChar; + var char = advanceChar(parser); + var start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + var token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + var state = 0; + while (parser.index < parser.end) { + var type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + var raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + var index = parser.index; + var char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + var elements = node.elements; + for (var i = 0, n = elements.length; i < n; ++i) { + var element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + var properties = node.properties; + for (var i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + var set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line: line, + column: column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + var scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type) { + var params = []; + for (var _i = 2; _i < arguments.length; _i++) { + params[_i - 2] = arguments[_i]; + } + var index = parser.index, line = parser.line, column = parser.column; + return { + type: type, + params: params, + index: index, + line: line, + column: column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent: parent, + type: type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + var value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + var currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + var value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + var comment = { + type: type, + value: value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + var tokens = { + token: token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source: source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile: sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment: onComment, + onToken: onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + var sourceFile = ''; + var onComment; + var onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + var parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + var scope = context & 64 ? createScope() : void 0; + var body = []; + var sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (var key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + var node = { + type: 'Program', + sourceType: sourceType, + body: body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + var statements = []; + while (parser.token === 134283267) { + var index = parser.index, tokenPos = parser.tokenPos, tokenValue = parser.tokenValue, linePos = parser.linePos, colPos = parser.colPos, token = parser.token; + var expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + var statements = []; + if (context & 8) { + while (parser.token === 134283267) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos, token = parser.token; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + var moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + var start = parser.tokenPos; + var line = parser.linePos; + var column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + var tokenValue = parser.tokenValue, token = parser.token; + var expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + var body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body: body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + var argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument: argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression: expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + var body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body: body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + var token = parser.token, tokenValue = parser.tokenValue; + var expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + var asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression: expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression: expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + var argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument: argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + var test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + var consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + var alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test: test, + consequent: consequent, + alternate: alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + var discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + var cases = []; + var seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var test_1 = null; + var consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test_1 = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test: test_1, + consequent: consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant: discriminant, + cases: cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + var test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + var body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test: test, + body: body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + var label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + var tokenValue = parser.tokenValue; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label: label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + var label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + var tokenValue = parser.tokenValue; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label: label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + var object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + var body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object: object, + body: body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + var firstScope = scope ? addChildScope(scope, 32) : void 0; + var block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + var finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + var finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block: block, + handler: handler, + finalizer: finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + var param = null; + var additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + var body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param: param, + body: body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + var body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + var test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body: body, + test: test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + var token = parser.token, tokenValue = parser.tokenValue; + var expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + var declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations: declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + var scope_1 = void 0; + if (context & 64) + scope_1 = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope_1, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + var declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations: declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + var declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations: declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + var bindingCount = 1; + var list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var init = null; + var id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id: id, + init: init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + var forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + var test = null; + var update = null; + var destructible = 0; + var init = null; + var isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + var right; + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + var body_1 = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right: right, + body: body_1, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + var body_2 = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body: body_2, + left: init, + right: right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + var body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init: init, + test: test, + update: update, + body: body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + var start = parser.tokenPos; + var line = parser.linePos; + var column = parser.colPos; + nextToken(parser, context); + var source = null; + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + var local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local: local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers: specifiers, + source: source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + var token = parser.token, tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var imported = parseIdentifier(parser, context, 0); + var local = void 0; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local: local, + imported: imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + var expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + var expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + var start = parser.tokenPos; + var line = parser.linePos; + var column = parser.colPos; + nextToken(parser, context | 32768); + var specifiers = []; + var declaration = null; + var source = null; + var key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + declaration = parseIdentifier(parser, context, 0); + var flags = parser.flags; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration: declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + var exported = null; + var isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source: source, + exported: exported + }); + } + case 2162700: { + nextToken(parser, context); + var tmpExportedNames = []; + var tmpExportedBindings = []; + while (parser.token & 143360) { + var tokenPos_1 = parser.tokenPos, tokenValue = parser.tokenValue, linePos_1 = parser.linePos, colPos_1 = parser.colPos; + var local = parseIdentifier(parser, context, 0); + var exported = void 0; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos_1, linePos_1, colPos_1, { + type: 'ExportSpecifier', + local: local, + exported: exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + var i = 0; + var iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration: declaration, + specifiers: specifiers, + source: source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + var expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + var expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions: expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + var expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + var token = parser.token; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: left, + right: right + } + : { + type: 'AssignmentExpression', + left: left, + operator: KeywordDescTable[token & 255], + right: right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + var token = parser.token; + nextToken(parser, context | 32768); + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: left, + right: right + } + : { + type: 'AssignmentExpression', + left: left, + operator: KeywordDescTable[token & 255], + right: right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + var consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + var alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test: test, + consequent: consequent, + alternate: alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + var bit = -((context & 134217728) > 0) & 8738868; + var t; + var prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left: left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + var unaryOperator = parser.token; + nextToken(parser, context | 32768); + var arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + var token = parser.token; + var expr = parseIdentifier(parser, context, isPattern); + var flags = parser.flags; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + var argument = null; + var delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument: argument, + delegate: delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + var argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument: argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + consume(parser, context | 32768, 2162700); + var body = []; + var prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + var index = parser.index, tokenPos_2 = parser.tokenPos, tokenValue = parser.tokenValue, token = parser.token; + var expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos_2, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos_2, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body: body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + var expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + var token = parser.token; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + var property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property: property + }); + break; + } + case 69271571: { + var restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property: property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + var restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + var args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + var restoreHasOptionalChaining = false; + var node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property: property + }); + } + else if (parser.token === 67174411) { + var args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + var property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property: property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + var token = parser.token; + nextToken(parser, context | 32768); + var arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + var token = parser.token, tokenValue = parser.tokenValue; + var expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + var expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta: meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + var source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source: source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + var tokenRaw = parser.tokenRaw, tokenValue = parser.tokenValue; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + var tokenValue = parser.tokenValue, tokenRaw = parser.tokenRaw, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + consume(parser, context, 67174409); + var quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis: quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + var tokenValue = parser.tokenValue, tokenRaw = parser.tokenRaw, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + consume(parser, context | 32768, 67174408); + var quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + var expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + var tokenValue_1 = parser.tokenValue, tokenRaw_1 = parser.tokenRaw, tokenPos_3 = parser.tokenPos, linePos_2 = parser.linePos, colPos_2 = parser.colPos; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue_1, tokenRaw_1, tokenPos_3, linePos_2, colPos_2, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + var tokenValue_2 = parser.tokenValue, tokenRaw_2 = parser.tokenRaw, tokenPos_4 = parser.tokenPos, linePos_3 = parser.linePos, colPos_3 = parser.colPos; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue_2, tokenRaw_2, tokenPos_4, linePos_3, colPos_3, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions: expressions, + quasis: quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + var node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked: cooked, + raw: raw + }, + tail: tail + }); + var tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + var argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument: argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + var args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + var tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + var tokenValue = parser.tokenValue, tokenRaw = parser.tokenRaw, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + var raw = KeywordDescTable[parser.token & 255]; + var value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: value, + raw: raw + } + : { + type: 'Literal', + value: value + }); + } + function parseThisExpression(parser, context) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + var isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + var id = null; + var firstRestricted; + var functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + var kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + var params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + var body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id: id, + params: params, + body: body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + var isGenerator = optionalBit(parser, context, 8457014); + var generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + var id = null; + var firstRestricted; + var scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + var params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + var body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id: id, + params: params, + body: body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + var expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + var elements = []; + var destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + var left = void 0; + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos, tokenValue = parser.tokenValue; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: left, + right: right + } + : { + type: 'AssignmentExpression', + operator: '=', + left: left, + right: right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + var node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements: elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right: right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right: right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + var argument = null; + var destructible = 0; + var token = parser.token, tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + var token_1 = parser.token, tokenPos_5 = parser.tokenPos, linePos_4 = parser.linePos, colPos_4 = parser.colPos; + if (token_1 === 1077936157 && token_1 !== closingToken && token_1 !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_5, linePos_4, colPos_4, argument); + destructible |= 16; + } + else { + if (token_1 === 18) { + destructible |= 16; + } + else if (token_1 !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_5, linePos_4, colPos_4, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right: right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right: right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + var modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + var scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + var params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + var body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params: params, + body: body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + var expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + var properties = []; + var destructible = 0; + var prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + var token = parser.token, tokenValue = parser.tokenValue, linePos = parser.linePos, colPos = parser.colPos, tokenPos = parser.tokenPos; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + var state = 0; + var key = null; + var value = void 0; + var t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right: right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + var tokenPos_6 = parser.tokenPos, linePos_5 = parser.linePos, colPos_5 = parser.colPos; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + var tokenAfterColon = parser.token; + var valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos_6, linePos_5, colPos_5); + var token_2 = parser.token; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_6, linePos_5, colPos_5); + if (parser.token === 18 || parser.token === 1074790415) { + if (token_2 === 1077936157 || token_2 === 1074790415 || token_2 === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token_2 !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_6, linePos_5, colPos_5, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos_6, linePos_5, colPos_5, 4, token_2, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos_6, linePos_5, colPos_5); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_6, linePos_5, colPos_5) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_6, linePos_5, colPos_5); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_6, linePos_5, colPos_5); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos_6, linePos_5, colPos_5, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos_6, linePos_5, colPos_5, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos_6, linePos_5, colPos_5); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos_6, linePos_5, colPos_5); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_6, linePos_5, colPos_5); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_6, linePos_5, colPos_5, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + var tokenPos_7 = parser.tokenPos, linePos_6 = parser.linePos, colPos_6 = parser.colPos; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos_7, linePos_6, colPos_6); + var token_3 = parser.token, valueAfterColon = parser.tokenValue; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_7, linePos_6, colPos_6); + if (parser.token === 18 || parser.token === 1074790415) { + if (token_3 === 1077936157 || token_3 === 1074790415 || token_3 === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_7, linePos_6, colPos_6, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_7, linePos_6, colPos_6, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_7, linePos_6, colPos_6) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_7, linePos_6, colPos_6); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_7, linePos_6, colPos_6); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos_7, linePos_6, colPos_6, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos_7, linePos_6, colPos_6, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos_7, linePos_6, colPos_6); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos_7, linePos_6, colPos_6); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_7, linePos_6, colPos_6); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_7, linePos_6, colPos_6, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + var tokenPos_8 = parser.tokenPos, linePos_7 = parser.linePos, colPos_7 = parser.colPos, tokenValue_3 = parser.tokenValue, tokenAfterColon = parser.token; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos_8, linePos_7, colPos_7); + var token_4 = parser.token; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_8, linePos_7, colPos_7); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token_4 === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos_8, linePos_7, colPos_7, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token_4 === 1077936157 || token_4 === 1074790415 || token_4 === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue_3, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_8, linePos_7, colPos_7, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_8, linePos_7, colPos_7) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos_8, linePos_7, colPos_7); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_8, linePos_7, colPos_7); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos_8, linePos_7, colPos_7, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos_8, linePos_7, colPos_7, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos_8, linePos_7, colPos_7); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos_8, linePos_7, colPos_7); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_8, linePos_7, colPos_7); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos_8, linePos_7, colPos_7, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + var token_5 = parser.token, line_1 = parser.line, index = parser.index; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line_1, index, token_5 === 209007 + ? 43 + : token_5 === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token_5 & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value: value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + var node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties: properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + var params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + var setterArgs = 0; + var isSimpleParameterList = 0; + while (parser.token !== 18) { + var left = null; + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + var right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right: right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + var key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + var piStart = parser.tokenPos, plStart = parser.linePos, pcStart = parser.colPos; + nextToken(parser, context | 32768 | 1073741824); + var scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + var destructible = 0; + parser.destructible &= ~(256 | 128); + var expr; + var expressions = []; + var isSequence = 0; + var isSimpleParameterList = 0; + var iStart = parser.tokenPos, lStart = parser.linePos, cStart = parser.colPos; + parser.assignable = 1; + while (parser.token !== 16) { + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions: expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions: expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + var tokenValue = parser.tokenValue; + var expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + var scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + var scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (var i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + var expression = parser.token !== 2162700; + var body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params: params, + body: body, + async: isAsync === 1, + expression: expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + var params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + var isSimpleParameterList = 0; + while (parser.token !== 18) { + var left = void 0; + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + var right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right: right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + var token = parser.token; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + var property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property: property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + var property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property: property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + var id = parseIdentifier(parser, context | 32768, 0); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + var expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + var callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee: callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + var property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta: meta, + property: property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + var scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: callee, + arguments: [] + }); + } + var destructible = 0; + var expr = null; + var isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + var params = []; + while (parser.token !== 16) { + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + var tokenRaw = parser.tokenRaw, tokenRegExp = parser.tokenRegExp, tokenValue = parser.tokenValue; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + var _a; + context = (context | 16777216 | 1024) ^ 16777216; + var decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + (_a = parser.leadingDecorators).push.apply(_a, decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + var id = null; + var superClass = null; + var tokenValue = parser.tokenValue; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + var inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + var body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id: id, + superClass: superClass, + decorators: decorators, + body: body + } + : { + type: 'ClassDeclaration', + id: id, + superClass: superClass, + body: body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + var id = null; + var superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + var decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + var inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + var body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id: id, + superClass: superClass, + decorators: decorators, + body: body + } + : { + type: 'ClassExpression', + id: id, + superClass: superClass, + body: body + }); + } + function parseDecorators(parser, context) { + var list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + var expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression: expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + var body = []; + var decorators; + while (parser.token !== 1074790415) { + var length_1 = 0; + decorators = parseDecorators(parser, context); + length_1 = decorators.length; + if (length_1 > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length_1 > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body: body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + var kind = isStatic ? 32 : 0; + var key = null; + var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + var value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key: key, + decorators: decorators, + value: value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key: key, + value: value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + var tokenValue = parser.tokenValue; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + var value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key: key, + value: value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators: decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + var left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + var tokenValue = parser.tokenValue, token = parser.token; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + var closingElement = null; + var children = []; + var openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + var close_1 = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close_1) + report(parser, 149, close_1); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children: children, + openingElement: openingElement, + closingElement: closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + var name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name: name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + var children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + var node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + var tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + var attributes = parseJSXAttributes(parser, context); + var selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes: attributes, + selfClosing: selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + var key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + var property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object: object, + property: property + }); + } + function parseJSXAttributes(parser, context) { + var attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + var expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + var value = null; + var name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + var token = scanJSXAttributeValue(parser, context); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value: value, + name: name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + var name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace: namespace, + name: name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + var expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression: expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + var expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression: expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + var tokenValue = parser.tokenValue; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + var version$1 = "4.2.0"; + + var version = version$1; + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + exports.ESTree = estree; + exports.parse = parse; + exports.parseModule = parseModule; + exports.parseScript = parseScript; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/node_modules/meriyah/dist/meriyah.umd.es5.min.js b/node_modules/meriyah/dist/meriyah.umd.es5.min.js new file mode 100644 index 0000000..5155bf1 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.es5.min.js @@ -0,0 +1,15 @@ +!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).meriyah={})}(this,(function(e){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */var r,t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])})(e,r)};function n(e,r){for(var t=0,n=r.length,o=e.length;t>>5)]>>>r)&&s(e,18,m(r)),e.index++,e.column++,1)}function f(e,r){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&r)&&(e.column=0,e.line++)}function k(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function g(e){return 160===e||65279===e||133===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||8201===e||65519===e}function m(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function b(e){return e<65?e-48:e-65+10&15}var h=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],v=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function y(e){return e<=127?v[e]:1&u[34816+(e>>>5)]>>>e}function x(e){return e<=127?P[e]:1&u[0+(e>>>5)]>>>e||8204===e||8205===e}var w=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function q(e,r,t,n,o,a,i,l){return 2048&n&&s(e,0),C(e,r,t,o,a,i,l)}function C(e,r,t,n,o,a,s){var i=e.index;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return s(e,32)}for(var a=e.index-1,i=0,l=e.currentChar,c=e.index;x(l);){switch(l){case 103:2&i&&s(e,34,"g"),i|=2;break;case 105:1&i&&s(e,34,"i"),i|=1;break;case 109:4&i&&s(e,34,"m"),i|=4;break;case 117:16&i&&s(e,34,"g"),i|=16;break;case 121:8&i&&s(e,34,"y"),i|=8;break;case 115:12&i&&s(e,34,"s"),i|=12;break;default:s(e,33)}l=d(e)}var u=e.source.slice(c,e.index),p=e.source.slice(t,a);return e.tokenRegExp={pattern:p,flags:u},512&r&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,r,t){try{return new RegExp(r,t)}catch(r){s(e,32)}}(e,p,u),65540}function S(e,r,t){for(var n=e.index,o="",a=d(e),i=e.index;0==(8&h[a]);){if(a===t)return o+=e.source.slice(i,e.index),d(e),512&r&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=o,134283267;if(8==(8&a)&&92===a){if(o+=e.source.slice(i,e.index),(a=d(e))<127||8232===a||8233===a){var l=D(e,r,a);l>=0?o+=m(l):L(e,l,0)}else o+=m(a);i=e.index+1}e.index>=e.end&&s(e,14),a=d(e)}s(e,14)}function D(e,r,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:o}if(0==(64&h[f]))return-4;p=e.source.charCodeAt(e.index+1);if(0==(64&h[p]))return-4;var k=e.source.charCodeAt(e.index+2);if(0==(64&h[k]))return-4;var g=e.source.charCodeAt(e.index+3);return 0==(64&h[g])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),b(f)<<12|b(p)<<8|b(k)<<4|b(g));case 56:case 57:if(0==(256&r))return-3;default:return t}}function L(e,r,t){switch(r){case-1:return;case-2:s(e,t?2:1);case-3:s(e,13);case-4:s(e,6);case-5:s(e,101)}}function V(e,r){for(var t=e.index,n=67174409,o="",a=d(e);96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){d(e),n=67174408;break}if(8==(8&a)&&92===a)if((a=d(e))>126)o+=m(a);else{var i=D(e,1024|r,a);if(i>=0)o+=m(i);else{if(-1!==i&&65536&r){o=void 0,(a=T(e,a))<0&&(n=67174408);break}L(e,i,1)}}else e.index=e.end&&s(e,15),a=d(e)}return d(e),e.tokenValue=o,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function T(e,r){for(;96!==r;){switch(r){case 36:var t=e.index+1;if(t=e.end&&s(e,15),r=d(e)}return r}function R(e,r){return e.index>=e.end&&s(e,0),e.index--,e.column--,V(e,r)}function N(e,r,t){var n=e.currentChar,o=0,a=9,i=64&t?0:1,l=0,u=0;if(64&t)o="."+I(e,n),110===(n=e.currentChar)&&s(e,11);else{if(48===n)if(120==(32|(n=d(e)))){for(t=136,n=d(e);4160&h[n];)95!==n?(u=1,o=16*o+b(n),l++,n=d(e)):(u||s(e,146),u=0,n=d(e));(l<1||!u)&&s(e,l<1?19:147)}else if(111==(32|n)){for(t=132,n=d(e);4128&h[n];)95!==n?(u=1,o=8*o+(n-48),l++,n=d(e)):(u||s(e,146),u=0,n=d(e));(l<1||!u)&&s(e,l<1?0:147)}else if(98==(32|n)){for(t=130,n=d(e);4224&h[n];)95!==n?(u=1,o=2*o+(n-48),l++,n=d(e)):(u||s(e,146),u=0,n=d(e));(l<1||!u)&&s(e,l<1?0:147)}else if(32&h[n])for(1024&r&&s(e,1),t=1;16&h[n];){if(512&h[n]){t=32,i=0;break}o=8*o+(n-48),n=d(e)}else 512&h[n]?(1024&r&&s(e,1),e.flags|=64,t=32):95===n&&s(e,0);if(48&t){if(i){for(;a>=0&&4112&h[n];)95!==n?(u=0,o=10*o+(n-48),n=d(e),--a):((95===(n=d(e))||32&t)&&c(e.index,e.line,e.index+1,146),u=1);if(u&&c(e.index,e.line,e.index+1,147),a>=0&&!y(n)&&46!==n)return e.tokenValue=o,512&r&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}o+=I(e,n),46===(n=e.currentChar)&&(95===d(e)&&s(e,0),t=64,o+="."+I(e,e.currentChar),n=e.currentChar)}}var p=e.index,f=0;if(110===n&&128&t)f=1,n=d(e);else if(101==(32|n)){n=d(e),256&h[n]&&(n=d(e));var k=e.index;(16&h[n])<1&&s(e,10),o+=e.source.substring(p,k)+I(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],B=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function O(e,r,t){for(;P[d(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?B[e.tokenValue]||208897:G(e,r,0,t)}function j(e,r){var t=H(e);return x(t)||s(e,4),e.tokenValue=m(t),G(e,r,1,4&h[t])}function G(e,r,t,n){for(var o=e.index;e.index=2&&i<=11){var l=B[e.tokenValue];return void 0===l?208897:t?1024&r?209008===l&&0==(4196352&r)?l:36972===l||36864==(36864&l)?122:121:1073741824&r&&0==(8192&r)&&20480==(20480&l)?l:241773===l?1073741824&r?143483:2097152&r?121:l:209007===l&&1073741824&r?143483:36864==(36864&l)||209008===l&&0==(4194304&r)?l:121:l}return 208897}function F(e){return y(d(e))||s(e,93),131}function H(e){return 117!==e.source.charCodeAt(e.index+1)&&s(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){var r=0,t=e.currentChar;if(123===t){for(var n=e.index-2;64&h[d(e)];)(r=r<<4|b(e.currentChar))>1114111&&c(n,e.line,e.index+1,101);return 125!==e.currentChar&&c(n,e.line,e.index-1,6),d(e),r}0==(64&h[t])&&s(e,6);var o=e.source.charCodeAt(e.index+1);0==(64&h[o])&&s(e,6);var a=e.source.charCodeAt(e.index+2);0==(64&h[a])&&s(e,6);var i=e.source.charCodeAt(e.index+3);0==(64&h[i])&&s(e,6);return r=b(t)<<12|b(o)<<8|b(a)<<4|b(i),e.currentChar=e.source.charCodeAt(e.index+=4),r}(e)}var J=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function M(e,r){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=z(e,r,0),e.onToken&&1048576!==e.token){var t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function z(e,r,t){for(var n=0===e.index,o=e.source,a=e.index,i=e.line,l=e.column;e.index=e.end)return 8457014;var v=e.currentChar;return 61===v?(d(e),4194340):42!==v?8457014:61!==d(e)?8457273:(d(e),4194337);case 8455497:return 61!==d(e)?8455497:(d(e),4194343);case 25233970:d(e);var P=e.currentChar;return 43===P?(d(e),33619995):61===P?(d(e),4194338):25233970;case 25233971:d(e);var y=e.currentChar;if(45===y){if(d(e),(1&t||n)&&62===e.currentChar){0==(256&r)&&s(e,108),d(e),t=q(e,o,t,r,3,a,i,l),a=e.tokenPos,i=e.linePos,l=e.colPos;continue}return 33619996}return 61===y?(d(e),4194339):25233971;case 8457016:if(d(e),e.index=48&&w<=57)return N(e,r,80);if(46===w)if((I=e.index+1)=48&&U<=57))return d(e),67108991;return 22}}else{if((8232^c)<=1){t=-5&t|1,k(e);continue}if(55296==(64512&c)||0!=(1&u[34816+(c>>>5)]>>>c))return 56320==(64512&c)&&(0==(1&u[0+((c=(1023&c)<<10|1023&c|65536)>>>5)]>>>c)&&s(e,18,m(c)),e.index++,e.currentChar=c),e.column++,e.tokenValue="",G(e,r,0,0);if(g(c)){d(e);continue}s(e,18,m(c))}}return 1048576}var X={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},_={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function Y(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(function(e){if("#"===e.charAt(1)){var r=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in _&&(e=_[e]);return String.fromCodePoint(e)}("X"===r||"x"===r?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return X[e.slice(1,-1)]||e}))}function $(e,r){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&h[e.currentChar]?function(e,r){var t=e.currentChar,n=d(e),o=e.index;for(;n!==t;)e.index>=e.end&&s(e,14),n=d(e);n!==t&&s(e,14);e.tokenValue=e.source.slice(o,e.index),d(e),512&r&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,r):z(e,r,0),e.token}function Z(e,r){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(J[e.source.charCodeAt(e.index)]){case 8456258:d(e),47===e.currentChar?(d(e),e.token=25):e.token=8456258;break;case 2162700:d(e),e.token=2162700;break;default:for(var t=0;e.index0&&re(e,r,209008);te(e,32768|r,67174411),t&&(t=pe(t,1));var c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token,g=e.token,m=e.tokenPos,b=e.linePos,h=e.colPos;k?241739===g?(f=sr(e,r,0),2240512&e.token?(8738868===e.token?1024&r&&s(e,64):f=le(e,r,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:Re(e,134217728|r,t,8,32)}),e.assignable=1):1024&r?s(e,64):(k=!1,e.assignable=1,f=$e(e,r,f,0,0,m,b,h),274549===e.token&&s(e,111))):(M(e,r),f=le(e,r,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:Re(e,134217728|r,t,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Re(e,134217728|r,t,16,32)}),e.assignable=1):1074790417===g?l&&s(e,79):2097152==(2097152&g)?(f=2162700===g?kr(e,r,void 0,1,0,0,2,32,m,b,h):ur(e,r,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&r&&64&p&&s(e,60),e.assignable=16&p?2:1,f=$e(e,134217728|r,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Ye(e,134217728|r,1,0,1,m,b,h);if(262144==(262144&e.token)){return 274549===e.token?(2&e.assignable&&s(e,77,l?"await":"of"),ne(e,f),M(e,32768|r),c=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos),te(e,32768|r,16),le(e,r,o,a,i,{type:"ForOfStatement",left:f,right:c,body:Le(e,r,t,n),await:l})):(2&e.assignable&&s(e,77,"in"),ne(e,f),M(e,32768|r),l&&s(e,79),c=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos),te(e,32768|r,16),le(e,r,o,a,i,{type:"ForInStatement",body:Le(e,r,t,n),left:f,right:c}))}l&&s(e,79);k||(8&p&&1077936157!==e.token&&s(e,77,"loop"),f=Je(e,134217728|r,0,0,m,b,h,f));18===e.token&&(f=Fe(e,r,0,e.tokenPos,e.linePos,e.colPos,f));te(e,32768|r,1074790417),1074790417!==e.token&&(u=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos));te(e,32768|r,1074790417),16!==e.token&&(d=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos));te(e,32768|r,16);var v=Le(e,r,t,n);return le(e,r,o,a,i,{type:"ForStatement",init:f,test:u,update:d,body:v})}(e,r,t,o,i,l,c);case 20564:return function(e,r,t,n,o,a,s){M(e,32768|r);var i=Le(e,r,t,n);te(e,r,20580),te(e,32768|r,67174411);var l=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);return te(e,32768|r,16),re(e,r,1074790417),le(e,r,o,a,s,{type:"DoWhileStatement",body:i,test:l})}(e,r,t,o,i,l,c);case 20580:return function(e,r,t,n,o,a,s){M(e,r),te(e,32768|r,67174411);var i=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);te(e,32768|r,16);var l=Le(e,r,t,n);return le(e,r,o,a,s,{type:"WhileStatement",test:i,body:l})}(e,r,t,o,i,l,c);case 86112:return function(e,r,t,n,o,a,i){M(e,r),te(e,32768|r,67174411);var l=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);te(e,r,16),te(e,r,2162700);var c=[],u=0;t&&(t=pe(t,8));for(;1074790415!==e.token;){var d=e.tokenPos,p=e.linePos,f=e.colPos,k=null,g=[];for(re(e,32768|r,20558)?k=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos):(te(e,32768|r,20563),u&&s(e,86),u=1),te(e,32768|r,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)g.push(xe(e,4096|r,t,2,{$:n}));c.push(le(e,r,d,p,f,{type:"SwitchCase",test:k,consequent:g}))}return te(e,32768|r,1074790415),le(e,r,o,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,r,t,o,i,l,c);case 1074790417:return function(e,r,t,n,o){return M(e,32768|r),le(e,r,t,n,o,{type:"EmptyStatement"})}(e,r,i,l,c);case 2162700:return qe(e,r,t?pe(t,2):t,o,i,l,c);case 86114:return function(e,r,t,n,o){M(e,32768|r),1&e.flags&&s(e,87);var a=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|r),le(e,r,t,n,o,{type:"ThrowStatement",argument:a})}(e,r,i,l,c);case 20557:return function(e,r,t,n,o,a){M(e,32768|r);var i=null;if((1&e.flags)<1&&143360&e.token){var l=e.tokenValue;i=sr(e,32768|r,0),ie(e,t,l,0)||s(e,134,l)}else(135168&r)<1&&s(e,66);return K(e,32768|r),le(e,r,n,o,a,{type:"BreakStatement",label:i})}(e,r,o,i,l,c);case 20561:return function(e,r,t,n,o,a){(131072&r)<1&&s(e,65);M(e,r);var i=null;if((1&e.flags)<1&&143360&e.token){var l=e.tokenValue;i=sr(e,32768|r,0),ie(e,t,l,1)||s(e,134,l)}return K(e,32768|r),le(e,r,n,o,a,{type:"ContinueStatement",label:i})}(e,r,o,i,l,c);case 20579:return function(e,r,t,n,o,a,i){M(e,32768|r);var l=t?pe(t,32):void 0,c=qe(e,r,l,{$:n},e.tokenPos,e.linePos,e.colPos),u=e.tokenPos,d=e.linePos,p=e.colPos,f=re(e,32768|r,20559)?function(e,r,t,n,o,a,i){var l=null,c=t;re(e,r,67174411)&&(t&&(t=pe(t,4)),l=Vr(e,r,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?s(e,83):1077936157===e.token&&s(e,84),te(e,32768|r,16),t&&(c=pe(t,64)));var u=qe(e,r,c,{$:n},e.tokenPos,e.linePos,e.colPos);return le(e,r,o,a,i,{type:"CatchClause",param:l,body:u})}(e,r,t,n,u,d,p):null,k=null;if(20568===e.token){M(e,32768|r),k=qe(e,r,l?pe(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}f||k||s(e,85);return le(e,r,o,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,r,t,o,i,l,c);case 20581:return function(e,r,t,n,o,a,i){M(e,r),1024&r&&s(e,88);te(e,32768|r,67174411);var l=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);te(e,32768|r,16);var c=we(e,r,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return le(e,r,o,a,i,{type:"WithStatement",object:l,body:c})}(e,r,t,o,i,l,c);case 20562:return function(e,r,t,n,o){return M(e,32768|r),K(e,32768|r),le(e,r,t,n,o,{type:"DebuggerStatement"})}(e,r,i,l,c);case 209007:return Ae(e,r,t,n,o,0,i,l,c);case 20559:s(e,156);case 20568:s(e,157);case 86106:s(e,1024&r?73:(256&r)<1?75:74);case 86096:s(e,76);default:return function(e,r,t,n,o,a,i,l,c){var u,d=e.tokenValue,p=e.token;switch(p){case 241739:u=sr(e,r,0),1024&r&&s(e,82),69271571===e.token&&s(e,81);break;default:u=We(e,r,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&p&&21===e.token)return Ee(e,r,t,n,o,d,u,p,a,i,l,c);u=$e(e,r,u,0,0,i,l,c),u=Je(e,r,0,0,i,l,c,u),18===e.token&&(u=Fe(e,r,0,i,l,c,u));return Ce(e,r,u,i,l,c)}(e,r,t,n,o,a,i,l,c)}}function qe(e,r,t,n,o,a,s){var i=[];for(te(e,32768|r,2162700);1074790415!==e.token;)i.push(xe(e,r,t,2,{$:n}));return te(e,32768|r,1074790415),le(e,r,o,a,s,{type:"BlockStatement",body:i})}function Ce(e,r,t,n,o,a){return K(e,32768|r),le(e,r,n,o,a,{type:"ExpressionStatement",expression:t})}function Ee(e,r,t,n,o,a,i,l,c,u,d,p){return oe(e,r,0,l,1),function(e,r,t){for(var n=r;n;)n["$"+t]&&s(e,132,t),n=n.$;r["$"+t]=1}(e,o,a),M(e,32768|r),le(e,r,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&r)<1&&256&r&&86106===e.token?lr(e,r,pe(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):we(e,r,t,n,o,c,e.tokenPos,e.linePos,e.colPos)})}function Ae(e,r,t,n,o,a,i,l,c){var u=e.token,d=e.tokenValue,p=sr(e,r,0);if(21===e.token)return Ee(e,r,t,n,o,d,p,u,1,i,l,c);var f=1&e.flags;if(!f){if(86106===e.token)return a||s(e,119),lr(e,r,t,n,1,0,1,i,l,c);if(143360==(143360&e.token))return p=xr(e,r,1,i,l,c),18===e.token&&(p=Fe(e,r,0,i,l,c,p)),Ce(e,r,p,i,l,c)}return 67174411===e.token?p=wr(e,r,p,1,1,0,f,i,l,c):(10===e.token&&(ve(e,r,u,1),p=br(e,r,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=$e(e,r,p,0,0,i,l,c),18===e.token&&(p=Fe(e,r,0,i,l,c,p)),p=Je(e,r,0,0,i,l,c,p),e.assignable=1,Ce(e,r,p,i,l,c)}function Se(e,r,t,n,o,a,s){return 1074790417!==n&&(e.assignable=2,t=$e(e,r,t,0,0,o,a,s),1074790417!==e.token&&(t=Je(e,r,0,0,o,a,s,t),18===e.token&&(t=Fe(e,r,0,o,a,s,t))),K(e,32768|r)),8&r&&"Literal"===t.type&&"string"==typeof t.value?le(e,r,o,a,s,{type:"ExpressionStatement",expression:t,directive:t.raw.slice(1,-1)}):le(e,r,o,a,s,{type:"ExpressionStatement",expression:t})}function De(e,r,t,n,o,a,s){return 1024&r||(256&r)<1||86106!==e.token?we(e,r,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):lr(e,r,pe(t,2),0,0,0,0,o,a,s)}function Le(e,r,t,n){return we(e,134217728^(134217728|r)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function Ve(e,r,t,n,o,a,s,i){M(e,r);var l=Re(e,r,t,n,o);return K(e,32768|r),le(e,r,a,s,i,{type:"VariableDeclaration",kind:8&n?"let":"const",declarations:l})}function Te(e,r,t,n,o,a,s){M(e,r);var i=Re(e,r,t,4,n);return K(e,32768|r),le(e,r,o,a,s,{type:"VariableDeclaration",kind:"var",declarations:i})}function Re(e,r,t,n,o){for(var a=1,i=[Ne(e,r,t,n,o)];re(e,r,18);)a++,i.push(Ne(e,r,t,n,o));return a>1&&32&o&&262144&e.token&&s(e,58,U[255&e.token]),i}function Ne(e,r,t,n,o){var a=e.token,i=e.tokenPos,c=e.linePos,u=e.colPos,d=null,p=Vr(e,r,t,n,o,i,c,u);return 1077936157===e.token?(M(e,32768|r),d=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&o||(2097152&a)<1)&&(274549===e.token||8738868===e.token&&(2097152&a||(4&n)<1||1024&r))&&l(i,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&n||(2097152&a)>0)&&262144!=(262144&e.token)&&s(e,56,16&n?"const":"destructuring"),le(e,r,i,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ie(e,r,t){return he(r,e.token)||s(e,114),537079808==(537079808&e.token)&&s(e,115),t&&ke(e,r,t,e.tokenValue,8,0),sr(e,r,0)}function Ue(e,r,t){var n=e.tokenPos,o=e.linePos,a=e.colPos;return M(e,r),te(e,r,77934),134217728==(134217728&e.token)&&l(n,e.line,e.index,28,U[255&e.token]),le(e,r,n,o,a,{type:"ImportNamespaceSpecifier",local:Ie(e,r,t)})}function Be(e,r,t,n){for(M(e,r);143360&e.token;){var o=e.token,a=e.tokenValue,i=e.tokenPos,l=e.linePos,c=e.colPos,u=sr(e,r,0),d=void 0;re(e,r,77934)?(134217728==(134217728&e.token)||18===e.token?s(e,103):oe(e,r,16,e.token,0),a=e.tokenValue,d=sr(e,r,0)):(oe(e,r,16,o,0),d=u),t&&ke(e,r,t,a,8,0),n.push(le(e,r,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&te(e,r,18)}return te(e,r,1074790415),n}function Oe(e,r,t,n,o){var a=Ke(e,r,le(e,r,t,n,o,{type:"Identifier",name:"import"}),t,n,o);return Ce(e,r,a=Je(e,r,0,0,t,n,o,a=$e(e,r,a,0,0,t,n,o)),t,n,o)}function je(e,r,t,n,o){var a=Qe(e,r,0,t,n,o);return Ce(e,r,a=$e(e,r,a,0,0,t,n,o),t,n,o)}function Ge(e,r,t,n,o,a,s,i){var l=We(e,r,2,0,t,n,o,1,a,s,i);return Je(e,r,o,0,a,s,i,l=$e(e,r,l,o,0,a,s,i))}function Fe(e,r,t,n,o,a,s){for(var i=[s];re(e,32768|r,18);)i.push(Ge(e,r,1,0,t,e.tokenPos,e.linePos,e.colPos));return le(e,r,n,o,a,{type:"SequenceExpression",expressions:i})}function He(e,r,t,n,o,a,s){var i=Ge(e,r,n,0,t,o,a,s);return 18===e.token?Fe(e,r,t,o,a,s,i):i}function Je(e,r,t,n,o,a,i,l){var c=e.token;if(4194304==(4194304&c)){2&e.assignable&&s(e,24),(!n&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&ne(e,l),M(e,32768|r);var u=Ge(e,r,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,le(e,r,o,a,i,n?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:U[255&c],right:u})}return 8454144==(8454144&c)&&(l=Xe(e,r,t,o,a,i,4,c,l)),re(e,32768|r,22)&&(l=ze(e,r,l,o,a,i)),l}function Me(e,r,t,n,o,a,s,i){var l=e.token;M(e,32768|r);var c=Ge(e,r,1,1,t,e.tokenPos,e.linePos,e.colPos);return i=le(e,r,o,a,s,n?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:U[255&l],right:c}),e.assignable=2,i}function ze(e,r,t,n,o,a){var s=Ge(e,134217728^(134217728|r),1,0,0,e.tokenPos,e.linePos,e.colPos);te(e,32768|r,21),e.assignable=1;var i=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,le(e,r,n,o,a,{type:"ConditionalExpression",test:t,consequent:s,alternate:i})}function Xe(e,r,t,n,o,a,i,l,c){var u,d,p=8738868&-((134217728&r)>0);for(e.assignable=2;8454144&e.token&&(d=3840&(u=e.token),(524288&u&&268435456&l||524288&l&&268435456&u)&&s(e,159),!(d+((8457273===u)<<8)-((p===u)<<12)<=i));)M(e,32768|r),c=le(e,r,n,o,a,{type:524288&u||268435456&u?"LogicalExpression":"BinaryExpression",left:c,right:Xe(e,r,t,e.tokenPos,e.linePos,e.colPos,d,u,Ye(e,r,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:U[255&u]});return 1077936157===e.token&&s(e,24),c}function _e(e,r,t,n,o,a){var c=e.tokenPos,u=e.linePos,d=e.colPos;te(e,32768|r,2162700);var p=[],f=r;if(1074790415!==e.token){for(;134283267===e.token;){var k=e.index,g=e.tokenPos,m=e.tokenValue,b=e.token,h=ir(e,r);Q(e,k,g,m)&&(r|=1024,128&e.flags&&l(e.index,e.line,e.tokenPos,63),64&e.flags&&l(e.index,e.line,e.tokenPos,8)),p.push(Se(e,r,h,b,g,e.linePos,e.colPos))}1024&r&&(o&&(537079808==(537079808&o)&&s(e,115),36864==(36864&o)&&s(e,38)),512&e.flags&&s(e,115),256&e.flags&&s(e,114)),64&r&&t&&void 0!==a&&(1024&f)<1&&(8192&r)<1&&i(a)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(xe(e,r,t,4,{}));return te(e,24&n?32768|r:r,1074790415),e.flags&=-193,1077936157===e.token&&s(e,24),le(e,r,c,u,d,{type:"BlockStatement",body:p})}function Ye(e,r,t,n,o,a,s,i){return $e(e,r,We(e,r,2,0,t,0,n,o,a,s,i),n,0,a,s,i)}function $e(e,r,t,n,o,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,r,t,n,o,a){2&e.assignable&&s(e,52);var i=e.token;return M(e,r),e.assignable=2,le(e,r,n,o,a,{type:"UpdateExpression",argument:t,operator:U[255&i],prefix:!1})}(e,r,t,a,i,l);else if(67108864==(67108864&e.token)){switch(r=134225920^(134225920|r),e.token){case 67108877:M(e,1073741824|r),e.assignable=1,t=le(e,r,a,i,l,{type:"MemberExpression",object:t,computed:!1,property:u=Ze(e,r)});break;case 69271571:var c=!1;2048==(2048&e.flags)&&(c=!0,e.flags=2048^(2048|e.flags)),M(e,32768|r);var u=He(e,r,n,1,e.tokenPos,e.linePos,e.colPos);te(e,r,20),e.assignable=1,t=le(e,r,a,i,l,{type:"MemberExpression",object:t,computed:!0,property:u}),c&&(e.flags|=2048);break;case 67174411:if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;c=!1;2048==(2048&e.flags)&&(c=!0,e.flags=2048^(2048|e.flags));var d=ar(e,r,n);e.assignable=2,t=le(e,r,a,i,l,{type:"CallExpression",callee:t,arguments:d}),c&&(e.flags|=2048);break;case 67108991:M(e,r),e.flags|=2048,e.assignable=2,t=function(e,r,t,n,o,a){var i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){M(e,32768|r);var c=He(e,r,0,1,e.tokenPos,e.linePos,e.colPos);te(e,r,20),e.assignable=2,i=le(e,r,n,o,a,{type:"MemberExpression",object:t,computed:!0,optional:!0,property:c})}else if(67174411===e.token){var u=ar(e,r,0);e.assignable=2,i=le(e,r,n,o,a,{type:"CallExpression",callee:t,arguments:u,optional:!0})}else{(143360&e.token)<1&&s(e,154);c=sr(e,r,0);e.assignable=2,i=le(e,r,n,o,a,{type:"MemberExpression",object:t,computed:!1,optional:!0,property:c})}l&&(e.flags|=2048);return i}(e,r,t,a,i,l);break;default:2048==(2048&e.flags)&&s(e,160),e.assignable=2,t=le(e,r,a,i,l,{type:"TaggedTemplateExpression",tag:t,quasi:67174408===e.token?tr(e,65536|r):rr(e,r,e.tokenPos,e.linePos,e.colPos)})}t=$e(e,r,t,0,1,a,i,l)}return 0===o&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=le(e,r,a,i,l,{type:"ChainExpression",expression:t})),t}function Ze(e,r){return(143360&e.token)<1&&131!==e.token&&s(e,154),1&r&&131===e.token?Dr(e,r,e.tokenPos,e.linePos,e.colPos):sr(e,r,0)}function We(e,r,t,n,o,a,i,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,r,t,n,o,a,i){if(n&&(e.destructible|=128),4194304&r||2048&r&&8192&r){t&&s(e,0),8388608&r&&l(e.index,e.line,e.index,29),M(e,32768|r);var c=Ye(e,r,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&s(e,31),e.assignable=2,le(e,r,o,a,i,{type:"AwaitExpression",argument:c})}return 2048&r&&s(e,95),mr(e,r,o,a,i)}(e,r,n,i,u,d,p);case 241773:return function(e,r,t,n,o,a,i){if(t&&(e.destructible|=256),2097152&r){M(e,32768|r),8388608&r&&s(e,30),n||s(e,24),22===e.token&&s(e,120);var l=null,c=!1;return(1&e.flags)<1&&(c=re(e,32768|r,8457014),(77824&e.token||c)&&(l=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,le(e,r,o,a,i,{type:"YieldExpression",argument:l,delegate:c})}return 1024&r&&s(e,94,"yield"),mr(e,r,o,a,i)}(e,r,i,o,u,d,p);case 209007:return function(e,r,t,n,o,a,i,l,c,u){var d=e.token,p=sr(e,r,a),f=e.flags;if((1&f)<1){if(86106===e.token)return cr(e,r,1,t,l,c,u);if(143360==(143360&e.token))return n||s(e,0),xr(e,r,o,l,c,u)}return i||67174411!==e.token?10===e.token?(ve(e,r,d,1),i&&s(e,48),br(e,r,e.tokenValue,p,i,o,0,l,c,u)):p:wr(e,r,p,o,1,0,f,l,c,u)}(e,r,i,c,o,a,n,u,d,p)}var f=e.token,k=e.tokenValue,g=sr(e,65536|r,a);return 10===e.token?(c||s(e,0),ve(e,r,f,1),br(e,r,k,g,n,o,0,u,d,p)):(16384&r&&537079928===f&&s(e,126),241739===f&&(1024&r&&s(e,109),24&t&&s(e,97)),e.assignable=1024&r&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ir(e,r);switch(e.token){case 33619995:case 33619996:return function(e,r,t,n,o,a,i){t&&s(e,53),n||s(e,0);var l=e.token;M(e,32768|r);var c=Ye(e,r,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&s(e,52),e.assignable=2,le(e,r,o,a,i,{type:"UpdateExpression",argument:c,operator:U[255&l],prefix:!0})}(e,r,n,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,r,t,n,o,a,i){t||s(e,0);var l=e.token;M(e,32768|r);var c,u=Ye(e,r,0,i,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&s(e,31),1024&r&&16863278===l&&("Identifier"===u.type?s(e,117):(c=u).property&&"PrivateIdentifier"===c.property.type&&s(e,123)),e.assignable=2,le(e,r,n,o,a,{type:"UnaryExpression",operator:U[255&l],argument:u,prefix:!0})}(e,r,c,u,d,p,i);case 86106:return cr(e,r,0,i,u,d,p);case 2162700:return function(e,r,t,n,o,a,i){var l=kr(e,r,void 0,t,n,0,2,0,o,a,i);256&r&&64&e.destructible&&s(e,60);8&e.destructible&&s(e,59);return l}(e,r,o?0:1,i,u,d,p);case 69271571:return function(e,r,t,n,o,a,i){var l=ur(e,r,void 0,t,n,0,2,0,o,a,i);256&r&&64&e.destructible&&s(e,60);8&e.destructible&&s(e,59);return l}(e,r,o?0:1,i,u,d,p);case 67174411:return function(e,r,t,n,o,a,i,l){e.flags=128^(128|e.flags);var c=e.tokenPos,u=e.linePos,d=e.colPos;M(e,1073774592|r);var p=64&r?pe({parent:void 0,type:2},1024):void 0;if(re(e,r=134217728^(134217728|r),16))return hr(e,r,p,[],t,0,a,i,l);var f,k=0;e.destructible&=-385;var g=[],m=0,b=0,h=e.tokenPos,v=e.linePos,P=e.colPos;e.assignable=1;for(;16!==e.token;){var y=e.token,x=e.tokenPos,w=e.linePos,q=e.colPos;if(143360&y)p&&ke(e,r,p,e.tokenValue,1,0),f=We(e,r,n,0,1,0,1,1,x,w,q),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&y)&&36864!=(36864&y)||(b=1):(1077936157===e.token?b=1:k|=16,f=$e(e,r,f,1,0,x,w,q),16!==e.token&&18!==e.token&&(f=Je(e,r,1,0,x,w,q,f)));else{if(2097152!=(2097152&y)){if(14===y){f=pr(e,r,p,16,n,o,0,1,0,x,w,q),16&e.destructible&&s(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ge(e,r,1,0,1,x,w,q),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;re(e,32768|r,18);)g.push(Ge(e,r,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=le(e,r,h,v,P,{type:"SequenceExpression",expressions:g})}return te(e,r,16),e.destructible=k,f}f=2162700===y?kr(e,1073741824|r,p,0,1,0,n,o,x,w,q):ur(e,1073741824|r,p,0,1,0,n,o,x,w,q),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&s(e,118),f=$e(e,r,f,0,0,x,w,q),k|=16,16!==e.token&&18!==e.token&&(f=Je(e,r,0,0,x,w,q,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!re(e,32768|r,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=le(e,r,h,v,P,{type:"SequenceExpression",expressions:g}));te(e,r,16),16&k&&8&k&&s(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&s(e,46),4196352&r&&128&k&&s(e,29),2098176&r&&256&k&&s(e,30),b&&(e.flags|=128),hr(e,r,p,m?g:[f],t,0,a,i,l);8&k&&s(e,139);return e.destructible=256^(256|e.destructible)|k,128&r?le(e,r,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,r,o,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,r,t,n,o){var a=U[255&e.token],s=86023===e.token?null:"true"===a;return M(e,r),e.assignable=2,le(e,r,t,n,o,512&r?{type:"Literal",value:s,raw:a}:{type:"Literal",value:s})}(e,r,u,d,p);case 86113:return function(e,r){var t=e.tokenPos,n=e.linePos,o=e.colPos;return M(e,r),e.assignable=2,le(e,r,t,n,o,{type:"ThisExpression"})}(e,r);case 65540:return function(e,r,t,n,o){var a=e.tokenRaw,s=e.tokenRegExp,i=e.tokenValue;return M(e,r),e.assignable=2,le(e,r,t,n,o,512&r?{type:"Literal",value:i,regex:s,raw:a}:{type:"Literal",value:i,regex:s})}(e,r,u,d,p);case 133:case 86096:return function(e,r,t,n,o,a){var i=null,l=null,c=Cr(e,r=16777216^(16778240|r));c.length&&(n=e.tokenPos,o=e.linePos,a=e.colPos);M(e,r),4096&e.token&&20567!==e.token&&(se(e,r,e.token)&&s(e,114),537079808==(537079808&e.token)&&s(e,115),i=sr(e,r,0));var u=r;re(e,32768|r,20567)?(l=Ye(e,r,0,t,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);var d=Ar(e,u,r,void 0,2,0,t);return e.assignable=2,le(e,r,n,o,a,1&r?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,r,i,u,d,p);case 86111:return function(e,r,t,n,o){switch(M(e,r),e.token){case 67108991:s(e,161);case 67174411:(524288&r)<1&&s(e,26),16384&r&&s(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&r)<1&&s(e,27),16384&r&&s(e,143),e.assignable=1;break;default:s(e,28,"super")}return le(e,r,t,n,o,{type:"Super"})}(e,r,u,d,p);case 67174409:return rr(e,r,u,d,p);case 67174408:return tr(e,r);case 86109:return function(e,r,t,n,o,a){var i=sr(e,32768|r,0),l=e.tokenPos,c=e.linePos,u=e.colPos;if(re(e,r,67108877)){if(67108864&r&&143494===e.token)return e.assignable=2,function(e,r,t,n,o,a){var s=sr(e,r,0);return le(e,r,n,o,a,{type:"MetaProperty",meta:t,property:s})}(e,r,i,n,o,a);s(e,91)}e.assignable=2,16842752==(16842752&e.token)&&s(e,62,U[255&e.token]);var d=We(e,r,2,1,0,0,t,1,l,c,u);r=134217728^(134217728|r),67108991===e.token&&s(e,162);var p=yr(e,r,d,t,l,c,u);return e.assignable=2,le(e,r,n,o,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?ar(e,r,t):[]})}(e,r,i,u,d,p);case 134283389:return er(e,r,u,d,p);case 131:return Dr(e,r,u,d,p);case 86108:return function(e,r,t,n,o,a,i){var l=sr(e,r,0);if(67108877===e.token)return Ke(e,r,l,o,a,i);t&&s(e,137);return l=Qe(e,r,n,o,a,i),e.assignable=2,$e(e,r,l,n,0,o,a,i)}(e,r,n,i,u,d,p);case 8456258:if(16&r)return Rr(e,r,1,u,d,p);default:if(he(r,e.token))return mr(e,r,u,d,p);s(e,28,U[255&e.token])}}function Ke(e,r,t,n,o,a){return 0==(2048&r)&&s(e,163),M(e,r),143495!==e.token&&"meta"!==e.tokenValue&&s(e,28,U[255&e.token]),e.assignable=2,le(e,r,n,o,a,{type:"MetaProperty",meta:t,property:sr(e,r,0)})}function Qe(e,r,t,n,o,a){te(e,32768|r,67174411),14===e.token&&s(e,138);var i=Ge(e,r,1,0,t,e.tokenPos,e.linePos,e.colPos);return te(e,r,16),le(e,r,n,o,a,{type:"ImportExpression",source:i})}function er(e,r,t,n,o){var a=e.tokenRaw,s=e.tokenValue;return M(e,r),e.assignable=2,le(e,r,t,n,o,512&r?{type:"Literal",value:s,bigint:a.slice(0,-1),raw:a}:{type:"Literal",value:s,bigint:a.slice(0,-1)})}function rr(e,r,t,n,o){e.assignable=2;var a=e.tokenValue,s=e.tokenRaw,i=e.tokenPos,l=e.linePos,c=e.colPos;return te(e,r,67174409),le(e,r,t,n,o,{type:"TemplateLiteral",expressions:[],quasis:[nr(e,r,a,s,i,l,c,!0)]})}function tr(e,r){r=134217728^(134217728|r);var t=e.tokenValue,n=e.tokenRaw,o=e.tokenPos,a=e.linePos,i=e.colPos;te(e,32768|r,67174408);var l=[nr(e,r,t,n,o,a,i,!1)],c=[He(e,r,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&s(e,80);67174409!==(e.token=R(e,r));){var u=e.tokenValue,d=e.tokenRaw,p=e.tokenPos,f=e.linePos,k=e.colPos;te(e,32768|r,67174408),l.push(nr(e,r,u,d,p,f,k,!1)),c.push(He(e,r,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&s(e,80)}var g=e.tokenValue,m=e.tokenRaw,b=e.tokenPos,h=e.linePos,v=e.colPos;return te(e,r,67174409),l.push(nr(e,r,g,m,b,h,v,!0)),le(e,r,o,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function nr(e,r,t,n,o,a,s,i){var l=le(e,r,o,a,s,{type:"TemplateElement",value:{cooked:t,raw:n},tail:i}),c=i?1:2;return 2&r&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&r&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function or(e,r,t,n,o){te(e,32768|(r=134217728^(134217728|r)),14);var a=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,le(e,r,t,n,o,{type:"SpreadElement",argument:a})}function ar(e,r,t){M(e,32768|r);var n=[];if(16===e.token)return M(e,r),n;for(;16!==e.token&&(14===e.token?n.push(or(e,r,e.tokenPos,e.linePos,e.colPos)):n.push(Ge(e,r,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(M(e,32768|r),16!==e.token););return te(e,r,16),n}function sr(e,r,t){var n=e.tokenValue,o=e.tokenPos,a=e.linePos,s=e.colPos;return M(e,r),le(e,r,o,a,s,268435456&r?{type:"Identifier",name:n,pattern:1===t}:{type:"Identifier",name:n})}function ir(e,r){var t=e.tokenValue,n=e.tokenRaw,o=e.tokenPos,a=e.linePos,s=e.colPos;return 134283389===e.token?er(e,r,o,a,s):(M(e,r),e.assignable=2,le(e,r,o,a,s,512&r?{type:"Literal",value:t,raw:n}:{type:"Literal",value:t}))}function lr(e,r,t,n,o,a,i,l,c,u){M(e,32768|r);var d,p=o?ee(e,r,8457014):0,f=null,k=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&s(e,37,"Function");else{var g=4&n&&((8192&r)<1||(2048&r)<1)?4:64;ae(e,r|(3072&r)<<11,e.token),t&&(4&g?ge(e,r,t,e.tokenValue,g):ke(e,r,t,e.tokenValue,g,n),k=pe(k,256),a&&2&a&&me(e,e.tokenValue)),d=e.token,143360&e.token?f=sr(e,r,0):s(e,28,U[255&e.token])}return r=32243712^(32243712|r)|67108864|2*i+p<<21|(p?0:1073741824),t&&(k=pe(k,512)),le(e,r,l,c,u,{type:"FunctionDeclaration",id:f,params:Pr(e,8388608|r,k,0,1),body:_e(e,143360^(143360|r),t?pe(k,128):k,8,d,t?k.scopeError:void 0),async:1===i,generator:1===p})}function cr(e,r,t,n,o,a,s){M(e,32768|r);var i,l=ee(e,r,8457014),c=2*t+l<<21,u=null,d=64&r?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(ae(e,32243712^(32243712|r)|c,e.token),d&&(d=pe(d,256)),i=e.token,u=sr(e,r,0)),r=32243712^(32243712|r)|67108864|c|(l?0:1073741824),d&&(d=pe(d,512));var p=Pr(e,8388608|r,d,n,1),f=_e(e,-134377473&r,d?pe(d,128):d,0,i,void 0);return e.assignable=2,le(e,r,o,a,s,{type:"FunctionExpression",id:u,params:p,body:f,async:1===t,generator:1===l})}function ur(e,r,t,n,o,a,i,l,c,u,d){M(e,32768|r);var p=[],f=0;for(r=134217728^(134217728|r);20!==e.token;)if(re(e,32768|r,18))p.push(null);else{var k=void 0,g=e.token,m=e.tokenPos,b=e.linePos,h=e.colPos,v=e.tokenValue;if(143360&g)if(k=We(e,r,i,0,1,0,o,1,m,b,h),1077936157===e.token){2&e.assignable&&s(e,24),M(e,32768|r),t&&fe(e,r,t,v,i,l);var P=Ge(e,r,1,1,o,e.tokenPos,e.linePos,e.colPos);k=le(e,r,m,b,h,a?{type:"AssignmentPattern",left:k,right:P}:{type:"AssignmentExpression",operator:"=",left:k,right:P}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:t&&fe(e,r,t,v,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,k=$e(e,r,k,o,0,m,b,h),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),k=Je(e,r,o,a,m,b,h,k)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&g?(k=2162700===e.token?kr(e,r,t,0,o,a,i,l,m,b,h):ur(e,r,t,0,o,a,i,l,m,b,h),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?s(e,68):(k=$e(e,r,k,o,0,m,b,h),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?k=Je(e,r,o,a,m,b,h,k):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===g?(k=pr(e,r,t,20,i,l,0,o,a,m,b,h),f|=e.destructible,18!==e.token&&20!==e.token&&s(e,28,U[255&e.token])):(k=Ye(e,r,1,0,1,m,b,h),18!==e.token&&20!==e.token?(k=Je(e,r,o,a,m,b,h,k),(3&i)<1&&67174411===g&&(f|=16)):2&e.assignable?f|=16:67174411===g&&(f|=1&e.assignable&&3&i?32:16));if(p.push(k),!re(e,32768|r,18))break;if(20===e.token)break}te(e,r,20);var y=le(e,r,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!n&&4194304&e.token?dr(e,r,f,o,a,c,u,d,y):(e.destructible=f,y)}function dr(e,r,t,n,o,a,i,l,c){1077936157!==e.token&&s(e,24),M(e,32768|r),16&t&&s(e,24),o||ne(e,c);var u=Ge(e,r,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),le(e,r,a,i,l,o?{type:"AssignmentPattern",left:c,right:u}:{type:"AssignmentExpression",left:c,operator:"=",right:u})}function pr(e,r,t,n,o,a,i,l,c,u,d,p){M(e,32768|r);var f=null,k=0,g=e.token,m=e.tokenValue,b=e.tokenPos,h=e.linePos,v=e.colPos;if(143360&g)e.assignable=1,f=We(e,r,o,0,1,0,l,1,b,h,v),g=e.token,f=$e(e,r,f,l,0,b,h,v),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&s(e,68),k|=16,f=Je(e,r,l,c,b,h,v,f)),2&e.assignable?k|=16:g===n||18===g?t&&fe(e,r,t,m,o,a):k|=32,k|=128&e.destructible?128:0;else if(g===n)s(e,39);else{if(!(2097152&g)){k|=32,f=Ye(e,r,1,l,1,e.tokenPos,e.linePos,e.colPos);var P=e.token,y=e.tokenPos,x=e.linePos,w=e.colPos;return 1077936157===P&&P!==n&&18!==P?(2&e.assignable&&s(e,24),f=Je(e,r,l,c,y,x,w,f),k|=16):(18===P?k|=16:P!==n&&(f=Je(e,r,l,c,y,x,w,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==n&&18!==e.token&&s(e,155),le(e,r,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?kr(e,r,t,1,l,c,o,a,b,h,v):ur(e,r,t,1,l,c,o,a,b,h,v),1077936157!==(g=e.token)&&g!==n&&18!==g?(8&e.destructible&&s(e,68),f=$e(e,r,f,l,0,b,h,v),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Je(e,r,l,c,b,h,v,f)):(8454144==(8454144&e.token)&&(f=Xe(e,r,1,b,h,v,4,g,f)),re(e,32768|r,22)&&(f=ze(e,r,f,b,h,v)),k|=2&e.assignable?16:32)):k|=1074790415===n&&1077936157!==g?16:e.destructible}if(e.token!==n)if(1&o&&(k|=i?16:32),re(e,32768|r,1077936157)){16&k&&s(e,24),ne(e,f);var q=Ge(e,r,1,1,l,e.tokenPos,e.linePos,e.colPos);f=le(e,r,b,h,v,c?{type:"AssignmentPattern",left:f,right:q}:{type:"AssignmentExpression",left:f,operator:"=",right:q}),k=16}else k|=16;return e.destructible=k,le(e,r,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function fr(e,r,t,n,o,a,l){var c=(64&t)<1?31981568:14680064,u=64&(r=(r|c)^c|(88&t)<<18|100925440)?pe({parent:void 0,type:2},512):void 0,d=function(e,r,t,n,o,a){te(e,r,67174411);var l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&s(e,35,"Setter","one",""),M(e,r),l;256&n&&s(e,35,"Getter","no","s");512&n&&14===e.token&&s(e,36);r=134217728^(134217728|r);var c=0,u=0;for(;18!==e.token;){var d=null,p=e.tokenPos,f=e.linePos,k=e.colPos;if(143360&e.token?((1024&r)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),d=Tr(e,r,t,1|n,0,p,f,k)):(2162700===e.token?d=kr(e,r,t,1,a,1,o,0,p,f,k):69271571===e.token?d=ur(e,r,t,1,a,1,o,0,p,f,k):14===e.token&&(d=pr(e,r,t,16,o,0,0,a,1,p,f,k)),u=1,48&e.destructible&&s(e,47)),1077936157===e.token)M(e,32768|r),u=1,d=le(e,r,p,f,k,{type:"AssignmentPattern",left:d,right:Ge(e,r,1,1,0,e.tokenPos,e.linePos,e.colPos)});if(c++,l.push(d),!re(e,r,18))break;if(16===e.token)break}512&n&&1!==c&&s(e,35,"Setter","one","");t&&void 0!==t.scopeError&&i(t.scopeError);u&&(e.flags|=128);return te(e,r,16),l}(e,8388608|r,u,t,1,n);return u&&(u=pe(u,128)),le(e,r,o,a,l,{type:"FunctionExpression",params:d,body:_e(e,-134230017&r,u,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function kr(e,r,t,n,o,a,i,c,u,d,p){M(e,r);var f=[],k=0,g=0;for(r=134217728^(134217728|r);1074790415!==e.token;){var m=e.token,b=e.tokenValue,h=e.linePos,v=e.colPos,P=e.tokenPos;if(14===m)f.push(pr(e,r,t,1074790415,i,c,0,o,a,P,h,v));else{var y=0,x=null,w=void 0,q=e.token;if(143360&e.token||121===e.token)if(x=sr(e,r,0),18===e.token||1074790415===e.token||1077936157===e.token)if(y|=4,1024&r&&537079808==(537079808&m)?k|=16:oe(e,r,i,m,0),t&&fe(e,r,t,b,i,c),re(e,32768|r,1077936157)){k|=8;var C=Ge(e,r,1,1,o,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,w=le(e,r,P,h,v,{type:"AssignmentPattern",left:-2147483648&r?Object.assign({},x):x,right:C})}else k|=(209008===m?128:0)|(121===m?16:0),w=-2147483648&r?Object.assign({},x):x;else if(re(e,32768|r,21)){var E=e.tokenPos,A=e.linePos,S=e.colPos;if("__proto__"===b&&g++,143360&e.token){var D=e.token,L=e.tokenValue;k|=121===q?16:0,w=We(e,r,i,0,1,0,o,1,E,A,S);var V=e.token;w=$e(e,r,w,o,0,E,A,S),18===e.token||1074790415===e.token?1077936157===V||1074790415===V||18===V?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:t&&143360==(143360&D)&&fe(e,r,t,L,i,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==V?k|=32:t&&fe(e,r,t,L,i,c),w=Je(e,r,o,a,E,A,S,w)):(k|=16,8454144==(8454144&e.token)&&(w=Xe(e,r,1,E,A,S,4,V,w)),re(e,32768|r,22)&&(w=ze(e,r,w,E,A,S)))}else 2097152==(2097152&e.token)?(w=69271571===e.token?ur(e,r,t,0,o,a,i,c,E,A,S):kr(e,r,t,0,o,a,i,c,E,A,S),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?s(e,68):(w=$e(e,r,w,o,0,E,A,S),k=2&e.assignable?16:0,4194304==(4194304&e.token)?w=Me(e,r,o,a,E,A,S,w):(8454144==(8454144&e.token)&&(w=Xe(e,r,1,E,A,S,4,m,w)),re(e,32768|r,22)&&(w=ze(e,r,w,E,A,S)),k|=2&e.assignable?16:32))):(w=Ye(e,r,1,o,1,E,A,S),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(w=$e(e,r,w,o,0,E,A,S),k=2&e.assignable?16:0,18!==e.token&&1074790415!==m&&(1077936157!==e.token&&(k|=16),w=Je(e,r,o,a,E,A,S,w))))}else 69271571===e.token?(k|=16,209007===m&&(y|=16),y|=2|(12402===m?256:12403===m?512:1),x=gr(e,r,o),k|=e.assignable,w=fr(e,r,y,o,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===m&&s(e,92),209007===m&&(1&e.flags&&s(e,128),y|=16),x=sr(e,r,0),w=fr(e,r,y|=12402===m?256:12403===m?512:1,o,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,w=fr(e,r,y|=1,o,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===m||12403===m?s(e,40):143483===m&&s(e,92),M(e,r),y|=9|(209007===m?16:0),143360&e.token?x=sr(e,r,0):134217728==(134217728&e.token)?x=ir(e,r):69271571===e.token?(y|=2,x=gr(e,r,o),k|=e.assignable):s(e,28,U[255&e.token]),w=fr(e,r,y,o,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===m&&(y|=16),y|=12402===m?256:12403===m?512:1,k|=16,x=ir(e,r),w=fr(e,r,y,o,e.tokenPos,e.linePos,e.colPos)):s(e,129);else if(134217728==(134217728&e.token))if(x=ir(e,r),21===e.token){te(e,32768|r,21);var T=e.tokenPos,R=e.linePos,N=e.colPos;if("__proto__"===b&&g++,143360&e.token){w=We(e,r,i,0,1,0,o,1,T,R,N);var I=e.token;L=e.tokenValue;w=$e(e,r,w,o,0,T,R,N),18===e.token||1074790415===e.token?1077936157===I||1074790415===I||18===I?2&e.assignable?k|=16:t&&fe(e,r,t,L,i,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),w=Je(e,r,o,a,T,R,N,w)):(k|=16,w=Je(e,r,o,a,T,R,N,w))}else 2097152==(2097152&e.token)?(w=69271571===e.token?ur(e,r,t,0,o,a,i,c,T,R,N):kr(e,r,t,0,o,a,i,c,T,R,N),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(w=$e(e,r,w,o,0,T,R,N),k=2&e.assignable?16:0,4194304==(4194304&e.token)?w=Me(e,r,o,a,T,R,N,w):(8454144==(8454144&e.token)&&(w=Xe(e,r,1,T,R,N,4,m,w)),re(e,32768|r,22)&&(w=ze(e,r,w,T,R,N)),k|=2&e.assignable?16:32))):(w=Ye(e,r,1,0,1,T,R,N),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(w=$e(e,r,w,o,0,T,R,N),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),w=Je(e,r,o,a,T,R,N,w))))}else 67174411===e.token?(w=fr(e,r,y|=1,o,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):s(e,130);else if(69271571===e.token)if(x=gr(e,r,o),k|=256&e.destructible?256:0,y|=2,21===e.token){M(e,32768|r);var B=e.tokenPos,O=e.linePos,j=e.colPos,G=e.tokenValue;D=e.token;if(143360&e.token){w=We(e,r,i,0,1,0,o,1,B,O,j);var F=e.token;w=$e(e,r,w,o,0,B,O,j),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===F?0:32,w=Me(e,r,o,a,B,O,j,w)):18===e.token||1074790415===e.token?1077936157===F||1074790415===F||18===F?2&e.assignable?k|=16:t&&143360==(143360&D)&&fe(e,r,t,G,i,c):k|=1&e.assignable?32:16:(k|=16,w=Je(e,r,o,a,B,O,j,w))}else 2097152==(2097152&e.token)?(w=69271571===e.token?ur(e,r,t,0,o,a,i,c,B,O,j):kr(e,r,t,0,o,a,i,c,B,O,j),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?s(e,59):(w=$e(e,r,w,o,0,B,O,j),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),w=Me(e,r,o,a,B,O,j,w)):(8454144==(8454144&e.token)&&(w=Xe(e,r,1,B,O,j,4,m,w)),re(e,32768|r,22)&&(w=ze(e,r,w,B,O,j)),k|=2&e.assignable?16:32))):(w=Ye(e,r,1,0,1,B,O,j),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(w=$e(e,r,w,o,0,B,O,j),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),w=Je(e,r,o,a,B,O,j,w))))}else 67174411===e.token?(w=fr(e,r,y|=1,o,e.tokenPos,h,v),k=16):s(e,41);else if(8457014===m)if(te(e,32768|r,8457014),y|=8,143360&e.token){var H=e.token,J=e.line,z=e.index;x=sr(e,r,0),y|=1,67174411===e.token?(k|=16,w=fr(e,r,y,o,e.tokenPos,e.linePos,e.colPos)):l(z,J,z,209007===H?43:12402===H||12403===e.token?42:44,U[255&H])}else 134217728==(134217728&e.token)?(k|=16,x=ir(e,r),w=fr(e,r,y|=1,o,P,h,v)):69271571===e.token?(k|=16,y|=3,x=gr(e,r,o),w=fr(e,r,y,o,e.tokenPos,e.linePos,e.colPos)):s(e,122);else s(e,28,U[255&m]);k|=128&e.destructible?128:0,e.destructible=k,f.push(le(e,r,P,h,v,{type:"Property",key:x,value:w,kind:768&y?512&y?"set":"get":"init",computed:(2&y)>0,method:(1&y)>0,shorthand:(4&y)>0}))}if(k|=e.destructible,18!==e.token)break;M(e,r)}te(e,r,1074790415),g>1&&(k|=64);var X=le(e,r,u,d,p,{type:a?"ObjectPattern":"ObjectExpression",properties:f});return!n&&4194304&e.token?dr(e,r,k,o,a,u,d,p,X):(e.destructible=k,X)}function gr(e,r,t){M(e,32768|r);var n=Ge(e,134217728^(134217728|r),1,0,t,e.tokenPos,e.linePos,e.colPos);return te(e,r,20),n}function mr(e,r,t,n,o){var a=e.tokenValue,s=sr(e,r,0);if(e.assignable=1,10===e.token){var i=void 0;return 64&r&&(i=ue(e,r,a)),e.flags=128^(128|e.flags),vr(e,r,i,[s],0,t,n,o)}return s}function br(e,r,t,n,o,a,i,l,c,u){return a||s(e,54),o&&s(e,48),e.flags&=-129,vr(e,r,64&r?ue(e,r,t):void 0,[n],i,l,c,u)}function hr(e,r,t,n,o,a,i,l,c){o||s(e,54);for(var u=0;u0&&"constructor"===e.tokenValue&&s(e,106),1074790415===e.token&&s(e,105),re(e,r,1074790417)?f>0&&s(e,116):p.push(Sr(e,r,n,t,o,d,0,i,e.tokenPos,e.linePos,e.colPos))}return te(e,8&a?32768|r:r,1074790415),le(e,r,l,c,u,{type:"ClassBody",body:p})}function Sr(e,r,t,n,o,a,i,l,c,u,d){var p=i?32:0,f=null,k=e.token,g=e.tokenPos,m=e.linePos,b=e.colPos;if(176128&k)switch(f=sr(e,r,0),k){case 36972:if(!i&&67174411!==e.token)return Sr(e,r,t,n,o,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&r&&1073741824==(1073741824&e.token))return Lr(e,r,f,p,a,g,m,b);p|=16|(ee(e,r,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&r&&1073741824==(1073741824&e.token))return Lr(e,r,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&r&&1073741824==(1073741824&e.token))return Lr(e,r,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=gr(e,n,l)):134217728==(134217728&k)?f=ir(e,r):8457014===k?(p|=8,M(e,r)):1&r&&131===e.token?(p|=4096,f=Dr(e,r,g,m,b),r|=16384):1&r&&1073741824==(1073741824&e.token)?(p|=128,r|=16384):122===k?(f=sr(e,r,0),67174411!==e.token&&s(e,28,U[255&e.token])):s(e,28,U[255&e.token]);if(792&p&&(143360&e.token?f=sr(e,r,0):134217728==(134217728&e.token)?f=ir(e,r):69271571===e.token?(p|=2,f=gr(e,r,0)):122===e.token?f=sr(e,r,0):1&r&&131===e.token?(p|=4096,f=Dr(e,r,g,m,b)):s(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?s(e,125):(32&p)<1&&67174411===e.token&&(920&p?s(e,50,"accessor"):(524288&r)<1&&(32&e.flags?s(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&s(e,49)),1&r&&67174411!==e.token)return Lr(e,r,f,p,a,g,m,b);var h=fr(e,r,p,l,e.tokenPos,e.linePos,e.colPos);return le(e,r,c,u,d,1&r?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Dr(e,r,t,n,o){M(e,r);var a=e.tokenValue;return"constructor"===a&&s(e,124),M(e,r),le(e,r,t,n,o,{type:"PrivateIdentifier",name:a})}function Lr(e,r,t,n,o,a,i,l){var c=null;if(8&n&&s(e,0),1077936157===e.token){M(e,32768|r);var u=e.tokenPos,d=e.linePos,p=e.colPos;537079928===e.token&&s(e,115),c=We(e,16384|r,2,0,1,0,0,1,u,d,p),1073741824!=(1073741824&e.token)&&(c=Je(e,16384|r,0,0,u,d,p,c=$e(e,16384|r,c,0,0,u,d,p)),18===e.token&&(c=Fe(e,r,0,a,i,l,c)))}return le(e,r,a,i,l,{type:"PropertyDefinition",key:t,value:c,static:(32&n)>0,computed:(2&n)>0,decorators:o})}function Vr(e,r,t,n,o,a,i,l){if(143360&e.token)return Tr(e,r,t,n,o,a,i,l);2097152!=(2097152&e.token)&&s(e,28,U[255&e.token]);var c=69271571===e.token?ur(e,r,t,1,0,1,n,o,a,i,l):kr(e,r,t,1,0,1,n,o,a,i,l);return 16&e.destructible&&s(e,47),32&e.destructible&&s(e,47),c}function Tr(e,r,t,n,o,a,i,l){var c=e.tokenValue,u=e.token;return 1024&r&&(537079808==(537079808&u)?s(e,115):36864==(36864&u)&&s(e,114)),20480==(20480&u)&&s(e,99),2099200&r&&241773===u&&s(e,30),241739===u&&24&n&&s(e,97),4196352&r&&209008===u&&s(e,95),M(e,r),t&&fe(e,r,t,c,n,o),le(e,r,a,i,l,{type:"Identifier",name:c})}function Rr(e,r,t,n,o,a){if(M(e,r),8456259===e.token)return le(e,r,n,o,a,{type:"JSXFragment",openingFragment:Nr(e,r,n,o,a),children:Ur(e,r),closingFragment:Ir(e,r,t,e.tokenPos,e.linePos,e.colPos)});var i=null,l=[],c=function(e,r,t,n,o,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&s(e,0);var i=Or(e,r,e.tokenPos,e.linePos,e.colPos),l=function(e,r){var t=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)t.push(Gr(e,r,e.tokenPos,e.linePos,e.colPos));return t}(e,r),c=8457016===e.token;8456259===e.token?Z(e,r):(te(e,r,8457016),t?te(e,r,8456259):Z(e,r));return le(e,r,n,o,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,r,t,n,o,a);if(!c.selfClosing){l=Ur(e,r);var u=ce((i=function(e,r,t,n,o,a){te(e,r,25);var s=Or(e,r,e.tokenPos,e.linePos,e.colPos);t?te(e,r,8456259):e.token=Z(e,r);return le(e,r,n,o,a,{type:"JSXClosingElement",name:s})}(e,r,t,e.tokenPos,e.linePos,e.colPos)).name);ce(c.name)!==u&&s(e,149,u)}return le(e,r,n,o,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Nr(e,r,t,n,o){return Z(e,r),le(e,r,t,n,o,{type:"JSXOpeningFragment"})}function Ir(e,r,t,n,o,a){return te(e,r,25),te(e,r,8456259),le(e,r,n,o,a,{type:"JSXClosingFragment"})}function Ur(e,r){for(var t=[];25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,Z(e,r),t.push(Br(e,r,e.tokenPos,e.linePos,e.colPos));return t}function Br(e,r,t,n,o){return 138===e.token?function(e,r,t,n,o){Z(e,r);var a={type:"JSXText",value:e.tokenValue};512&r&&(a.raw=e.tokenRaw);return le(e,r,t,n,o,a)}(e,r,t,n,o):2162700===e.token?Hr(e,r,0,0,t,n,o):8456258===e.token?Rr(e,r,0,t,n,o):void s(e,0)}function Or(e,r,t,n,o){W(e);var a=Jr(e,r,t,n,o);if(21===e.token)return Fr(e,r,a,t,n,o);for(;re(e,r,67108877);)W(e),a=jr(e,r,a,t,n,o);return a}function jr(e,r,t,n,o,a){return le(e,r,n,o,a,{type:"JSXMemberExpression",object:t,property:Jr(e,r,e.tokenPos,e.linePos,e.colPos)})}function Gr(e,r,t,n,o){if(2162700===e.token)return function(e,r,t,n,o){M(e,r),te(e,r,14);var a=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos);return te(e,r,1074790415),le(e,r,t,n,o,{type:"JSXSpreadAttribute",argument:a})}(e,r,t,n,o);W(e);var a=null,i=Jr(e,r,t,n,o);if(21===e.token&&(i=Fr(e,r,i,t,n,o)),1077936157===e.token){var l=$(e,r),c=e.tokenPos,u=e.linePos,d=e.colPos;switch(l){case 134283267:a=ir(e,r);break;case 8456258:a=Rr(e,r,1,c,u,d);break;case 2162700:a=Hr(e,r,1,1,c,u,d);break;default:s(e,148)}}return le(e,r,t,n,o,{type:"JSXAttribute",value:a,name:i})}function Fr(e,r,t,n,o,a){return te(e,r,21),le(e,r,n,o,a,{type:"JSXNamespacedName",namespace:t,name:Jr(e,r,e.tokenPos,e.linePos,e.colPos)})}function Hr(e,r,t,n,o,a,i){M(e,r);var l=e.tokenPos,c=e.linePos,u=e.colPos;if(14===e.token)return function(e,r,t,n,o){te(e,r,14);var a=Ge(e,r,1,0,0,e.tokenPos,e.linePos,e.colPos);return te(e,r,1074790415),le(e,r,t,n,o,{type:"JSXSpreadChild",expression:a})}(e,r,l,c,u);var d=null;return 1074790415===e.token?(n&&s(e,151),d=function(e,r,t,n,o){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,le(e,r,t,n,o,{type:"JSXEmptyExpression"})}(e,r,e.startPos,e.startLine,e.startColumn)):d=Ge(e,r,1,0,0,l,c,u),t?te(e,r,1074790415):Z(e,r),le(e,r,o,a,i,{type:"JSXExpressionContainer",expression:d})}function Jr(e,r,t,n,o){var a=e.tokenValue;return M(e,r),le(e,r,t,n,o,{type:"JSXIdentifier",name:a})}var Mr=Object.freeze({__proto__:null});e.ESTree=Mr,e.parse=function(e,r){return Pe(e,r,0)},e.parseModule=function(e,r){return Pe(e,r,3072)},e.parseScript=function(e,r){return Pe(e,r,0)},e.version="4.2.0",Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/node_modules/meriyah/dist/meriyah.umd.js b/node_modules/meriyah/dist/meriyah.umd.js new file mode 100644 index 0000000..16469ba --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.js @@ -0,0 +1,8796 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {})); +}(this, (function (exports) { 'use strict'; + + const errorMessages = { + [0]: 'Unexpected token', + [28]: "Unexpected token: '%0'", + [1]: 'Octal escape sequences are not allowed in strict mode', + [2]: 'Octal escape sequences are not allowed in template strings', + [3]: 'Unexpected token `#`', + [4]: 'Illegal Unicode escape sequence', + [5]: 'Invalid code point %0', + [6]: 'Invalid hexadecimal escape sequence', + [8]: 'Octal literals are not allowed in strict mode', + [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', + [9]: 'Expected number in radix %0', + [145]: 'Invalid left-hand side assignment to a destructible right-hand side', + [10]: 'Non-number found after exponent indicator', + [11]: 'Invalid BigIntLiteral', + [12]: 'No identifiers allowed directly after numeric literal', + [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', + [14]: 'Unterminated string literal', + [15]: 'Unterminated template literal', + [16]: 'Multiline comment was not closed properly', + [17]: 'The identifier contained dynamic unicode escape that was not closed', + [18]: "Illegal character '%0'", + [19]: 'Missing hexadecimal digits', + [20]: 'Invalid implicit octal', + [21]: 'Invalid line break in string literal', + [22]: 'Only unicode escapes are legal in identifier names', + [23]: "Expected '%0'", + [24]: 'Invalid left-hand side in assignment', + [25]: 'Invalid left-hand side in async arrow', + [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', + [27]: 'Member access on super must be in a method', + [29]: 'Await expression not allowed in formal parameter', + [30]: 'Yield expression not allowed in formal parameter', + [92]: "Unexpected token: 'escaped keyword'", + [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', + [119]: 'Async functions can only be declared at the top level or inside a block', + [32]: 'Unterminated regular expression', + [33]: 'Unexpected regular expression flag', + [34]: "Duplicate regular expression flag '%0'", + [35]: '%0 functions must have exactly %1 argument%2', + [36]: 'Setter function argument must not be a rest parameter', + [37]: '%0 declaration must have a name in this context', + [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', + [39]: 'The rest operator is missing an argument', + [40]: 'A getter cannot be a generator', + [41]: 'A computed property name must be followed by a colon or paren', + [130]: 'Object literal keys that are strings or numbers must be a method or have a colon', + [43]: 'Found `* async x(){}` but this should be `async * x(){}`', + [42]: 'Getters and setters can not be generators', + [44]: "'%0' can not be generator method", + [45]: "No line break is allowed after '=>'", + [46]: 'The left-hand side of the arrow can only be destructed through assignment', + [47]: 'The binding declaration is not destructible', + [48]: 'Async arrow can not be followed by new expression', + [49]: "Classes may not have a static property named 'prototype'", + [50]: 'Class constructor may not be a %0', + [51]: 'Duplicate constructor method in class', + [52]: 'Invalid increment/decrement operand', + [53]: 'Invalid use of `new` keyword on an increment/decrement expression', + [54]: '`=>` is an invalid assignment target', + [55]: 'Rest element may not have a trailing comma', + [56]: 'Missing initializer in %0 declaration', + [57]: "'for-%0' loop head declarations can not have an initializer", + [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', + [59]: 'Invalid shorthand property initializer', + [60]: 'Property name __proto__ appears more than once in object literal', + [61]: 'Let is disallowed as a lexically bound name', + [62]: "Invalid use of '%0' inside new expression", + [63]: "Illegal 'use strict' directive in function with non-simple parameter list", + [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode', + [65]: 'Illegal continue statement', + [66]: 'Illegal break statement', + [67]: 'Cannot have `let[...]` as a var name in strict mode', + [68]: 'Invalid destructuring assignment target', + [69]: 'Rest parameter may not have a default initializer', + [70]: 'The rest argument must the be last parameter', + [71]: 'Invalid rest argument', + [73]: 'In strict mode code, functions can only be declared at top level or inside a block', + [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', + [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', + [76]: "Class declaration can't appear in single-statement context", + [77]: 'Invalid left-hand side in for-%0', + [78]: 'Invalid assignment in for-%0', + [79]: 'for await (... of ...) is only valid in async functions and async generators', + [80]: 'The first token after the template expression should be a continuation of the template', + [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', + [81]: '`let \n [` is a restricted production at the start of a statement', + [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', + [84]: 'Catch clause parameter does not support default values', + [85]: 'Missing catch or finally after try', + [86]: 'More than one default clause in switch statement', + [87]: 'Illegal newline after throw', + [88]: 'Strict mode code may not include a with statement', + [89]: 'Illegal return statement', + [90]: 'The left hand side of the for-header binding declaration is not destructible', + [91]: 'new.target only allowed within functions', + [93]: "'#' not followed by identifier", + [99]: 'Invalid keyword', + [98]: "Can not use 'let' as a class name", + [97]: "'A lexical declaration can't define a 'let' binding", + [96]: 'Can not use `let` as variable name in strict mode', + [94]: "'%0' may not be used as an identifier in this context", + [95]: 'Await is only valid in async functions', + [100]: 'The %0 keyword can only be used with the module goal', + [101]: 'Unicode codepoint must not be greater than 0x10FFFF', + [102]: '%0 source must be string', + [103]: 'Only a identifier can be used to indicate alias', + [104]: "Only '*' or '{...}' can be imported after default", + [105]: 'Trailing decorator may be followed by method', + [106]: "Decorators can't be used with a constructor", + [108]: 'HTML comments are only allowed with web compatibility (Annex B)', + [109]: "The identifier 'let' must not be in expression position in strict mode", + [110]: 'Cannot assign to `eval` and `arguments` in strict mode', + [111]: "The left-hand side of a for-of loop may not start with 'let'", + [112]: 'Block body arrows can not be immediately invoked without a group', + [113]: 'Block body arrows can not be immediately accessed without a group', + [114]: 'Unexpected strict mode reserved word', + [115]: 'Unexpected eval or arguments in strict mode', + [116]: 'Decorators must not be followed by a semicolon', + [117]: 'Calling delete on expression not allowed in strict mode', + [118]: 'Pattern can not have a tail', + [120]: 'Can not have a `yield` expression on the left side of a ternary', + [121]: 'An arrow function can not have a postfix update operator', + [122]: 'Invalid object literal key character after generator star', + [123]: 'Private fields can not be deleted', + [125]: 'Classes may not have a field called constructor', + [124]: 'Classes may not have a private element named constructor', + [126]: 'A class field initializer may not contain arguments', + [127]: 'Generators can only be declared at the top level or inside a block', + [128]: 'Async methods are a restricted production and cannot have a newline following it', + [129]: 'Unexpected character after object literal property name', + [131]: 'Invalid key token', + [132]: "Label '%0' has already been declared", + [133]: 'continue statement must be nested within an iteration statement', + [134]: "Undefined label '%0'", + [135]: 'Trailing comma is disallowed inside import(...) arguments', + [136]: 'import() requires exactly one argument', + [137]: 'Cannot use new with import(...)', + [138]: '... is not allowed in import()', + [139]: "Expected '=>'", + [140]: "Duplicate binding '%0'", + [141]: "Cannot export a duplicate name '%0'", + [144]: 'Duplicate %0 for-binding', + [142]: "Exported binding '%0' needs to refer to a top-level declared variable", + [143]: 'Unexpected private field', + [147]: 'Numeric separators are not allowed at the end of numeric literals', + [146]: 'Only one underscore is allowed as numeric separator', + [148]: 'JSX value should be either an expression or a quoted JSX text', + [149]: 'Expected corresponding JSX closing tag for %0', + [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag', + [151]: "JSX attributes must only be assigned a non-empty 'expression'", + [152]: "'%0' has already been declared", + [153]: "'%0' shadowed a catch clause binding", + [154]: 'Dot property must be an identifier', + [155]: 'Encountered invalid input after spread/rest argument', + [156]: 'Catch without try', + [157]: 'Finally without try', + [158]: 'Expected corresponding closing tag for JSX fragment', + [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', + [160]: 'Invalid tagged template on optional chain', + [161]: 'Invalid optional chain from super property', + [162]: 'Invalid optional chain from new expression', + [163]: 'Cannot use "import.meta" outside a module', + [164]: 'Leading decorators must be attached to a class declaration' + }; + class ParseError extends SyntaxError { + constructor(startindex, line, column, type, ...params) { + const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]); + super(`${message}`); + this.index = startindex; + this.line = line; + this.column = column; + this.description = message; + this.loc = { + line, + column + }; + } + } + function report(parser, type, ...params) { + throw new ParseError(parser.index, parser.line, parser.column, type, ...params); + } + function reportScopeError(scope) { + throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params); + } + function reportMessageAt(index, line, column, type, ...params) { + throw new ParseError(index, line, column, type, ...params); + } + function reportScannerError(index, line, column, type) { + throw new ParseError(index, line, column, type); + } + + const unicodeLookup = ((compressed, lookup) => { + const result = new Uint32Array(104448); + let index = 0; + let subIndex = 0; + while (index < 3540) { + const inst = compressed[index++]; + if (inst < 0) { + subIndex -= inst; + } + else { + let code = compressed[index++]; + if (inst & 2) + code = lookup[code]; + if (inst & 1) { + result.fill(code, subIndex, subIndex += compressed[index++]); + } + else { + result[subIndex++] = code; + } + } + } + return result; + })([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]); + + function advanceChar(parser) { + parser.column++; + return (parser.currentChar = parser.source.charCodeAt(++parser.index)); + } + function consumeMultiUnitCodePoint(parser, hi) { + if ((hi & 0xfc00) !== 55296) + return 0; + const lo = parser.source.charCodeAt(parser.index + 1); + if ((lo & 0xfc00) !== 0xdc00) + return 0; + hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); + if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(hi)); + } + parser.index++; + parser.column++; + return 1; + } + function consumeLineFeed(parser, state) { + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.flags |= 1; + if ((state & 4) === 0) { + parser.column = 0; + parser.line++; + } + } + function scanNewLine(parser) { + parser.flags |= 1; + parser.currentChar = parser.source.charCodeAt(++parser.index); + parser.column = 0; + parser.line++; + } + function isExoticECMAScriptWhitespace(ch) { + return (ch === 160 || + ch === 65279 || + ch === 133 || + ch === 5760 || + (ch >= 8192 && ch <= 8203) || + ch === 8239 || + ch === 8287 || + ch === 12288 || + ch === 8201 || + ch === 65519); + } + function fromCodePoint(codePoint) { + return codePoint <= 65535 + ? String.fromCharCode(codePoint) + : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff); + } + function toHex(code) { + return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; + } + function convertTokenType(t) { + switch (t) { + case 134283266: + return 'NumericLiteral'; + case 134283267: + return 'StringLiteral'; + case 86021: + case 86022: + return 'BooleanLiteral'; + case 86023: + return 'NullLiteral'; + case 65540: + return 'RegularExpression'; + case 67174408: + case 67174409: + case 132: + return 'TemplateLiteral'; + default: + if ((t & 143360) === 143360) + return 'Identifier'; + if ((t & 4096) === 4096) + return 'Keyword'; + return 'Punctuator'; + } + } + + const CharTypes = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8 | 1024, + 0, + 0, + 8 | 2048, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8192, + 0, + 1 | 2, + 0, + 0, + 8192, + 0, + 0, + 0, + 256, + 0, + 256 | 32768, + 0, + 0, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 128 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 32 | 64, + 2 | 16 | 512 | 64, + 2 | 16 | 512 | 64, + 0, + 0, + 16384, + 0, + 0, + 0, + 0, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2 | 64, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 1 | 2, + 0, + 1, + 0, + 0, + 1 | 2 | 4096, + 0, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4 | 64, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 1 | 2 | 4, + 16384, + 0, + 0, + 0, + 0 + ]; + const isIdStart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + const isIdPart = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ]; + function isIdentifierStart(code) { + return code <= 0x7F + ? isIdStart[code] + : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; + } + function isIdentifierPart(code) { + return code <= 0x7F + ? isIdPart[code] + : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205); + } + + const CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment']; + function skipHashBang(parser) { + const source = parser.source; + if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) { + advanceChar(parser); + advanceChar(parser); + skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos); + } + } + function skipSingleHTMLComment(parser, source, state, context, type, start, line, column) { + if (context & 2048) + report(parser, 0); + return skipSingleLineComment(parser, source, state, type, start, line, column); + } + function skipSingleLineComment(parser, source, state, type, start, line, column) { + const { index } = parser; + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + while (parser.index < parser.end) { + if (CharTypes[parser.currentChar] & 8) { + const isCR = parser.currentChar === 13; + scanNewLine(parser); + if (isCR && parser.index < parser.end && parser.currentChar === 10) + parser.currentChar = source.charCodeAt(++parser.index); + break; + } + else if ((parser.currentChar ^ 8232) <= 1) { + scanNewLine(parser); + break; + } + advanceChar(parser); + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + } + if (parser.onComment) { + const loc = { + start: { + line, + column + }, + end: { + line: parser.linePos, + column: parser.colPos + } + }; + parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc); + } + return state | 1; + } + function skipMultiLineComment(parser, source, state) { + const { index } = parser; + while (parser.index < parser.end) { + if (parser.currentChar < 0x2b) { + let skippedOneAsterisk = false; + while (parser.currentChar === 42) { + if (!skippedOneAsterisk) { + state &= ~4; + skippedOneAsterisk = true; + } + if (advanceChar(parser) === 47) { + advanceChar(parser); + if (parser.onComment) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc); + } + parser.tokenPos = parser.index; + parser.linePos = parser.line; + parser.colPos = parser.column; + return state; + } + } + if (skippedOneAsterisk) { + continue; + } + if (CharTypes[parser.currentChar] & 8) { + if (parser.currentChar === 13) { + state |= 1 | 4; + scanNewLine(parser); + } + else { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + } + else { + advanceChar(parser); + } + } + else if ((parser.currentChar ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + } + else { + state &= ~4; + advanceChar(parser); + } + } + report(parser, 16); + } + + function scanRegularExpression(parser, context) { + const bodyStart = parser.index; + let preparseState = 0; + loop: while (true) { + const ch = parser.currentChar; + advanceChar(parser); + if (preparseState & 1) { + preparseState &= ~1; + } + else { + switch (ch) { + case 47: + if (!preparseState) + break loop; + else + break; + case 92: + preparseState |= 1; + break; + case 91: + preparseState |= 2; + break; + case 93: + preparseState &= 1; + break; + case 13: + case 10: + case 8232: + case 8233: + report(parser, 32); + } + } + if (parser.index >= parser.source.length) { + return report(parser, 32); + } + } + const bodyEnd = parser.index - 1; + let mask = 0; + let char = parser.currentChar; + const { index: flagStart } = parser; + while (isIdentifierPart(char)) { + switch (char) { + case 103: + if (mask & 2) + report(parser, 34, 'g'); + mask |= 2; + break; + case 105: + if (mask & 1) + report(parser, 34, 'i'); + mask |= 1; + break; + case 109: + if (mask & 4) + report(parser, 34, 'm'); + mask |= 4; + break; + case 117: + if (mask & 16) + report(parser, 34, 'g'); + mask |= 16; + break; + case 121: + if (mask & 8) + report(parser, 34, 'y'); + mask |= 8; + break; + case 115: + if (mask & 12) + report(parser, 34, 's'); + mask |= 12; + break; + default: + report(parser, 33); + } + char = advanceChar(parser); + } + const flags = parser.source.slice(flagStart, parser.index); + const pattern = parser.source.slice(bodyStart, bodyEnd); + parser.tokenRegExp = { pattern, flags }; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = validate(parser, pattern, flags); + return 65540; + } + function validate(parser, pattern, flags) { + try { + return new RegExp(pattern, flags); + } + catch (e) { + report(parser, 32); + } + } + + function scanString(parser, context, quote) { + const { index: start } = parser; + let ret = ''; + let char = advanceChar(parser); + let marker = parser.index; + while ((CharTypes[char] & 8) === 0) { + if (char === quote) { + ret += parser.source.slice(marker, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(start, parser.index); + parser.tokenValue = ret; + return 134283267; + } + if ((char & 8) === 8 && char === 92) { + ret += parser.source.slice(marker, parser.index); + char = advanceChar(parser); + if (char < 0x7f || char === 8232 || char === 8233) { + const code = parseEscape(parser, context, char); + if (code >= 0) + ret += fromCodePoint(code); + else + handleStringError(parser, code, 0); + } + else { + ret += fromCodePoint(char); + } + marker = parser.index + 1; + } + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + report(parser, 14); + } + function parseEscape(parser, context, first) { + switch (first) { + case 98: + return 8; + case 102: + return 12; + case 114: + return 13; + case 110: + return 10; + case 116: + return 9; + case 118: + return 11; + case 13: { + if (parser.index < parser.end) { + const nextChar = parser.source.charCodeAt(parser.index + 1); + if (nextChar === 10) { + parser.index = parser.index + 1; + parser.currentChar = nextChar; + } + } + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + return -1; + case 48: + case 49: + case 50: + case 51: { + let code = first - 48; + let index = parser.index + 1; + let column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if ((CharTypes[next] & 32) === 0) { + if ((code !== 0 || CharTypes[next] & 512) && context & 1024) + return -2; + } + else if (context & 1024) { + return -2; + } + else { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + parser.currentChar = next; + code = (code << 3) | (next - 48); + index++; + column++; + } + } + parser.flags |= 64; + parser.index = index - 1; + parser.column = column - 1; + } + } + return code; + } + case 52: + case 53: + case 54: + case 55: { + if (context & 1024) + return -2; + let code = first - 48; + const index = parser.index + 1; + const column = parser.column + 1; + if (index < parser.end) { + const next = parser.source.charCodeAt(index); + if (CharTypes[next] & 32) { + code = (code << 3) | (next - 48); + parser.currentChar = next; + parser.index = index; + parser.column = column; + } + } + parser.flags |= 64; + return code; + } + case 120: { + const ch1 = advanceChar(parser); + if ((CharTypes[ch1] & 64) === 0) + return -4; + const hi = toHex(ch1); + const ch2 = advanceChar(parser); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const lo = toHex(ch2); + return (hi << 4) | lo; + } + case 117: { + const ch = advanceChar(parser); + if (parser.currentChar === 123) { + let code = 0; + while ((CharTypes[advanceChar(parser)] & 64) !== 0) { + code = (code << 4) | toHex(parser.currentChar); + if (code > 1114111) + return -5; + } + if (parser.currentChar < 1 || parser.currentChar !== 125) { + return -4; + } + return code; + } + else { + if ((CharTypes[ch] & 64) === 0) + return -4; + const ch2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[ch2] & 64) === 0) + return -4; + const ch3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[ch3] & 64) === 0) + return -4; + const ch4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[ch4] & 64) === 0) + return -4; + parser.index += 3; + parser.column += 3; + parser.currentChar = parser.source.charCodeAt(parser.index); + return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4); + } + } + case 56: + case 57: + if ((context & 256) === 0) + return -3; + default: + return first; + } + } + function handleStringError(state, code, isTemplate) { + switch (code) { + case -1: + return; + case -2: + report(state, isTemplate ? 2 : 1); + case -3: + report(state, 13); + case -4: + report(state, 6); + case -5: + report(state, 101); + } + } + + function scanTemplate(parser, context) { + const { index: start } = parser; + let token = 67174409; + let ret = ''; + let char = advanceChar(parser); + while (char !== 96) { + if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) { + advanceChar(parser); + token = 67174408; + break; + } + else if ((char & 8) === 8 && char === 92) { + char = advanceChar(parser); + if (char > 0x7e) { + ret += fromCodePoint(char); + } + else { + const code = parseEscape(parser, context | 1024, char); + if (code >= 0) { + ret += fromCodePoint(code); + } + else if (code !== -1 && context & 65536) { + ret = undefined; + char = scanBadTemplate(parser, char); + if (char < 0) + token = 67174408; + break; + } + else { + handleStringError(parser, code, 1); + } + } + } + else { + if (parser.index < parser.end && + char === 13 && + parser.source.charCodeAt(parser.index) === 10) { + ret += fromCodePoint(char); + parser.currentChar = parser.source.charCodeAt(++parser.index); + } + if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) { + parser.column = -1; + parser.line++; + } + ret += fromCodePoint(char); + } + if (parser.index >= parser.end) + report(parser, 15); + char = advanceChar(parser); + } + advanceChar(parser); + parser.tokenValue = ret; + parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2)); + return token; + } + function scanBadTemplate(parser, ch) { + while (ch !== 96) { + switch (ch) { + case 36: { + const index = parser.index + 1; + if (index < parser.end && parser.source.charCodeAt(index) === 123) { + parser.index = index; + parser.column++; + return -ch; + } + break; + } + case 10: + case 8232: + case 8233: + parser.column = -1; + parser.line++; + } + if (parser.index >= parser.end) + report(parser, 15); + ch = advanceChar(parser); + } + return ch; + } + function scanTemplateTail(parser, context) { + if (parser.index >= parser.end) + report(parser, 0); + parser.index--; + parser.column--; + return scanTemplate(parser, context); + } + + function scanNumber(parser, context, kind) { + let char = parser.currentChar; + let value = 0; + let digit = 9; + let atStart = kind & 64 ? 0 : 1; + let digits = 0; + let allowSeparator = 0; + if (kind & 64) { + value = '.' + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 110) + report(parser, 11); + } + else { + if (char === 48) { + char = advanceChar(parser); + if ((char | 32) === 120) { + kind = 8 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (64 | 4096)) { + if (char === 95) { + if (!allowSeparator) + report(parser, 146); + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 0x10 + toHex(char); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 19 : 147); + } + } + else if ((char | 32) === 111) { + kind = 4 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (32 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 8 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if ((char | 32) === 98) { + kind = 2 | 128; + char = advanceChar(parser); + while (CharTypes[char] & (128 | 4096)) { + if (char === 95) { + if (!allowSeparator) { + report(parser, 146); + } + allowSeparator = 0; + char = advanceChar(parser); + continue; + } + allowSeparator = 1; + value = value * 2 + (char - 48); + digits++; + char = advanceChar(parser); + } + if (digits < 1 || !allowSeparator) { + report(parser, digits < 1 ? 0 : 147); + } + } + else if (CharTypes[char] & 32) { + if (context & 1024) + report(parser, 1); + kind = 1; + while (CharTypes[char] & 16) { + if (CharTypes[char] & 512) { + kind = 32; + atStart = 0; + break; + } + value = value * 8 + (char - 48); + char = advanceChar(parser); + } + } + else if (CharTypes[char] & 512) { + if (context & 1024) + report(parser, 1); + parser.flags |= 64; + kind = 32; + } + else if (char === 95) { + report(parser, 0); + } + } + if (kind & 48) { + if (atStart) { + while (digit >= 0 && CharTypes[char] & (16 | 4096)) { + if (char === 95) { + char = advanceChar(parser); + if (char === 95 || kind & 32) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + continue; + } + allowSeparator = 0; + value = 10 * value + (char - 48); + char = advanceChar(parser); + --digit; + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + if (digit >= 0 && !isIdentifierStart(char) && char !== 46) { + parser.tokenValue = value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + } + value += scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + if (char === 46) { + if (advanceChar(parser) === 95) + report(parser, 0); + kind = 64; + value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar); + char = parser.currentChar; + } + } + } + const end = parser.index; + let isBigInt = 0; + if (char === 110 && kind & 128) { + isBigInt = 1; + char = advanceChar(parser); + } + else { + if ((char | 32) === 101) { + char = advanceChar(parser); + if (CharTypes[char] & 256) + char = advanceChar(parser); + const { index } = parser; + if ((CharTypes[char] & 16) < 1) + report(parser, 10); + value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char); + char = parser.currentChar; + } + } + if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) { + report(parser, 12); + } + if (isBigInt) { + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + parser.tokenValue = BigInt(value); + return 134283389; + } + parser.tokenValue = + kind & (1 | 2 | 8 | 4) + ? value + : kind & 32 + ? parseFloat(parser.source.substring(parser.tokenPos, parser.index)) + : +value; + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283266; + } + function scanDecimalDigitsOrSeparator(parser, char) { + let allowSeparator = 0; + let start = parser.index; + let ret = ''; + while (CharTypes[char] & (16 | 4096)) { + if (char === 95) { + const { index } = parser; + char = advanceChar(parser); + if (char === 95) { + reportScannerError(parser.index, parser.line, parser.index + 1, 146); + } + allowSeparator = 1; + ret += parser.source.substring(start, index); + start = parser.index; + continue; + } + allowSeparator = 0; + char = advanceChar(parser); + } + if (allowSeparator) { + reportScannerError(parser.index, parser.line, parser.index + 1, 147); + } + return ret + parser.source.substring(start, parser.index); + } + + const KeywordDescTable = [ + 'end of source', + 'identifier', 'number', 'string', 'regular expression', + 'false', 'true', 'null', + 'template continuation', 'template tail', + '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\'', '"', '', + '++', '--', + '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=', + '&=', '||=', '&&=', '??=', + 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&', + '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^', + 'var', 'let', 'const', + 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export', + 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch', + 'this', 'throw', 'try', 'while', 'with', + 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield', + 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of', + 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#', + 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField', + 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText' + ]; + const descKeywordTable = Object.create(null, { + this: { value: 86113 }, + function: { value: 86106 }, + if: { value: 20571 }, + return: { value: 20574 }, + var: { value: 86090 }, + else: { value: 20565 }, + for: { value: 20569 }, + new: { value: 86109 }, + in: { value: 8738868 }, + typeof: { value: 16863277 }, + while: { value: 20580 }, + case: { value: 20558 }, + break: { value: 20557 }, + try: { value: 20579 }, + catch: { value: 20559 }, + delete: { value: 16863278 }, + throw: { value: 86114 }, + switch: { value: 86112 }, + continue: { value: 20561 }, + default: { value: 20563 }, + instanceof: { value: 8476725 }, + do: { value: 20564 }, + void: { value: 16863279 }, + finally: { value: 20568 }, + async: { value: 209007 }, + await: { value: 209008 }, + class: { value: 86096 }, + const: { value: 86092 }, + constructor: { value: 12401 }, + debugger: { value: 20562 }, + export: { value: 20566 }, + extends: { value: 20567 }, + false: { value: 86021 }, + from: { value: 12404 }, + get: { value: 12402 }, + implements: { value: 36966 }, + import: { value: 86108 }, + interface: { value: 36967 }, + let: { value: 241739 }, + null: { value: 86023 }, + of: { value: 274549 }, + package: { value: 36968 }, + private: { value: 36969 }, + protected: { value: 36970 }, + public: { value: 36971 }, + set: { value: 12403 }, + static: { value: 36972 }, + super: { value: 86111 }, + true: { value: 86022 }, + with: { value: 20581 }, + yield: { value: 241773 }, + enum: { value: 86134 }, + eval: { value: 537079927 }, + as: { value: 77934 }, + arguments: { value: 537079928 }, + target: { value: 143494 }, + meta: { value: 143495 }, + }); + + function scanIdentifier(parser, context, isValidAsKeyword) { + while (isIdPart[advanceChar(parser)]) { } + parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index); + return parser.currentChar !== 92 && parser.currentChar < 0x7e + ? descKeywordTable[parser.tokenValue] || 208897 + : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword); + } + function scanUnicodeIdentifier(parser, context) { + const cookedChar = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(cookedChar)) + report(parser, 4); + parser.tokenValue = fromCodePoint(cookedChar); + return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4); + } + function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) { + let start = parser.index; + while (parser.index < parser.end) { + if (parser.currentChar === 92) { + parser.tokenValue += parser.source.slice(start, parser.index); + hasEscape = 1; + const code = scanIdentifierUnicodeEscape(parser); + if (!isIdentifierPart(code)) + report(parser, 4); + isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4; + parser.tokenValue += fromCodePoint(code); + start = parser.index; + } + else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) { + advanceChar(parser); + } + else { + break; + } + } + if (parser.index <= parser.end) { + parser.tokenValue += parser.source.slice(start, parser.index); + } + const length = parser.tokenValue.length; + if (isValidAsKeyword && length >= 2 && length <= 11) { + const token = descKeywordTable[parser.tokenValue]; + if (token === void 0) + return 208897; + if (!hasEscape) + return token; + if (context & 1024) { + return token === 209008 && (context & (2048 | 4194304)) === 0 + ? token + : token === 36972 + ? 122 + : (token & 36864) === 36864 + ? 122 + : 121; + } + if (context & 1073741824 && + (context & 8192) === 0 && + (token & 20480) === 20480) + return token; + if (token === 241773) { + return context & 1073741824 + ? 143483 + : context & 2097152 + ? 121 + : token; + } + return token === 209007 && context & 1073741824 + ? 143483 + : (token & 36864) === 36864 + ? token + : token === 209008 && (context & 4194304) === 0 + ? token + : 121; + } + return 208897; + } + function scanPrivateIdentifier(parser) { + if (!isIdentifierStart(advanceChar(parser))) + report(parser, 93); + return 131; + } + function scanIdentifierUnicodeEscape(parser) { + if (parser.source.charCodeAt(parser.index + 1) !== 117) { + report(parser, 4); + } + parser.currentChar = parser.source.charCodeAt((parser.index += 2)); + return scanUnicodeEscape(parser); + } + function scanUnicodeEscape(parser) { + let codePoint = 0; + const char = parser.currentChar; + if (char === 123) { + const begin = parser.index - 2; + while (CharTypes[advanceChar(parser)] & 64) { + codePoint = (codePoint << 4) | toHex(parser.currentChar); + if (codePoint > 1114111) + reportScannerError(begin, parser.line, parser.index + 1, 101); + } + if (parser.currentChar !== 125) { + reportScannerError(begin, parser.line, parser.index - 1, 6); + } + advanceChar(parser); + return codePoint; + } + if ((CharTypes[char] & 64) === 0) + report(parser, 6); + const char2 = parser.source.charCodeAt(parser.index + 1); + if ((CharTypes[char2] & 64) === 0) + report(parser, 6); + const char3 = parser.source.charCodeAt(parser.index + 2); + if ((CharTypes[char3] & 64) === 0) + report(parser, 6); + const char4 = parser.source.charCodeAt(parser.index + 3); + if ((CharTypes[char4] & 64) === 0) + report(parser, 6); + codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4); + parser.currentChar = parser.source.charCodeAt((parser.index += 4)); + return codePoint; + } + + const TokenLookup = [ + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 136, + 128, + 128, + 130, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 129, + 128, + 16842800, + 134283267, + 131, + 208897, + 8457015, + 8455751, + 134283267, + 67174411, + 16, + 8457014, + 25233970, + 18, + 25233971, + 67108877, + 8457016, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 134283266, + 21, + 1074790417, + 8456258, + 1077936157, + 8456259, + 22, + 133, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 208897, + 69271571, + 137, + 20, + 8455497, + 208897, + 132, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 4096, + 208897, + 4096, + 208897, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 208897, + 4096, + 4096, + 4096, + 208897, + 4096, + 4096, + 208897, + 4096, + 4096, + 2162700, + 8455240, + 1074790415, + 16842801, + 129 + ]; + function nextToken(parser, context) { + parser.flags = (parser.flags | 1) ^ 1; + parser.startPos = parser.index; + parser.startColumn = parser.column; + parser.startLine = parser.line; + parser.token = scanSingleToken(parser, context, 0); + if (parser.onToken && parser.token !== 1048576) { + const loc = { + start: { + line: parser.linePos, + column: parser.colPos + }, + end: { + line: parser.line, + column: parser.column + } + }; + parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc); + } + } + function scanSingleToken(parser, context, state) { + const isStartOfLine = parser.index === 0; + const source = parser.source; + let startPos = parser.index; + let startLine = parser.line; + let startColumn = parser.column; + while (parser.index < parser.end) { + parser.tokenPos = parser.index; + parser.colPos = parser.column; + parser.linePos = parser.line; + let char = parser.currentChar; + if (char <= 0x7e) { + const token = TokenLookup[char]; + switch (token) { + case 67174411: + case 16: + case 2162700: + case 1074790415: + case 69271571: + case 20: + case 21: + case 1074790417: + case 18: + case 16842801: + case 133: + case 129: + advanceChar(parser); + return token; + case 208897: + return scanIdentifier(parser, context, 0); + case 4096: + return scanIdentifier(parser, context, 1); + case 134283266: + return scanNumber(parser, context, 16 | 128); + case 134283267: + return scanString(parser, context, char); + case 132: + return scanTemplate(parser, context); + case 137: + return scanUnicodeIdentifier(parser, context); + case 131: + return scanPrivateIdentifier(parser); + case 128: + advanceChar(parser); + break; + case 130: + state |= 1 | 4; + scanNewLine(parser); + break; + case 136: + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + break; + case 8456258: + let ch = advanceChar(parser); + if (parser.index < parser.end) { + if (ch === 60) { + if (parser.index < parser.end && advanceChar(parser) === 61) { + advanceChar(parser); + return 4194334; + } + return 8456516; + } + else if (ch === 61) { + advanceChar(parser); + return 8456000; + } + if (ch === 33) { + const index = parser.index + 1; + if (index + 1 < parser.end && + source.charCodeAt(index) === 45 && + source.charCodeAt(index + 1) == 45) { + parser.column += 3; + parser.currentChar = source.charCodeAt((parser.index += 3)); + state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 8456258; + } + if (ch === 47) { + if ((context & 16) < 1) + return 8456258; + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (ch === 42 || ch === 47) + break; + } + advanceChar(parser); + return 25; + } + } + return 8456258; + case 1077936157: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 8455996; + } + return 8455998; + } + if (ch === 62) { + advanceChar(parser); + return 10; + } + return 1077936157; + } + case 16842800: + if (advanceChar(parser) !== 61) { + return 16842800; + } + if (advanceChar(parser) !== 61) { + return 8455999; + } + advanceChar(parser); + return 8455997; + case 8457015: + if (advanceChar(parser) !== 61) + return 8457015; + advanceChar(parser); + return 4194342; + case 8457014: { + advanceChar(parser); + if (parser.index >= parser.end) + return 8457014; + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 4194340; + } + if (ch !== 42) + return 8457014; + if (advanceChar(parser) !== 61) + return 8457273; + advanceChar(parser); + return 4194337; + } + case 8455497: + if (advanceChar(parser) !== 61) + return 8455497; + advanceChar(parser); + return 4194343; + case 25233970: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 43) { + advanceChar(parser); + return 33619995; + } + if (ch === 61) { + advanceChar(parser); + return 4194338; + } + return 25233970; + } + case 25233971: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 45) { + advanceChar(parser); + if ((state & 1 || isStartOfLine) && parser.currentChar === 62) { + if ((context & 256) === 0) + report(parser, 108); + advanceChar(parser); + state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + return 33619996; + } + if (ch === 61) { + advanceChar(parser); + return 4194339; + } + return 25233971; + } + case 8457016: { + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 47) { + advanceChar(parser); + state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (ch === 42) { + advanceChar(parser); + state = skipMultiLineComment(parser, source, state); + startPos = parser.tokenPos; + startLine = parser.linePos; + startColumn = parser.colPos; + continue; + } + if (context & 32768) { + return scanRegularExpression(parser, context); + } + if (ch === 61) { + advanceChar(parser); + return 4259877; + } + } + return 8457016; + } + case 67108877: + const next = advanceChar(parser); + if (next >= 48 && next <= 57) + return scanNumber(parser, context, 64 | 16); + if (next === 46) { + const index = parser.index + 1; + if (index < parser.end && source.charCodeAt(index) === 46) { + parser.column += 2; + parser.currentChar = source.charCodeAt((parser.index += 2)); + return 14; + } + } + return 67108877; + case 8455240: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 124) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194346; + } + return 8979003; + } + if (ch === 61) { + advanceChar(parser); + return 4194344; + } + return 8455240; + } + case 8456259: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 61) { + advanceChar(parser); + return 8456001; + } + if (ch !== 62) + return 8456259; + advanceChar(parser); + if (parser.index < parser.end) { + const ch = parser.currentChar; + if (ch === 62) { + if (advanceChar(parser) === 61) { + advanceChar(parser); + return 4194336; + } + return 8456518; + } + if (ch === 61) { + advanceChar(parser); + return 4194335; + } + } + return 8456517; + } + case 8455751: { + advanceChar(parser); + const ch = parser.currentChar; + if (ch === 38) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194347; + } + return 8979258; + } + if (ch === 61) { + advanceChar(parser); + return 4194345; + } + return 8455751; + } + case 22: { + let ch = advanceChar(parser); + if (ch === 63) { + advanceChar(parser); + if (parser.currentChar === 61) { + advanceChar(parser); + return 4194348; + } + return 276889982; + } + if (ch === 46) { + const index = parser.index + 1; + if (index < parser.end) { + ch = source.charCodeAt(index); + if (!(ch >= 48 && ch <= 57)) { + advanceChar(parser); + return 67108991; + } + } + } + return 22; + } + } + } + else { + if ((char ^ 8232) <= 1) { + state = (state & ~4) | 1; + scanNewLine(parser); + continue; + } + if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) { + if ((char & 0xfc00) === 0xdc00) { + char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000; + if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) { + report(parser, 18, fromCodePoint(char)); + } + parser.index++; + parser.currentChar = char; + } + parser.column++; + parser.tokenValue = ''; + return scanIdentifierSlowCase(parser, context, 0, 0); + } + if (isExoticECMAScriptWhitespace(char)) { + advanceChar(parser); + continue; + } + report(parser, 18, fromCodePoint(char)); + } + } + return 1048576; + } + + const entities = { + AElig: '\u00C6', + AMP: '\u0026', + Aacute: '\u00C1', + Abreve: '\u0102', + Acirc: '\u00C2', + Acy: '\u0410', + Afr: '\uD835\uDD04', + Agrave: '\u00C0', + Alpha: '\u0391', + Amacr: '\u0100', + And: '\u2A53', + Aogon: '\u0104', + Aopf: '\uD835\uDD38', + ApplyFunction: '\u2061', + Aring: '\u00C5', + Ascr: '\uD835\uDC9C', + Assign: '\u2254', + Atilde: '\u00C3', + Auml: '\u00C4', + Backslash: '\u2216', + Barv: '\u2AE7', + Barwed: '\u2306', + Bcy: '\u0411', + Because: '\u2235', + Bernoullis: '\u212C', + Beta: '\u0392', + Bfr: '\uD835\uDD05', + Bopf: '\uD835\uDD39', + Breve: '\u02D8', + Bscr: '\u212C', + Bumpeq: '\u224E', + CHcy: '\u0427', + COPY: '\u00A9', + Cacute: '\u0106', + Cap: '\u22D2', + CapitalDifferentialD: '\u2145', + Cayleys: '\u212D', + Ccaron: '\u010C', + Ccedil: '\u00C7', + Ccirc: '\u0108', + Cconint: '\u2230', + Cdot: '\u010A', + Cedilla: '\u00B8', + CenterDot: '\u00B7', + Cfr: '\u212D', + Chi: '\u03A7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + ClockwiseContourIntegral: '\u2232', + CloseCurlyDoubleQuote: '\u201D', + CloseCurlyQuote: '\u2019', + Colon: '\u2237', + Colone: '\u2A74', + Congruent: '\u2261', + Conint: '\u222F', + ContourIntegral: '\u222E', + Copf: '\u2102', + Coproduct: '\u2210', + CounterClockwiseContourIntegral: '\u2233', + Cross: '\u2A2F', + Cscr: '\uD835\uDC9E', + Cup: '\u22D3', + CupCap: '\u224D', + DD: '\u2145', + DDotrahd: '\u2911', + DJcy: '\u0402', + DScy: '\u0405', + DZcy: '\u040F', + Dagger: '\u2021', + Darr: '\u21A1', + Dashv: '\u2AE4', + Dcaron: '\u010E', + Dcy: '\u0414', + Del: '\u2207', + Delta: '\u0394', + Dfr: '\uD835\uDD07', + DiacriticalAcute: '\u00B4', + DiacriticalDot: '\u02D9', + DiacriticalDoubleAcute: '\u02DD', + DiacriticalGrave: '\u0060', + DiacriticalTilde: '\u02DC', + Diamond: '\u22C4', + DifferentialD: '\u2146', + Dopf: '\uD835\uDD3B', + Dot: '\u00A8', + DotDot: '\u20DC', + DotEqual: '\u2250', + DoubleContourIntegral: '\u222F', + DoubleDot: '\u00A8', + DoubleDownArrow: '\u21D3', + DoubleLeftArrow: '\u21D0', + DoubleLeftRightArrow: '\u21D4', + DoubleLeftTee: '\u2AE4', + DoubleLongLeftArrow: '\u27F8', + DoubleLongLeftRightArrow: '\u27FA', + DoubleLongRightArrow: '\u27F9', + DoubleRightArrow: '\u21D2', + DoubleRightTee: '\u22A8', + DoubleUpArrow: '\u21D1', + DoubleUpDownArrow: '\u21D5', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownArrowBar: '\u2913', + DownArrowUpArrow: '\u21F5', + DownBreve: '\u0311', + DownLeftRightVector: '\u2950', + DownLeftTeeVector: '\u295E', + DownLeftVector: '\u21BD', + DownLeftVectorBar: '\u2956', + DownRightTeeVector: '\u295F', + DownRightVector: '\u21C1', + DownRightVectorBar: '\u2957', + DownTee: '\u22A4', + DownTeeArrow: '\u21A7', + Downarrow: '\u21D3', + Dscr: '\uD835\uDC9F', + Dstrok: '\u0110', + ENG: '\u014A', + ETH: '\u00D0', + Eacute: '\u00C9', + Ecaron: '\u011A', + Ecirc: '\u00CA', + Ecy: '\u042D', + Edot: '\u0116', + Efr: '\uD835\uDD08', + Egrave: '\u00C8', + Element: '\u2208', + Emacr: '\u0112', + EmptySmallSquare: '\u25FB', + EmptyVerySmallSquare: '\u25AB', + Eogon: '\u0118', + Eopf: '\uD835\uDD3C', + Epsilon: '\u0395', + Equal: '\u2A75', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Escr: '\u2130', + Esim: '\u2A73', + Eta: '\u0397', + Euml: '\u00CB', + Exists: '\u2203', + ExponentialE: '\u2147', + Fcy: '\u0424', + Ffr: '\uD835\uDD09', + FilledSmallSquare: '\u25FC', + FilledVerySmallSquare: '\u25AA', + Fopf: '\uD835\uDD3D', + ForAll: '\u2200', + Fouriertrf: '\u2131', + Fscr: '\u2131', + GJcy: '\u0403', + GT: '\u003E', + Gamma: '\u0393', + Gammad: '\u03DC', + Gbreve: '\u011E', + Gcedil: '\u0122', + Gcirc: '\u011C', + Gcy: '\u0413', + Gdot: '\u0120', + Gfr: '\uD835\uDD0A', + Gg: '\u22D9', + Gopf: '\uD835\uDD3E', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterGreater: '\u2AA2', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Gscr: '\uD835\uDCA2', + Gt: '\u226B', + HARDcy: '\u042A', + Hacek: '\u02C7', + Hat: '\u005E', + Hcirc: '\u0124', + Hfr: '\u210C', + HilbertSpace: '\u210B', + Hopf: '\u210D', + HorizontalLine: '\u2500', + Hscr: '\u210B', + Hstrok: '\u0126', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + IEcy: '\u0415', + IJlig: '\u0132', + IOcy: '\u0401', + Iacute: '\u00CD', + Icirc: '\u00CE', + Icy: '\u0418', + Idot: '\u0130', + Ifr: '\u2111', + Igrave: '\u00CC', + Im: '\u2111', + Imacr: '\u012A', + ImaginaryI: '\u2148', + Implies: '\u21D2', + Int: '\u222C', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Iogon: '\u012E', + Iopf: '\uD835\uDD40', + Iota: '\u0399', + Iscr: '\u2110', + Itilde: '\u0128', + Iukcy: '\u0406', + Iuml: '\u00CF', + Jcirc: '\u0134', + Jcy: '\u0419', + Jfr: '\uD835\uDD0D', + Jopf: '\uD835\uDD41', + Jscr: '\uD835\uDCA5', + Jsercy: '\u0408', + Jukcy: '\u0404', + KHcy: '\u0425', + KJcy: '\u040C', + Kappa: '\u039A', + Kcedil: '\u0136', + Kcy: '\u041A', + Kfr: '\uD835\uDD0E', + Kopf: '\uD835\uDD42', + Kscr: '\uD835\uDCA6', + LJcy: '\u0409', + LT: '\u003C', + Lacute: '\u0139', + Lambda: '\u039B', + Lang: '\u27EA', + Laplacetrf: '\u2112', + Larr: '\u219E', + Lcaron: '\u013D', + Lcedil: '\u013B', + Lcy: '\u041B', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowBar: '\u21E4', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDoubleBracket: '\u27E6', + LeftDownTeeVector: '\u2961', + LeftDownVector: '\u21C3', + LeftDownVectorBar: '\u2959', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftRightVector: '\u294E', + LeftTee: '\u22A3', + LeftTeeArrow: '\u21A4', + LeftTeeVector: '\u295A', + LeftTriangle: '\u22B2', + LeftTriangleBar: '\u29CF', + LeftTriangleEqual: '\u22B4', + LeftUpDownVector: '\u2951', + LeftUpTeeVector: '\u2960', + LeftUpVector: '\u21BF', + LeftUpVectorBar: '\u2958', + LeftVector: '\u21BC', + LeftVectorBar: '\u2952', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessLess: '\u2AA1', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Lfr: '\uD835\uDD0F', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + Lmidot: '\u013F', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lopf: '\uD835\uDD43', + LowerLeftArrow: '\u2199', + LowerRightArrow: '\u2198', + Lscr: '\u2112', + Lsh: '\u21B0', + Lstrok: '\u0141', + Lt: '\u226A', + Map: '\u2905', + Mcy: '\u041C', + MediumSpace: '\u205F', + Mellintrf: '\u2133', + Mfr: '\uD835\uDD10', + MinusPlus: '\u2213', + Mopf: '\uD835\uDD44', + Mscr: '\u2133', + Mu: '\u039C', + NJcy: '\u040A', + Nacute: '\u0143', + Ncaron: '\u0147', + Ncedil: '\u0145', + Ncy: '\u041D', + NegativeMediumSpace: '\u200B', + NegativeThickSpace: '\u200B', + NegativeThinSpace: '\u200B', + NegativeVeryThinSpace: '\u200B', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NewLine: '\u000A', + Nfr: '\uD835\uDD11', + NoBreak: '\u2060', + NonBreakingSpace: '\u00A0', + Nopf: '\u2115', + Not: '\u2AEC', + NotCongruent: '\u2262', + NotCupCap: '\u226D', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotEqualTilde: '\u2242\u0338', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotGreaterFullEqual: '\u2267\u0338', + NotGreaterGreater: '\u226B\u0338', + NotGreaterLess: '\u2279', + NotGreaterSlantEqual: '\u2A7E\u0338', + NotGreaterTilde: '\u2275', + NotHumpDownHump: '\u224E\u0338', + NotHumpEqual: '\u224F\u0338', + NotLeftTriangle: '\u22EA', + NotLeftTriangleBar: '\u29CF\u0338', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotLessGreater: '\u2278', + NotLessLess: '\u226A\u0338', + NotLessSlantEqual: '\u2A7D\u0338', + NotLessTilde: '\u2274', + NotNestedGreaterGreater: '\u2AA2\u0338', + NotNestedLessLess: '\u2AA1\u0338', + NotPrecedes: '\u2280', + NotPrecedesEqual: '\u2AAF\u0338', + NotPrecedesSlantEqual: '\u22E0', + NotReverseElement: '\u220C', + NotRightTriangle: '\u22EB', + NotRightTriangleBar: '\u29D0\u0338', + NotRightTriangleEqual: '\u22ED', + NotSquareSubset: '\u228F\u0338', + NotSquareSubsetEqual: '\u22E2', + NotSquareSuperset: '\u2290\u0338', + NotSquareSupersetEqual: '\u22E3', + NotSubset: '\u2282\u20D2', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsEqual: '\u2AB0\u0338', + NotSucceedsSlantEqual: '\u22E1', + NotSucceedsTilde: '\u227F\u0338', + NotSuperset: '\u2283\u20D2', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotTildeEqual: '\u2244', + NotTildeFullEqual: '\u2247', + NotTildeTilde: '\u2249', + NotVerticalBar: '\u2224', + Nscr: '\uD835\uDCA9', + Ntilde: '\u00D1', + Nu: '\u039D', + OElig: '\u0152', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Ocy: '\u041E', + Odblac: '\u0150', + Ofr: '\uD835\uDD12', + Ograve: '\u00D2', + Omacr: '\u014C', + Omega: '\u03A9', + Omicron: '\u039F', + Oopf: '\uD835\uDD46', + OpenCurlyDoubleQuote: '\u201C', + OpenCurlyQuote: '\u2018', + Or: '\u2A54', + Oscr: '\uD835\uDCAA', + Oslash: '\u00D8', + Otilde: '\u00D5', + Otimes: '\u2A37', + Ouml: '\u00D6', + OverBar: '\u203E', + OverBrace: '\u23DE', + OverBracket: '\u23B4', + OverParenthesis: '\u23DC', + PartialD: '\u2202', + Pcy: '\u041F', + Pfr: '\uD835\uDD13', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Poincareplane: '\u210C', + Popf: '\u2119', + Pr: '\u2ABB', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Prime: '\u2033', + Product: '\u220F', + Proportion: '\u2237', + Proportional: '\u221D', + Pscr: '\uD835\uDCAB', + Psi: '\u03A8', + QUOT: '\u0022', + Qfr: '\uD835\uDD14', + Qopf: '\u211A', + Qscr: '\uD835\uDCAC', + RBarr: '\u2910', + REG: '\u00AE', + Racute: '\u0154', + Rang: '\u27EB', + Rarr: '\u21A0', + Rarrtl: '\u2916', + Rcaron: '\u0158', + Rcedil: '\u0156', + Rcy: '\u0420', + Re: '\u211C', + ReverseElement: '\u220B', + ReverseEquilibrium: '\u21CB', + ReverseUpEquilibrium: '\u296F', + Rfr: '\u211C', + Rho: '\u03A1', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowBar: '\u21E5', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDoubleBracket: '\u27E7', + RightDownTeeVector: '\u295D', + RightDownVector: '\u21C2', + RightDownVectorBar: '\u2955', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTeeVector: '\u295B', + RightTriangle: '\u22B3', + RightTriangleBar: '\u29D0', + RightTriangleEqual: '\u22B5', + RightUpDownVector: '\u294F', + RightUpTeeVector: '\u295C', + RightUpVector: '\u21BE', + RightUpVectorBar: '\u2954', + RightVector: '\u21C0', + RightVectorBar: '\u2953', + Rightarrow: '\u21D2', + Ropf: '\u211D', + RoundImplies: '\u2970', + Rrightarrow: '\u21DB', + Rscr: '\u211B', + Rsh: '\u21B1', + RuleDelayed: '\u29F4', + SHCHcy: '\u0429', + SHcy: '\u0428', + SOFTcy: '\u042C', + Sacute: '\u015A', + Sc: '\u2ABC', + Scaron: '\u0160', + Scedil: '\u015E', + Scirc: '\u015C', + Scy: '\u0421', + Sfr: '\uD835\uDD16', + ShortDownArrow: '\u2193', + ShortLeftArrow: '\u2190', + ShortRightArrow: '\u2192', + ShortUpArrow: '\u2191', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sopf: '\uD835\uDD4A', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Sscr: '\uD835\uDCAE', + Star: '\u22C6', + Sub: '\u22D0', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Sup: '\u22D1', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + THORN: '\u00DE', + TRADE: '\u2122', + TSHcy: '\u040B', + TScy: '\u0426', + Tab: '\u0009', + Tau: '\u03A4', + Tcaron: '\u0164', + Tcedil: '\u0162', + Tcy: '\u0422', + Tfr: '\uD835\uDD17', + Therefore: '\u2234', + Theta: '\u0398', + ThickSpace: '\u205F\u200A', + ThinSpace: '\u2009', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + Topf: '\uD835\uDD4B', + TripleDot: '\u20DB', + Tscr: '\uD835\uDCAF', + Tstrok: '\u0166', + Uacute: '\u00DA', + Uarr: '\u219F', + Uarrocir: '\u2949', + Ubrcy: '\u040E', + Ubreve: '\u016C', + Ucirc: '\u00DB', + Ucy: '\u0423', + Udblac: '\u0170', + Ufr: '\uD835\uDD18', + Ugrave: '\u00D9', + Umacr: '\u016A', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + UnderBracket: '\u23B5', + UnderParenthesis: '\u23DD', + Union: '\u22C3', + UnionPlus: '\u228E', + Uogon: '\u0172', + Uopf: '\uD835\uDD4C', + UpArrow: '\u2191', + UpArrowBar: '\u2912', + UpArrowDownArrow: '\u21C5', + UpDownArrow: '\u2195', + UpEquilibrium: '\u296E', + UpTee: '\u22A5', + UpTeeArrow: '\u21A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + UpperLeftArrow: '\u2196', + UpperRightArrow: '\u2197', + Upsi: '\u03D2', + Upsilon: '\u03A5', + Uring: '\u016E', + Uscr: '\uD835\uDCB0', + Utilde: '\u0168', + Uuml: '\u00DC', + VDash: '\u22AB', + Vbar: '\u2AEB', + Vcy: '\u0412', + Vdash: '\u22A9', + Vdashl: '\u2AE6', + Vee: '\u22C1', + Verbar: '\u2016', + Vert: '\u2016', + VerticalBar: '\u2223', + VerticalLine: '\u007C', + VerticalSeparator: '\u2758', + VerticalTilde: '\u2240', + VeryThinSpace: '\u200A', + Vfr: '\uD835\uDD19', + Vopf: '\uD835\uDD4D', + Vscr: '\uD835\uDCB1', + Vvdash: '\u22AA', + Wcirc: '\u0174', + Wedge: '\u22C0', + Wfr: '\uD835\uDD1A', + Wopf: '\uD835\uDD4E', + Wscr: '\uD835\uDCB2', + Xfr: '\uD835\uDD1B', + Xi: '\u039E', + Xopf: '\uD835\uDD4F', + Xscr: '\uD835\uDCB3', + YAcy: '\u042F', + YIcy: '\u0407', + YUcy: '\u042E', + Yacute: '\u00DD', + Ycirc: '\u0176', + Ycy: '\u042B', + Yfr: '\uD835\uDD1C', + Yopf: '\uD835\uDD50', + Yscr: '\uD835\uDCB4', + Yuml: '\u0178', + ZHcy: '\u0416', + Zacute: '\u0179', + Zcaron: '\u017D', + Zcy: '\u0417', + Zdot: '\u017B', + ZeroWidthSpace: '\u200B', + Zeta: '\u0396', + Zfr: '\u2128', + Zopf: '\u2124', + Zscr: '\uD835\uDCB5', + aacute: '\u00E1', + abreve: '\u0103', + ac: '\u223E', + acE: '\u223E\u0333', + acd: '\u223F', + acirc: '\u00E2', + acute: '\u00B4', + acy: '\u0430', + aelig: '\u00E6', + af: '\u2061', + afr: '\uD835\uDD1E', + agrave: '\u00E0', + alefsym: '\u2135', + aleph: '\u2135', + alpha: '\u03B1', + amacr: '\u0101', + amalg: '\u2A3F', + amp: '\u0026', + and: '\u2227', + andand: '\u2A55', + andd: '\u2A5C', + andslope: '\u2A58', + andv: '\u2A5A', + ang: '\u2220', + ange: '\u29A4', + angle: '\u2220', + angmsd: '\u2221', + angmsdaa: '\u29A8', + angmsdab: '\u29A9', + angmsdac: '\u29AA', + angmsdad: '\u29AB', + angmsdae: '\u29AC', + angmsdaf: '\u29AD', + angmsdag: '\u29AE', + angmsdah: '\u29AF', + angrt: '\u221F', + angrtvb: '\u22BE', + angrtvbd: '\u299D', + angsph: '\u2222', + angst: '\u00C5', + angzarr: '\u237C', + aogon: '\u0105', + aopf: '\uD835\uDD52', + ap: '\u2248', + apE: '\u2A70', + apacir: '\u2A6F', + ape: '\u224A', + apid: '\u224B', + apos: '\u0027', + approx: '\u2248', + approxeq: '\u224A', + aring: '\u00E5', + ascr: '\uD835\uDCB6', + ast: '\u002A', + asymp: '\u2248', + asympeq: '\u224D', + atilde: '\u00E3', + auml: '\u00E4', + awconint: '\u2233', + awint: '\u2A11', + bNot: '\u2AED', + backcong: '\u224C', + backepsilon: '\u03F6', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + barvee: '\u22BD', + barwed: '\u2305', + barwedge: '\u2305', + bbrk: '\u23B5', + bbrktbrk: '\u23B6', + bcong: '\u224C', + bcy: '\u0431', + bdquo: '\u201E', + becaus: '\u2235', + because: '\u2235', + bemptyv: '\u29B0', + bepsi: '\u03F6', + bernou: '\u212C', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bfr: '\uD835\uDD1F', + bigcap: '\u22C2', + bigcirc: '\u25EF', + bigcup: '\u22C3', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + bigvee: '\u22C1', + bigwedge: '\u22C0', + bkarow: '\u290D', + blacklozenge: '\u29EB', + blacksquare: '\u25AA', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + blacktriangleright: '\u25B8', + blank: '\u2423', + blk12: '\u2592', + blk14: '\u2591', + blk34: '\u2593', + block: '\u2588', + bne: '\u003D\u20E5', + bnequiv: '\u2261\u20E5', + bnot: '\u2310', + bopf: '\uD835\uDD53', + bot: '\u22A5', + bottom: '\u22A5', + bowtie: '\u22C8', + boxDL: '\u2557', + boxDR: '\u2554', + boxDl: '\u2556', + boxDr: '\u2553', + boxH: '\u2550', + boxHD: '\u2566', + boxHU: '\u2569', + boxHd: '\u2564', + boxHu: '\u2567', + boxUL: '\u255D', + boxUR: '\u255A', + boxUl: '\u255C', + boxUr: '\u2559', + boxV: '\u2551', + boxVH: '\u256C', + boxVL: '\u2563', + boxVR: '\u2560', + boxVh: '\u256B', + boxVl: '\u2562', + boxVr: '\u255F', + boxbox: '\u29C9', + boxdL: '\u2555', + boxdR: '\u2552', + boxdl: '\u2510', + boxdr: '\u250C', + boxh: '\u2500', + boxhD: '\u2565', + boxhU: '\u2568', + boxhd: '\u252C', + boxhu: '\u2534', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxuL: '\u255B', + boxuR: '\u2558', + boxul: '\u2518', + boxur: '\u2514', + boxv: '\u2502', + boxvH: '\u256A', + boxvL: '\u2561', + boxvR: '\u255E', + boxvh: '\u253C', + boxvl: '\u2524', + boxvr: '\u251C', + bprime: '\u2035', + breve: '\u02D8', + brvbar: '\u00A6', + bscr: '\uD835\uDCB7', + bsemi: '\u204F', + bsim: '\u223D', + bsime: '\u22CD', + bsol: '\u005C', + bsolb: '\u29C5', + bsolhsub: '\u27C8', + bull: '\u2022', + bullet: '\u2022', + bump: '\u224E', + bumpE: '\u2AAE', + bumpe: '\u224F', + bumpeq: '\u224F', + cacute: '\u0107', + cap: '\u2229', + capand: '\u2A44', + capbrcup: '\u2A49', + capcap: '\u2A4B', + capcup: '\u2A47', + capdot: '\u2A40', + caps: '\u2229\uFE00', + caret: '\u2041', + caron: '\u02C7', + ccaps: '\u2A4D', + ccaron: '\u010D', + ccedil: '\u00E7', + ccirc: '\u0109', + ccups: '\u2A4C', + ccupssm: '\u2A50', + cdot: '\u010B', + cedil: '\u00B8', + cemptyv: '\u29B2', + cent: '\u00A2', + centerdot: '\u00B7', + cfr: '\uD835\uDD20', + chcy: '\u0447', + check: '\u2713', + checkmark: '\u2713', + chi: '\u03C7', + cir: '\u25CB', + cirE: '\u29C3', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + cire: '\u2257', + cirfnint: '\u2A10', + cirmid: '\u2AEF', + cirscir: '\u29C2', + clubs: '\u2663', + clubsuit: '\u2663', + colon: '\u003A', + colone: '\u2254', + coloneq: '\u2254', + comma: '\u002C', + commat: '\u0040', + comp: '\u2201', + compfn: '\u2218', + complement: '\u2201', + complexes: '\u2102', + cong: '\u2245', + congdot: '\u2A6D', + conint: '\u222E', + copf: '\uD835\uDD54', + coprod: '\u2210', + copy: '\u00A9', + copysr: '\u2117', + crarr: '\u21B5', + cross: '\u2717', + cscr: '\uD835\uDCB8', + csub: '\u2ACF', + csube: '\u2AD1', + csup: '\u2AD0', + csupe: '\u2AD2', + ctdot: '\u22EF', + cudarrl: '\u2938', + cudarrr: '\u2935', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cularrp: '\u293D', + cup: '\u222A', + cupbrcap: '\u2A48', + cupcap: '\u2A46', + cupcup: '\u2A4A', + cupdot: '\u228D', + cupor: '\u2A45', + cups: '\u222A\uFE00', + curarr: '\u21B7', + curarrm: '\u293C', + curlyeqprec: '\u22DE', + curlyeqsucc: '\u22DF', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + curren: '\u00A4', + curvearrowleft: '\u21B6', + curvearrowright: '\u21B7', + cuvee: '\u22CE', + cuwed: '\u22CF', + cwconint: '\u2232', + cwint: '\u2231', + cylcty: '\u232D', + dArr: '\u21D3', + dHar: '\u2965', + dagger: '\u2020', + daleth: '\u2138', + darr: '\u2193', + dash: '\u2010', + dashv: '\u22A3', + dbkarow: '\u290F', + dblac: '\u02DD', + dcaron: '\u010F', + dcy: '\u0434', + dd: '\u2146', + ddagger: '\u2021', + ddarr: '\u21CA', + ddotseq: '\u2A77', + deg: '\u00B0', + delta: '\u03B4', + demptyv: '\u29B1', + dfisht: '\u297F', + dfr: '\uD835\uDD21', + dharl: '\u21C3', + dharr: '\u21C2', + diam: '\u22C4', + diamond: '\u22C4', + diamondsuit: '\u2666', + diams: '\u2666', + die: '\u00A8', + digamma: '\u03DD', + disin: '\u22F2', + div: '\u00F7', + divide: '\u00F7', + divideontimes: '\u22C7', + divonx: '\u22C7', + djcy: '\u0452', + dlcorn: '\u231E', + dlcrop: '\u230D', + dollar: '\u0024', + dopf: '\uD835\uDD55', + dot: '\u02D9', + doteq: '\u2250', + doteqdot: '\u2251', + dotminus: '\u2238', + dotplus: '\u2214', + dotsquare: '\u22A1', + doublebarwedge: '\u2306', + downarrow: '\u2193', + downdownarrows: '\u21CA', + downharpoonleft: '\u21C3', + downharpoonright: '\u21C2', + drbkarow: '\u2910', + drcorn: '\u231F', + drcrop: '\u230C', + dscr: '\uD835\uDCB9', + dscy: '\u0455', + dsol: '\u29F6', + dstrok: '\u0111', + dtdot: '\u22F1', + dtri: '\u25BF', + dtrif: '\u25BE', + duarr: '\u21F5', + duhar: '\u296F', + dwangle: '\u29A6', + dzcy: '\u045F', + dzigrarr: '\u27FF', + eDDot: '\u2A77', + eDot: '\u2251', + eacute: '\u00E9', + easter: '\u2A6E', + ecaron: '\u011B', + ecir: '\u2256', + ecirc: '\u00EA', + ecolon: '\u2255', + ecy: '\u044D', + edot: '\u0117', + ee: '\u2147', + efDot: '\u2252', + efr: '\uD835\uDD22', + eg: '\u2A9A', + egrave: '\u00E8', + egs: '\u2A96', + egsdot: '\u2A98', + el: '\u2A99', + elinters: '\u23E7', + ell: '\u2113', + els: '\u2A95', + elsdot: '\u2A97', + emacr: '\u0113', + empty: '\u2205', + emptyset: '\u2205', + emptyv: '\u2205', + emsp13: '\u2004', + emsp14: '\u2005', + emsp: '\u2003', + eng: '\u014B', + ensp: '\u2002', + eogon: '\u0119', + eopf: '\uD835\uDD56', + epar: '\u22D5', + eparsl: '\u29E3', + eplus: '\u2A71', + epsi: '\u03B5', + epsilon: '\u03B5', + epsiv: '\u03F5', + eqcirc: '\u2256', + eqcolon: '\u2255', + eqsim: '\u2242', + eqslantgtr: '\u2A96', + eqslantless: '\u2A95', + equals: '\u003D', + equest: '\u225F', + equiv: '\u2261', + equivDD: '\u2A78', + eqvparsl: '\u29E5', + erDot: '\u2253', + erarr: '\u2971', + escr: '\u212F', + esdot: '\u2250', + esim: '\u2242', + eta: '\u03B7', + eth: '\u00F0', + euml: '\u00EB', + euro: '\u20AC', + excl: '\u0021', + exist: '\u2203', + expectation: '\u2130', + exponentiale: '\u2147', + fallingdotseq: '\u2252', + fcy: '\u0444', + female: '\u2640', + ffilig: '\uFB03', + fflig: '\uFB00', + ffllig: '\uFB04', + ffr: '\uD835\uDD23', + filig: '\uFB01', + fjlig: '\u0066\u006A', + flat: '\u266D', + fllig: '\uFB02', + fltns: '\u25B1', + fnof: '\u0192', + fopf: '\uD835\uDD57', + forall: '\u2200', + fork: '\u22D4', + forkv: '\u2AD9', + fpartint: '\u2A0D', + frac12: '\u00BD', + frac13: '\u2153', + frac14: '\u00BC', + frac15: '\u2155', + frac16: '\u2159', + frac18: '\u215B', + frac23: '\u2154', + frac25: '\u2156', + frac34: '\u00BE', + frac35: '\u2157', + frac38: '\u215C', + frac45: '\u2158', + frac56: '\u215A', + frac58: '\u215D', + frac78: '\u215E', + frasl: '\u2044', + frown: '\u2322', + fscr: '\uD835\uDCBB', + gE: '\u2267', + gEl: '\u2A8C', + gacute: '\u01F5', + gamma: '\u03B3', + gammad: '\u03DD', + gap: '\u2A86', + gbreve: '\u011F', + gcirc: '\u011D', + gcy: '\u0433', + gdot: '\u0121', + ge: '\u2265', + gel: '\u22DB', + geq: '\u2265', + geqq: '\u2267', + geqslant: '\u2A7E', + ges: '\u2A7E', + gescc: '\u2AA9', + gesdot: '\u2A80', + gesdoto: '\u2A82', + gesdotol: '\u2A84', + gesl: '\u22DB\uFE00', + gesles: '\u2A94', + gfr: '\uD835\uDD24', + gg: '\u226B', + ggg: '\u22D9', + gimel: '\u2137', + gjcy: '\u0453', + gl: '\u2277', + glE: '\u2A92', + gla: '\u2AA5', + glj: '\u2AA4', + gnE: '\u2269', + gnap: '\u2A8A', + gnapprox: '\u2A8A', + gne: '\u2A88', + gneq: '\u2A88', + gneqq: '\u2269', + gnsim: '\u22E7', + gopf: '\uD835\uDD58', + grave: '\u0060', + gscr: '\u210A', + gsim: '\u2273', + gsime: '\u2A8E', + gsiml: '\u2A90', + gt: '\u003E', + gtcc: '\u2AA7', + gtcir: '\u2A7A', + gtdot: '\u22D7', + gtlPar: '\u2995', + gtquest: '\u2A7C', + gtrapprox: '\u2A86', + gtrarr: '\u2978', + gtrdot: '\u22D7', + gtreqless: '\u22DB', + gtreqqless: '\u2A8C', + gtrless: '\u2277', + gtrsim: '\u2273', + gvertneqq: '\u2269\uFE00', + gvnE: '\u2269\uFE00', + hArr: '\u21D4', + hairsp: '\u200A', + half: '\u00BD', + hamilt: '\u210B', + hardcy: '\u044A', + harr: '\u2194', + harrcir: '\u2948', + harrw: '\u21AD', + hbar: '\u210F', + hcirc: '\u0125', + hearts: '\u2665', + heartsuit: '\u2665', + hellip: '\u2026', + hercon: '\u22B9', + hfr: '\uD835\uDD25', + hksearow: '\u2925', + hkswarow: '\u2926', + hoarr: '\u21FF', + homtht: '\u223B', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + hopf: '\uD835\uDD59', + horbar: '\u2015', + hscr: '\uD835\uDCBD', + hslash: '\u210F', + hstrok: '\u0127', + hybull: '\u2043', + hyphen: '\u2010', + iacute: '\u00ED', + ic: '\u2063', + icirc: '\u00EE', + icy: '\u0438', + iecy: '\u0435', + iexcl: '\u00A1', + iff: '\u21D4', + ifr: '\uD835\uDD26', + igrave: '\u00EC', + ii: '\u2148', + iiiint: '\u2A0C', + iiint: '\u222D', + iinfin: '\u29DC', + iiota: '\u2129', + ijlig: '\u0133', + imacr: '\u012B', + image: '\u2111', + imagline: '\u2110', + imagpart: '\u2111', + imath: '\u0131', + imof: '\u22B7', + imped: '\u01B5', + in: '\u2208', + incare: '\u2105', + infin: '\u221E', + infintie: '\u29DD', + inodot: '\u0131', + int: '\u222B', + intcal: '\u22BA', + integers: '\u2124', + intercal: '\u22BA', + intlarhk: '\u2A17', + intprod: '\u2A3C', + iocy: '\u0451', + iogon: '\u012F', + iopf: '\uD835\uDD5A', + iota: '\u03B9', + iprod: '\u2A3C', + iquest: '\u00BF', + iscr: '\uD835\uDCBE', + isin: '\u2208', + isinE: '\u22F9', + isindot: '\u22F5', + isins: '\u22F4', + isinsv: '\u22F3', + isinv: '\u2208', + it: '\u2062', + itilde: '\u0129', + iukcy: '\u0456', + iuml: '\u00EF', + jcirc: '\u0135', + jcy: '\u0439', + jfr: '\uD835\uDD27', + jmath: '\u0237', + jopf: '\uD835\uDD5B', + jscr: '\uD835\uDCBF', + jsercy: '\u0458', + jukcy: '\u0454', + kappa: '\u03BA', + kappav: '\u03F0', + kcedil: '\u0137', + kcy: '\u043A', + kfr: '\uD835\uDD28', + kgreen: '\u0138', + khcy: '\u0445', + kjcy: '\u045C', + kopf: '\uD835\uDD5C', + kscr: '\uD835\uDCC0', + lAarr: '\u21DA', + lArr: '\u21D0', + lAtail: '\u291B', + lBarr: '\u290E', + lE: '\u2266', + lEg: '\u2A8B', + lHar: '\u2962', + lacute: '\u013A', + laemptyv: '\u29B4', + lagran: '\u2112', + lambda: '\u03BB', + lang: '\u27E8', + langd: '\u2991', + langle: '\u27E8', + lap: '\u2A85', + laquo: '\u00AB', + larr: '\u2190', + larrb: '\u21E4', + larrbfs: '\u291F', + larrfs: '\u291D', + larrhk: '\u21A9', + larrlp: '\u21AB', + larrpl: '\u2939', + larrsim: '\u2973', + larrtl: '\u21A2', + lat: '\u2AAB', + latail: '\u2919', + late: '\u2AAD', + lates: '\u2AAD\uFE00', + lbarr: '\u290C', + lbbrk: '\u2772', + lbrace: '\u007B', + lbrack: '\u005B', + lbrke: '\u298B', + lbrksld: '\u298F', + lbrkslu: '\u298D', + lcaron: '\u013E', + lcedil: '\u013C', + lceil: '\u2308', + lcub: '\u007B', + lcy: '\u043B', + ldca: '\u2936', + ldquo: '\u201C', + ldquor: '\u201E', + ldrdhar: '\u2967', + ldrushar: '\u294B', + ldsh: '\u21B2', + le: '\u2264', + leftarrow: '\u2190', + leftarrowtail: '\u21A2', + leftharpoondown: '\u21BD', + leftharpoonup: '\u21BC', + leftleftarrows: '\u21C7', + leftrightarrow: '\u2194', + leftrightarrows: '\u21C6', + leftrightharpoons: '\u21CB', + leftrightsquigarrow: '\u21AD', + leftthreetimes: '\u22CB', + leg: '\u22DA', + leq: '\u2264', + leqq: '\u2266', + leqslant: '\u2A7D', + les: '\u2A7D', + lescc: '\u2AA8', + lesdot: '\u2A7F', + lesdoto: '\u2A81', + lesdotor: '\u2A83', + lesg: '\u22DA\uFE00', + lesges: '\u2A93', + lessapprox: '\u2A85', + lessdot: '\u22D6', + lesseqgtr: '\u22DA', + lesseqqgtr: '\u2A8B', + lessgtr: '\u2276', + lesssim: '\u2272', + lfisht: '\u297C', + lfloor: '\u230A', + lfr: '\uD835\uDD29', + lg: '\u2276', + lgE: '\u2A91', + lhard: '\u21BD', + lharu: '\u21BC', + lharul: '\u296A', + lhblk: '\u2584', + ljcy: '\u0459', + ll: '\u226A', + llarr: '\u21C7', + llcorner: '\u231E', + llhard: '\u296B', + lltri: '\u25FA', + lmidot: '\u0140', + lmoust: '\u23B0', + lmoustache: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lnapprox: '\u2A89', + lne: '\u2A87', + lneq: '\u2A87', + lneqq: '\u2268', + lnsim: '\u22E6', + loang: '\u27EC', + loarr: '\u21FD', + lobrk: '\u27E6', + longleftarrow: '\u27F5', + longleftrightarrow: '\u27F7', + longmapsto: '\u27FC', + longrightarrow: '\u27F6', + looparrowleft: '\u21AB', + looparrowright: '\u21AC', + lopar: '\u2985', + lopf: '\uD835\uDD5D', + loplus: '\u2A2D', + lotimes: '\u2A34', + lowast: '\u2217', + lowbar: '\u005F', + loz: '\u25CA', + lozenge: '\u25CA', + lozf: '\u29EB', + lpar: '\u0028', + lparlt: '\u2993', + lrarr: '\u21C6', + lrcorner: '\u231F', + lrhar: '\u21CB', + lrhard: '\u296D', + lrm: '\u200E', + lrtri: '\u22BF', + lsaquo: '\u2039', + lscr: '\uD835\uDCC1', + lsh: '\u21B0', + lsim: '\u2272', + lsime: '\u2A8D', + lsimg: '\u2A8F', + lsqb: '\u005B', + lsquo: '\u2018', + lsquor: '\u201A', + lstrok: '\u0142', + lt: '\u003C', + ltcc: '\u2AA6', + ltcir: '\u2A79', + ltdot: '\u22D6', + lthree: '\u22CB', + ltimes: '\u22C9', + ltlarr: '\u2976', + ltquest: '\u2A7B', + ltrPar: '\u2996', + ltri: '\u25C3', + ltrie: '\u22B4', + ltrif: '\u25C2', + lurdshar: '\u294A', + luruhar: '\u2966', + lvertneqq: '\u2268\uFE00', + lvnE: '\u2268\uFE00', + mDDot: '\u223A', + macr: '\u00AF', + male: '\u2642', + malt: '\u2720', + maltese: '\u2720', + map: '\u21A6', + mapsto: '\u21A6', + mapstodown: '\u21A7', + mapstoleft: '\u21A4', + mapstoup: '\u21A5', + marker: '\u25AE', + mcomma: '\u2A29', + mcy: '\u043C', + mdash: '\u2014', + measuredangle: '\u2221', + mfr: '\uD835\uDD2A', + mho: '\u2127', + micro: '\u00B5', + mid: '\u2223', + midast: '\u002A', + midcir: '\u2AF0', + middot: '\u00B7', + minus: '\u2212', + minusb: '\u229F', + minusd: '\u2238', + minusdu: '\u2A2A', + mlcp: '\u2ADB', + mldr: '\u2026', + mnplus: '\u2213', + models: '\u22A7', + mopf: '\uD835\uDD5E', + mp: '\u2213', + mscr: '\uD835\uDCC2', + mstpos: '\u223E', + mu: '\u03BC', + multimap: '\u22B8', + mumap: '\u22B8', + nGg: '\u22D9\u0338', + nGt: '\u226B\u20D2', + nGtv: '\u226B\u0338', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nLl: '\u22D8\u0338', + nLt: '\u226A\u20D2', + nLtv: '\u226A\u0338', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + nabla: '\u2207', + nacute: '\u0144', + nang: '\u2220\u20D2', + nap: '\u2249', + napE: '\u2A70\u0338', + napid: '\u224B\u0338', + napos: '\u0149', + napprox: '\u2249', + natur: '\u266E', + natural: '\u266E', + naturals: '\u2115', + nbsp: '\u00A0', + nbump: '\u224E\u0338', + nbumpe: '\u224F\u0338', + ncap: '\u2A43', + ncaron: '\u0148', + ncedil: '\u0146', + ncong: '\u2247', + ncongdot: '\u2A6D\u0338', + ncup: '\u2A42', + ncy: '\u043D', + ndash: '\u2013', + ne: '\u2260', + neArr: '\u21D7', + nearhk: '\u2924', + nearr: '\u2197', + nearrow: '\u2197', + nedot: '\u2250\u0338', + nequiv: '\u2262', + nesear: '\u2928', + nesim: '\u2242\u0338', + nexist: '\u2204', + nexists: '\u2204', + nfr: '\uD835\uDD2B', + ngE: '\u2267\u0338', + nge: '\u2271', + ngeq: '\u2271', + ngeqq: '\u2267\u0338', + ngeqslant: '\u2A7E\u0338', + nges: '\u2A7E\u0338', + ngsim: '\u2275', + ngt: '\u226F', + ngtr: '\u226F', + nhArr: '\u21CE', + nharr: '\u21AE', + nhpar: '\u2AF2', + ni: '\u220B', + nis: '\u22FC', + nisd: '\u22FA', + niv: '\u220B', + njcy: '\u045A', + nlArr: '\u21CD', + nlE: '\u2266\u0338', + nlarr: '\u219A', + nldr: '\u2025', + nle: '\u2270', + nleftarrow: '\u219A', + nleftrightarrow: '\u21AE', + nleq: '\u2270', + nleqq: '\u2266\u0338', + nleqslant: '\u2A7D\u0338', + nles: '\u2A7D\u0338', + nless: '\u226E', + nlsim: '\u2274', + nlt: '\u226E', + nltri: '\u22EA', + nltrie: '\u22EC', + nmid: '\u2224', + nopf: '\uD835\uDD5F', + not: '\u00AC', + notin: '\u2209', + notinE: '\u22F9\u0338', + notindot: '\u22F5\u0338', + notinva: '\u2209', + notinvb: '\u22F7', + notinvc: '\u22F6', + notni: '\u220C', + notniva: '\u220C', + notnivb: '\u22FE', + notnivc: '\u22FD', + npar: '\u2226', + nparallel: '\u2226', + nparsl: '\u2AFD\u20E5', + npart: '\u2202\u0338', + npolint: '\u2A14', + npr: '\u2280', + nprcue: '\u22E0', + npre: '\u2AAF\u0338', + nprec: '\u2280', + npreceq: '\u2AAF\u0338', + nrArr: '\u21CF', + nrarr: '\u219B', + nrarrc: '\u2933\u0338', + nrarrw: '\u219D\u0338', + nrightarrow: '\u219B', + nrtri: '\u22EB', + nrtrie: '\u22ED', + nsc: '\u2281', + nsccue: '\u22E1', + nsce: '\u2AB0\u0338', + nscr: '\uD835\uDCC3', + nshortmid: '\u2224', + nshortparallel: '\u2226', + nsim: '\u2241', + nsime: '\u2244', + nsimeq: '\u2244', + nsmid: '\u2224', + nspar: '\u2226', + nsqsube: '\u22E2', + nsqsupe: '\u22E3', + nsub: '\u2284', + nsubE: '\u2AC5\u0338', + nsube: '\u2288', + nsubset: '\u2282\u20D2', + nsubseteq: '\u2288', + nsubseteqq: '\u2AC5\u0338', + nsucc: '\u2281', + nsucceq: '\u2AB0\u0338', + nsup: '\u2285', + nsupE: '\u2AC6\u0338', + nsupe: '\u2289', + nsupset: '\u2283\u20D2', + nsupseteq: '\u2289', + nsupseteqq: '\u2AC6\u0338', + ntgl: '\u2279', + ntilde: '\u00F1', + ntlg: '\u2278', + ntriangleleft: '\u22EA', + ntrianglelefteq: '\u22EC', + ntriangleright: '\u22EB', + ntrianglerighteq: '\u22ED', + nu: '\u03BD', + num: '\u0023', + numero: '\u2116', + numsp: '\u2007', + nvDash: '\u22AD', + nvHarr: '\u2904', + nvap: '\u224D\u20D2', + nvdash: '\u22AC', + nvge: '\u2265\u20D2', + nvgt: '\u003E\u20D2', + nvinfin: '\u29DE', + nvlArr: '\u2902', + nvle: '\u2264\u20D2', + nvlt: '\u003C\u20D2', + nvltrie: '\u22B4\u20D2', + nvrArr: '\u2903', + nvrtrie: '\u22B5\u20D2', + nvsim: '\u223C\u20D2', + nwArr: '\u21D6', + nwarhk: '\u2923', + nwarr: '\u2196', + nwarrow: '\u2196', + nwnear: '\u2927', + oS: '\u24C8', + oacute: '\u00F3', + oast: '\u229B', + ocir: '\u229A', + ocirc: '\u00F4', + ocy: '\u043E', + odash: '\u229D', + odblac: '\u0151', + odiv: '\u2A38', + odot: '\u2299', + odsold: '\u29BC', + oelig: '\u0153', + ofcir: '\u29BF', + ofr: '\uD835\uDD2C', + ogon: '\u02DB', + ograve: '\u00F2', + ogt: '\u29C1', + ohbar: '\u29B5', + ohm: '\u03A9', + oint: '\u222E', + olarr: '\u21BA', + olcir: '\u29BE', + olcross: '\u29BB', + oline: '\u203E', + olt: '\u29C0', + omacr: '\u014D', + omega: '\u03C9', + omicron: '\u03BF', + omid: '\u29B6', + ominus: '\u2296', + oopf: '\uD835\uDD60', + opar: '\u29B7', + operp: '\u29B9', + oplus: '\u2295', + or: '\u2228', + orarr: '\u21BB', + ord: '\u2A5D', + order: '\u2134', + orderof: '\u2134', + ordf: '\u00AA', + ordm: '\u00BA', + origof: '\u22B6', + oror: '\u2A56', + orslope: '\u2A57', + orv: '\u2A5B', + oscr: '\u2134', + oslash: '\u00F8', + osol: '\u2298', + otilde: '\u00F5', + otimes: '\u2297', + otimesas: '\u2A36', + ouml: '\u00F6', + ovbar: '\u233D', + par: '\u2225', + para: '\u00B6', + parallel: '\u2225', + parsim: '\u2AF3', + parsl: '\u2AFD', + part: '\u2202', + pcy: '\u043F', + percnt: '\u0025', + period: '\u002E', + permil: '\u2030', + perp: '\u22A5', + pertenk: '\u2031', + pfr: '\uD835\uDD2D', + phi: '\u03C6', + phiv: '\u03D5', + phmmat: '\u2133', + phone: '\u260E', + pi: '\u03C0', + pitchfork: '\u22D4', + piv: '\u03D6', + planck: '\u210F', + planckh: '\u210E', + plankv: '\u210F', + plus: '\u002B', + plusacir: '\u2A23', + plusb: '\u229E', + pluscir: '\u2A22', + plusdo: '\u2214', + plusdu: '\u2A25', + pluse: '\u2A72', + plusmn: '\u00B1', + plussim: '\u2A26', + plustwo: '\u2A27', + pm: '\u00B1', + pointint: '\u2A15', + popf: '\uD835\uDD61', + pound: '\u00A3', + pr: '\u227A', + prE: '\u2AB3', + prap: '\u2AB7', + prcue: '\u227C', + pre: '\u2AAF', + prec: '\u227A', + precapprox: '\u2AB7', + preccurlyeq: '\u227C', + preceq: '\u2AAF', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + precsim: '\u227E', + prime: '\u2032', + primes: '\u2119', + prnE: '\u2AB5', + prnap: '\u2AB9', + prnsim: '\u22E8', + prod: '\u220F', + profalar: '\u232E', + profline: '\u2312', + profsurf: '\u2313', + prop: '\u221D', + propto: '\u221D', + prsim: '\u227E', + prurel: '\u22B0', + pscr: '\uD835\uDCC5', + psi: '\u03C8', + puncsp: '\u2008', + qfr: '\uD835\uDD2E', + qint: '\u2A0C', + qopf: '\uD835\uDD62', + qprime: '\u2057', + qscr: '\uD835\uDCC6', + quaternions: '\u210D', + quatint: '\u2A16', + quest: '\u003F', + questeq: '\u225F', + quot: '\u0022', + rAarr: '\u21DB', + rArr: '\u21D2', + rAtail: '\u291C', + rBarr: '\u290F', + rHar: '\u2964', + race: '\u223D\u0331', + racute: '\u0155', + radic: '\u221A', + raemptyv: '\u29B3', + rang: '\u27E9', + rangd: '\u2992', + range: '\u29A5', + rangle: '\u27E9', + raquo: '\u00BB', + rarr: '\u2192', + rarrap: '\u2975', + rarrb: '\u21E5', + rarrbfs: '\u2920', + rarrc: '\u2933', + rarrfs: '\u291E', + rarrhk: '\u21AA', + rarrlp: '\u21AC', + rarrpl: '\u2945', + rarrsim: '\u2974', + rarrtl: '\u21A3', + rarrw: '\u219D', + ratail: '\u291A', + ratio: '\u2236', + rationals: '\u211A', + rbarr: '\u290D', + rbbrk: '\u2773', + rbrace: '\u007D', + rbrack: '\u005D', + rbrke: '\u298C', + rbrksld: '\u298E', + rbrkslu: '\u2990', + rcaron: '\u0159', + rcedil: '\u0157', + rceil: '\u2309', + rcub: '\u007D', + rcy: '\u0440', + rdca: '\u2937', + rdldhar: '\u2969', + rdquo: '\u201D', + rdquor: '\u201D', + rdsh: '\u21B3', + real: '\u211C', + realine: '\u211B', + realpart: '\u211C', + reals: '\u211D', + rect: '\u25AD', + reg: '\u00AE', + rfisht: '\u297D', + rfloor: '\u230B', + rfr: '\uD835\uDD2F', + rhard: '\u21C1', + rharu: '\u21C0', + rharul: '\u296C', + rho: '\u03C1', + rhov: '\u03F1', + rightarrow: '\u2192', + rightarrowtail: '\u21A3', + rightharpoondown: '\u21C1', + rightharpoonup: '\u21C0', + rightleftarrows: '\u21C4', + rightleftharpoons: '\u21CC', + rightrightarrows: '\u21C9', + rightsquigarrow: '\u219D', + rightthreetimes: '\u22CC', + ring: '\u02DA', + risingdotseq: '\u2253', + rlarr: '\u21C4', + rlhar: '\u21CC', + rlm: '\u200F', + rmoust: '\u23B1', + rmoustache: '\u23B1', + rnmid: '\u2AEE', + roang: '\u27ED', + roarr: '\u21FE', + robrk: '\u27E7', + ropar: '\u2986', + ropf: '\uD835\uDD63', + roplus: '\u2A2E', + rotimes: '\u2A35', + rpar: '\u0029', + rpargt: '\u2994', + rppolint: '\u2A12', + rrarr: '\u21C9', + rsaquo: '\u203A', + rscr: '\uD835\uDCC7', + rsh: '\u21B1', + rsqb: '\u005D', + rsquo: '\u2019', + rsquor: '\u2019', + rthree: '\u22CC', + rtimes: '\u22CA', + rtri: '\u25B9', + rtrie: '\u22B5', + rtrif: '\u25B8', + rtriltri: '\u29CE', + ruluhar: '\u2968', + rx: '\u211E', + sacute: '\u015B', + sbquo: '\u201A', + sc: '\u227B', + scE: '\u2AB4', + scap: '\u2AB8', + scaron: '\u0161', + sccue: '\u227D', + sce: '\u2AB0', + scedil: '\u015F', + scirc: '\u015D', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + scpolint: '\u2A13', + scsim: '\u227F', + scy: '\u0441', + sdot: '\u22C5', + sdotb: '\u22A1', + sdote: '\u2A66', + seArr: '\u21D8', + searhk: '\u2925', + searr: '\u2198', + searrow: '\u2198', + sect: '\u00A7', + semi: '\u003B', + seswar: '\u2929', + setminus: '\u2216', + setmn: '\u2216', + sext: '\u2736', + sfr: '\uD835\uDD30', + sfrown: '\u2322', + sharp: '\u266F', + shchcy: '\u0449', + shcy: '\u0448', + shortmid: '\u2223', + shortparallel: '\u2225', + shy: '\u00AD', + sigma: '\u03C3', + sigmaf: '\u03C2', + sigmav: '\u03C2', + sim: '\u223C', + simdot: '\u2A6A', + sime: '\u2243', + simeq: '\u2243', + simg: '\u2A9E', + simgE: '\u2AA0', + siml: '\u2A9D', + simlE: '\u2A9F', + simne: '\u2246', + simplus: '\u2A24', + simrarr: '\u2972', + slarr: '\u2190', + smallsetminus: '\u2216', + smashp: '\u2A33', + smeparsl: '\u29E4', + smid: '\u2223', + smile: '\u2323', + smt: '\u2AAA', + smte: '\u2AAC', + smtes: '\u2AAC\uFE00', + softcy: '\u044C', + sol: '\u002F', + solb: '\u29C4', + solbar: '\u233F', + sopf: '\uD835\uDD64', + spades: '\u2660', + spadesuit: '\u2660', + spar: '\u2225', + sqcap: '\u2293', + sqcaps: '\u2293\uFE00', + sqcup: '\u2294', + sqcups: '\u2294\uFE00', + sqsub: '\u228F', + sqsube: '\u2291', + sqsubset: '\u228F', + sqsubseteq: '\u2291', + sqsup: '\u2290', + sqsupe: '\u2292', + sqsupset: '\u2290', + sqsupseteq: '\u2292', + squ: '\u25A1', + square: '\u25A1', + squarf: '\u25AA', + squf: '\u25AA', + srarr: '\u2192', + sscr: '\uD835\uDCC8', + ssetmn: '\u2216', + ssmile: '\u2323', + sstarf: '\u22C6', + star: '\u2606', + starf: '\u2605', + straightepsilon: '\u03F5', + straightphi: '\u03D5', + strns: '\u00AF', + sub: '\u2282', + subE: '\u2AC5', + subdot: '\u2ABD', + sube: '\u2286', + subedot: '\u2AC3', + submult: '\u2AC1', + subnE: '\u2ACB', + subne: '\u228A', + subplus: '\u2ABF', + subrarr: '\u2979', + subset: '\u2282', + subseteq: '\u2286', + subseteqq: '\u2AC5', + subsetneq: '\u228A', + subsetneqq: '\u2ACB', + subsim: '\u2AC7', + subsub: '\u2AD5', + subsup: '\u2AD3', + succ: '\u227B', + succapprox: '\u2AB8', + succcurlyeq: '\u227D', + succeq: '\u2AB0', + succnapprox: '\u2ABA', + succneqq: '\u2AB6', + succnsim: '\u22E9', + succsim: '\u227F', + sum: '\u2211', + sung: '\u266A', + sup1: '\u00B9', + sup2: '\u00B2', + sup3: '\u00B3', + sup: '\u2283', + supE: '\u2AC6', + supdot: '\u2ABE', + supdsub: '\u2AD8', + supe: '\u2287', + supedot: '\u2AC4', + suphsol: '\u27C9', + suphsub: '\u2AD7', + suplarr: '\u297B', + supmult: '\u2AC2', + supnE: '\u2ACC', + supne: '\u228B', + supplus: '\u2AC0', + supset: '\u2283', + supseteq: '\u2287', + supseteqq: '\u2AC6', + supsetneq: '\u228B', + supsetneqq: '\u2ACC', + supsim: '\u2AC8', + supsub: '\u2AD4', + supsup: '\u2AD6', + swArr: '\u21D9', + swarhk: '\u2926', + swarr: '\u2199', + swarrow: '\u2199', + swnwar: '\u292A', + szlig: '\u00DF', + target: '\u2316', + tau: '\u03C4', + tbrk: '\u23B4', + tcaron: '\u0165', + tcedil: '\u0163', + tcy: '\u0442', + tdot: '\u20DB', + telrec: '\u2315', + tfr: '\uD835\uDD31', + there4: '\u2234', + therefore: '\u2234', + theta: '\u03B8', + thetasym: '\u03D1', + thetav: '\u03D1', + thickapprox: '\u2248', + thicksim: '\u223C', + thinsp: '\u2009', + thkap: '\u2248', + thksim: '\u223C', + thorn: '\u00FE', + tilde: '\u02DC', + times: '\u00D7', + timesb: '\u22A0', + timesbar: '\u2A31', + timesd: '\u2A30', + tint: '\u222D', + toea: '\u2928', + top: '\u22A4', + topbot: '\u2336', + topcir: '\u2AF1', + topf: '\uD835\uDD65', + topfork: '\u2ADA', + tosa: '\u2929', + tprime: '\u2034', + trade: '\u2122', + triangle: '\u25B5', + triangledown: '\u25BF', + triangleleft: '\u25C3', + trianglelefteq: '\u22B4', + triangleq: '\u225C', + triangleright: '\u25B9', + trianglerighteq: '\u22B5', + tridot: '\u25EC', + trie: '\u225C', + triminus: '\u2A3A', + triplus: '\u2A39', + trisb: '\u29CD', + tritime: '\u2A3B', + trpezium: '\u23E2', + tscr: '\uD835\uDCC9', + tscy: '\u0446', + tshcy: '\u045B', + tstrok: '\u0167', + twixt: '\u226C', + twoheadleftarrow: '\u219E', + twoheadrightarrow: '\u21A0', + uArr: '\u21D1', + uHar: '\u2963', + uacute: '\u00FA', + uarr: '\u2191', + ubrcy: '\u045E', + ubreve: '\u016D', + ucirc: '\u00FB', + ucy: '\u0443', + udarr: '\u21C5', + udblac: '\u0171', + udhar: '\u296E', + ufisht: '\u297E', + ufr: '\uD835\uDD32', + ugrave: '\u00F9', + uharl: '\u21BF', + uharr: '\u21BE', + uhblk: '\u2580', + ulcorn: '\u231C', + ulcorner: '\u231C', + ulcrop: '\u230F', + ultri: '\u25F8', + umacr: '\u016B', + uml: '\u00A8', + uogon: '\u0173', + uopf: '\uD835\uDD66', + uparrow: '\u2191', + updownarrow: '\u2195', + upharpoonleft: '\u21BF', + upharpoonright: '\u21BE', + uplus: '\u228E', + upsi: '\u03C5', + upsih: '\u03D2', + upsilon: '\u03C5', + upuparrows: '\u21C8', + urcorn: '\u231D', + urcorner: '\u231D', + urcrop: '\u230E', + uring: '\u016F', + urtri: '\u25F9', + uscr: '\uD835\uDCCA', + utdot: '\u22F0', + utilde: '\u0169', + utri: '\u25B5', + utrif: '\u25B4', + uuarr: '\u21C8', + uuml: '\u00FC', + uwangle: '\u29A7', + vArr: '\u21D5', + vBar: '\u2AE8', + vBarv: '\u2AE9', + vDash: '\u22A8', + vangrt: '\u299C', + varepsilon: '\u03F5', + varkappa: '\u03F0', + varnothing: '\u2205', + varphi: '\u03D5', + varpi: '\u03D6', + varpropto: '\u221D', + varr: '\u2195', + varrho: '\u03F1', + varsigma: '\u03C2', + varsubsetneq: '\u228A\uFE00', + varsubsetneqq: '\u2ACB\uFE00', + varsupsetneq: '\u228B\uFE00', + varsupsetneqq: '\u2ACC\uFE00', + vartheta: '\u03D1', + vartriangleleft: '\u22B2', + vartriangleright: '\u22B3', + vcy: '\u0432', + vdash: '\u22A2', + vee: '\u2228', + veebar: '\u22BB', + veeeq: '\u225A', + vellip: '\u22EE', + verbar: '\u007C', + vert: '\u007C', + vfr: '\uD835\uDD33', + vltri: '\u22B2', + vnsub: '\u2282\u20D2', + vnsup: '\u2283\u20D2', + vopf: '\uD835\uDD67', + vprop: '\u221D', + vrtri: '\u22B3', + vscr: '\uD835\uDCCB', + vsubnE: '\u2ACB\uFE00', + vsubne: '\u228A\uFE00', + vsupnE: '\u2ACC\uFE00', + vsupne: '\u228B\uFE00', + vzigzag: '\u299A', + wcirc: '\u0175', + wedbar: '\u2A5F', + wedge: '\u2227', + wedgeq: '\u2259', + weierp: '\u2118', + wfr: '\uD835\uDD34', + wopf: '\uD835\uDD68', + wp: '\u2118', + wr: '\u2240', + wreath: '\u2240', + wscr: '\uD835\uDCCC', + xcap: '\u22C2', + xcirc: '\u25EF', + xcup: '\u22C3', + xdtri: '\u25BD', + xfr: '\uD835\uDD35', + xhArr: '\u27FA', + xharr: '\u27F7', + xi: '\u03BE', + xlArr: '\u27F8', + xlarr: '\u27F5', + xmap: '\u27FC', + xnis: '\u22FB', + xodot: '\u2A00', + xopf: '\uD835\uDD69', + xoplus: '\u2A01', + xotime: '\u2A02', + xrArr: '\u27F9', + xrarr: '\u27F6', + xscr: '\uD835\uDCCD', + xsqcup: '\u2A06', + xuplus: '\u2A04', + xutri: '\u25B3', + xvee: '\u22C1', + xwedge: '\u22C0', + yacute: '\u00FD', + yacy: '\u044F', + ycirc: '\u0177', + ycy: '\u044B', + yen: '\u00A5', + yfr: '\uD835\uDD36', + yicy: '\u0457', + yopf: '\uD835\uDD6A', + yscr: '\uD835\uDCCE', + yucy: '\u044E', + yuml: '\u00FF', + zacute: '\u017A', + zcaron: '\u017E', + zcy: '\u0437', + zdot: '\u017C', + zeetrf: '\u2128', + zeta: '\u03B6', + zfr: '\uD835\uDD37', + zhcy: '\u0436', + zigrarr: '\u21DD', + zopf: '\uD835\uDD6B', + zscr: '\uD835\uDCCF', + zwj: '\u200D', + zwnj: '\u200C' + }; + const decodeMap = { + '0': 65533, + '128': 8364, + '130': 8218, + '131': 402, + '132': 8222, + '133': 8230, + '134': 8224, + '135': 8225, + '136': 710, + '137': 8240, + '138': 352, + '139': 8249, + '140': 338, + '142': 381, + '145': 8216, + '146': 8217, + '147': 8220, + '148': 8221, + '149': 8226, + '150': 8211, + '151': 8212, + '152': 732, + '153': 8482, + '154': 353, + '155': 8250, + '156': 339, + '158': 382, + '159': 376 + }; + function decodeHTMLStrict(text) { + return text.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => { + if (key.charAt(1) === '#') { + const secondChar = key.charAt(2); + const codePoint = secondChar === 'X' || secondChar === 'x' + ? parseInt(key.slice(3), 16) + : parseInt(key.slice(2), 10); + return decodeCodePoint(codePoint); + } + return entities[key.slice(1, -1)] || key; + }); + } + function decodeCodePoint(codePoint) { + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return '\uFFFD'; + } + if (codePoint in decodeMap) { + codePoint = decodeMap[codePoint]; + } + return String.fromCodePoint(codePoint); + } + + function scanJSXAttributeValue(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + parser.token = + CharTypes[parser.currentChar] & 8192 + ? scanJSXString(parser, context) + : scanSingleToken(parser, context, 0); + return parser.token; + } + function scanJSXString(parser, context) { + const quote = parser.currentChar; + let char = advanceChar(parser); + const start = parser.index; + while (char !== quote) { + if (parser.index >= parser.end) + report(parser, 14); + char = advanceChar(parser); + } + if (char !== quote) + report(parser, 14); + parser.tokenValue = parser.source.slice(start, parser.index); + advanceChar(parser); + if (context & 512) + parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index); + return 134283267; + } + function scanJSXToken(parser, context) { + parser.startPos = parser.tokenPos = parser.index; + parser.startColumn = parser.colPos = parser.column; + parser.startLine = parser.linePos = parser.line; + if (parser.index >= parser.end) + return (parser.token = 1048576); + const token = TokenLookup[parser.source.charCodeAt(parser.index)]; + switch (token) { + case 8456258: { + advanceChar(parser); + if (parser.currentChar === 47) { + advanceChar(parser); + parser.token = 25; + } + else { + parser.token = 8456258; + } + break; + } + case 2162700: { + advanceChar(parser); + parser.token = 2162700; + break; + } + default: { + let state = 0; + while (parser.index < parser.end) { + const type = CharTypes[parser.source.charCodeAt(parser.index)]; + if (type & 1024) { + state |= 1 | 4; + scanNewLine(parser); + } + else if (type & 2048) { + consumeLineFeed(parser, state); + state = (state & ~4) | 1; + } + else { + advanceChar(parser); + } + if (CharTypes[parser.currentChar] & 16384) + break; + } + const raw = parser.source.slice(parser.tokenPos, parser.index); + if (context & 512) + parser.tokenRaw = raw; + parser.tokenValue = decodeHTMLStrict(raw); + parser.token = 138; + } + } + return parser.token; + } + function scanJSXIdentifier(parser) { + if ((parser.token & 143360) === 143360) { + const { index } = parser; + let char = parser.currentChar; + while (CharTypes[char] & (32768 | 2)) { + char = advanceChar(parser); + } + parser.tokenValue += parser.source.slice(index, parser.index); + } + parser.token = 208897; + return parser.token; + } + + function matchOrInsertSemicolon(parser, context, specDeviation) { + if ((parser.flags & 1) === 0 && + (parser.token & 1048576) !== 1048576 && + !specDeviation) { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + consumeOpt(parser, context, 1074790417); + } + function isValidStrictMode(parser, index, tokenPos, tokenValue) { + if (index - tokenPos < 13 && tokenValue === 'use strict') { + if ((parser.token & 1048576) === 1048576 || parser.flags & 1) { + return 1; + } + } + return 0; + } + function optionalBit(parser, context, t) { + if (parser.token !== t) + return 0; + nextToken(parser, context); + return 1; + } + function consumeOpt(parser, context, t) { + if (parser.token !== t) + return false; + nextToken(parser, context); + return true; + } + function consume(parser, context, t) { + if (parser.token !== t) + report(parser, 23, KeywordDescTable[t & 255]); + nextToken(parser, context); + } + function reinterpretToPattern(state, node) { + switch (node.type) { + case 'ArrayExpression': + node.type = 'ArrayPattern'; + const elements = node.elements; + for (let i = 0, n = elements.length; i < n; ++i) { + const element = elements[i]; + if (element) + reinterpretToPattern(state, element); + } + return; + case 'ObjectExpression': + node.type = 'ObjectPattern'; + const properties = node.properties; + for (let i = 0, n = properties.length; i < n; ++i) { + reinterpretToPattern(state, properties[i]); + } + return; + case 'AssignmentExpression': + node.type = 'AssignmentPattern'; + if (node.operator !== '=') + report(state, 68); + delete node.operator; + reinterpretToPattern(state, node.left); + return; + case 'Property': + reinterpretToPattern(state, node.value); + return; + case 'SpreadElement': + node.type = 'RestElement'; + reinterpretToPattern(state, node.argument); + } + } + function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if (!skipEvalArgCheck && (t & 537079808) === 537079808) { + report(parser, 115); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (kind & (8 | 16) && t === 241739) { + report(parser, 97); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function validateFunctionName(parser, context, t) { + if (context & 1024) { + if ((t & 36864) === 36864) { + report(parser, 114); + } + if ((t & 537079808) === 537079808) { + report(parser, 115); + } + if (t === 122) { + report(parser, 92); + } + if (t === 121) { + report(parser, 92); + } + } + if ((t & 20480) === 20480) { + report(parser, 99); + } + if (context & (4194304 | 2048) && t === 209008) { + report(parser, 95); + } + if (context & (2097152 | 1024) && t === 241773) { + report(parser, 94, 'yield'); + } + } + function isStrictReservedWord(parser, context, t) { + if (t === 209008) { + if (context & (4194304 | 2048)) + report(parser, 95); + parser.destructible |= 128; + } + if (t === 241773 && context & 2097152) + report(parser, 94, 'yield'); + return ((t & 20480) === 20480 || + (t & 36864) === 36864 || + t == 122); + } + function isPropertyWithPrivateFieldKey(expr) { + return !expr.property ? false : expr.property.type === 'PrivateIdentifier'; + } + function isValidLabel(parser, labels, name, isIterationStatement) { + while (labels) { + if (labels['$' + name]) { + if (isIterationStatement) + report(parser, 133); + return 1; + } + if (isIterationStatement && labels.loop) + isIterationStatement = 0; + labels = labels['$']; + } + return 0; + } + function validateAndDeclareLabel(parser, labels, name) { + let set = labels; + while (set) { + if (set['$' + name]) + report(parser, 132, name); + set = set['$']; + } + labels['$' + name] = 1; + } + function finishNode(parser, context, start, line, column, node) { + if (context & 2) { + node.start = start; + node.end = parser.startPos; + node.range = [start, parser.startPos]; + } + if (context & 4) { + node.loc = { + start: { + line, + column + }, + end: { + line: parser.startLine, + column: parser.startColumn + } + }; + if (parser.sourceFile) { + node.loc.source = parser.sourceFile; + } + } + return node; + } + function isEqualTagName(elementName) { + switch (elementName.type) { + case 'JSXIdentifier': + return elementName.name; + case 'JSXNamespacedName': + return elementName.namespace + ':' + elementName.name; + case 'JSXMemberExpression': + return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property); + } + } + function createArrowHeadParsingScope(parser, context, value) { + const scope = addChildScope(createScope(), 1024); + addBlockName(parser, context, scope, value, 1, 0); + return scope; + } + function recordScopeError(parser, type, ...params) { + const { index, line, column } = parser; + return { + type, + params, + index, + line, + column + }; + } + function createScope() { + return { + parent: void 0, + type: 2 + }; + } + function addChildScope(parent, type) { + return { + parent, + type, + scopeError: void 0 + }; + } + function addVarOrBlock(parser, context, scope, name, kind, origin) { + if (kind & 4) { + addVarName(parser, context, scope, name, kind); + } + else { + addBlockName(parser, context, scope, name, kind, origin); + } + if (origin & 64) { + declareUnboundVariable(parser, name); + } + } + function addBlockName(parser, context, scope, name, kind, origin) { + const value = scope['#' + name]; + if (value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + else if (context & 256 && + value & 64 && + origin & 2) ; + else { + report(parser, 140, name); + } + } + if (scope.type & 128 && + (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) { + report(parser, 140, name); + } + if (scope.type & 1024 && value && (value & 2) === 0) { + if (kind & 1) { + scope.scopeError = recordScopeError(parser, 140, name); + } + } + if (scope.type & 64) { + if (scope.parent['#' + name] & 768) + report(parser, 153, name); + } + scope['#' + name] = kind; + } + function addVarName(parser, context, scope, name, kind) { + let currentScope = scope; + while (currentScope && (currentScope.type & 256) === 0) { + const value = currentScope['#' + name]; + if (value & 248) { + if (context & 256 && + (context & 1024) === 0 && + ((kind & 128 && value & 68) || + (value & 128 && kind & 68))) ; + else { + report(parser, 140, name); + } + } + if (currentScope === scope) { + if (value & 1 && kind & 1) { + currentScope.scopeError = recordScopeError(parser, 140, name); + } + } + if (value & (512 | 256)) { + if ((value & 512) === 0 || + (context & 256) === 0 || + context & 1024) { + report(parser, 140, name); + } + } + currentScope['#' + name] = kind; + currentScope = currentScope.parent; + } + } + function declareUnboundVariable(parser, name) { + if (parser.exportedNames !== void 0 && name !== '') { + if (parser.exportedNames['#' + name]) { + report(parser, 141, name); + } + parser.exportedNames['#' + name] = 1; + } + } + function addBindingToExports(parser, name) { + if (parser.exportedBindings !== void 0 && name !== '') { + parser.exportedBindings['#' + name] = 1; + } + } + function pushComment(context, array) { + return function (type, value, start, end, loc) { + const comment = { + type, + value + }; + if (context & 2) { + comment.start = start; + comment.end = end; + comment.range = [start, end]; + } + if (context & 4) { + comment.loc = loc; + } + array.push(comment); + }; + } + function pushToken(context, array) { + return function (token, start, end, loc) { + const tokens = { + token + }; + if (context & 2) { + tokens.start = start; + tokens.end = end; + tokens.range = [start, end]; + } + if (context & 4) { + tokens.loc = loc; + } + array.push(tokens); + }; + } + function isValidIdentifier(context, t) { + if (context & (1024 | 2097152)) { + if (context & 2048 && t === 209008) + return false; + if (context & 2097152 && t === 241773) + return false; + return (t & 143360) === 143360 || (t & 12288) === 12288; + } + return ((t & 143360) === 143360 || + (t & 12288) === 12288 || + (t & 36864) === 36864); + } + function classifyIdentifier(parser, context, t, isArrow) { + if ((t & 537079808) === 537079808) { + if (context & 1024) + report(parser, 115); + if (isArrow) + parser.flags |= 512; + } + if (!isValidIdentifier(context, t)) + report(parser, 0); + } + + function create(source, sourceFile, onComment, onToken) { + return { + source, + flags: 0, + index: 0, + line: 1, + column: 0, + startPos: 0, + end: source.length, + tokenPos: 0, + startColumn: 0, + colPos: 0, + linePos: 1, + startLine: 1, + sourceFile, + tokenValue: '', + token: 1048576, + tokenRaw: '', + tokenRegExp: void 0, + currentChar: source.charCodeAt(0), + exportedNames: [], + exportedBindings: [], + assignable: 1, + destructible: 0, + onComment, + onToken, + leadingDecorators: [] + }; + } + function parseSource(source, options, context) { + let sourceFile = ''; + let onComment; + let onToken; + if (options != null) { + if (options.module) + context |= 2048 | 1024; + if (options.next) + context |= 1; + if (options.loc) + context |= 4; + if (options.ranges) + context |= 2; + if (options.uniqueKeyInPattern) + context |= -2147483648; + if (options.lexical) + context |= 64; + if (options.webcompat) + context |= 256; + if (options.directives) + context |= 8 | 512; + if (options.globalReturn) + context |= 32; + if (options.raw) + context |= 512; + if (options.preserveParens) + context |= 128; + if (options.impliedStrict) + context |= 1024; + if (options.jsx) + context |= 16; + if (options.identifierPattern) + context |= 268435456; + if (options.specDeviation) + context |= 536870912; + if (options.source) + sourceFile = options.source; + if (options.onComment != null) { + onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment; + } + if (options.onToken != null) { + onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken; + } + } + const parser = create(source, sourceFile, onComment, onToken); + if (context & 1) + skipHashBang(parser); + const scope = context & 64 ? createScope() : void 0; + let body = []; + let sourceType = 'script'; + if (context & 2048) { + sourceType = 'module'; + body = parseModuleItemList(parser, context | 8192, scope); + if (scope) { + for (const key in parser.exportedBindings) { + if (key[0] === '#' && !scope[key]) + report(parser, 142, key.slice(1)); + } + } + } + else { + body = parseStatementList(parser, context | 8192, scope); + } + const node = { + type: 'Program', + sourceType, + body + }; + if (context & 2) { + node.start = 0; + node.end = source.length; + node.range = [0, source.length]; + } + if (context & 4) { + node.loc = { + start: { line: 1, column: 0 }, + end: { line: parser.line, column: parser.column } + }; + if (parser.sourceFile) + node.loc.source = sourceFile; + } + return node; + } + function parseStatementList(parser, context, scope) { + nextToken(parser, context | 32768 | 1073741824); + const statements = []; + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, linePos, colPos, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) + context |= 1024; + statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos)); + } + while (parser.token !== 1048576) { + statements.push(parseStatementListItem(parser, context, scope, 4, {})); + } + return statements; + } + function parseModuleItemList(parser, context, scope) { + nextToken(parser, context | 32768); + const statements = []; + if (context & 8) { + while (parser.token === 134283267) { + const { tokenPos, linePos, colPos, token } = parser; + statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos)); + } + } + while (parser.token !== 1048576) { + statements.push(parseModuleItem(parser, context, scope)); + } + return statements; + } + function parseModuleItem(parser, context, scope) { + parser.leadingDecorators = parseDecorators(parser, context); + let moduleItem; + switch (parser.token) { + case 20566: + moduleItem = parseExportDeclaration(parser, context, scope); + break; + case 86108: + moduleItem = parseImportDeclaration(parser, context, scope); + break; + default: + moduleItem = parseStatementListItem(parser, context, scope, 4, {}); + } + if (parser.leadingDecorators.length) { + report(parser, 164); + } + return moduleItem; + } + function parseStatementListItem(parser, context, scope, origin, labels) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + switch (parser.token) { + case 86106: + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column); + case 133: + case 86096: + return parseClassDeclaration(parser, context, scope, 0, start, line, column); + case 86092: + return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column); + case 241739: + return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column); + case 20566: + report(parser, 100, 'export'); + case 86108: + nextToken(parser, context); + switch (parser.token) { + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 100, 'import'); + } + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column); + default: + return parseStatement(parser, context, scope, origin, labels, 1, start, line, column); + } + } + function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + switch (parser.token) { + case 86090: + return parseVariableStatement(parser, context, scope, 0, start, line, column); + case 20574: + return parseReturnStatement(parser, context, start, line, column); + case 20571: + return parseIfStatement(parser, context, scope, labels, start, line, column); + case 20569: + return parseForStatement(parser, context, scope, labels, start, line, column); + case 20564: + return parseDoWhileStatement(parser, context, scope, labels, start, line, column); + case 20580: + return parseWhileStatement(parser, context, scope, labels, start, line, column); + case 86112: + return parseSwitchStatement(parser, context, scope, labels, start, line, column); + case 1074790417: + return parseEmptyStatement(parser, context, start, line, column); + case 2162700: + return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column); + case 86114: + return parseThrowStatement(parser, context, start, line, column); + case 20557: + return parseBreakStatement(parser, context, labels, start, line, column); + case 20561: + return parseContinueStatement(parser, context, labels, start, line, column); + case 20579: + return parseTryStatement(parser, context, scope, labels, start, line, column); + case 20581: + return parseWithStatement(parser, context, scope, labels, start, line, column); + case 20562: + return parseDebuggerStatement(parser, context, start, line, column); + case 209007: + return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column); + case 20559: + report(parser, 156); + case 20568: + report(parser, 157); + case 86106: + report(parser, context & 1024 + ? 73 + : (context & 256) < 1 + ? 75 + : 74); + case 86096: + report(parser, 76); + default: + return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column); + } + } + function parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { tokenValue, token } = parser; + let expr; + switch (token) { + case 241739: + expr = parseIdentifier(parser, context, 0); + if (context & 1024) + report(parser, 82); + if (parser.token === 69271571) + report(parser, 81); + break; + default: + expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + if (token & 143360 && parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseBlock(parser, context, scope, labels, start, line, column) { + const body = []; + consume(parser, context | 32768, 2162700); + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 2, { $: labels })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'BlockStatement', + body + }); + } + function parseReturnStatement(parser, context, start, line, column) { + if ((context & 32) < 1 && context & 8192) + report(parser, 89); + nextToken(parser, context | 32768); + const argument = parser.flags & 1 || parser.token & 1048576 + ? null + : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.column); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ReturnStatement', + argument + }); + } + function parseExpressionStatement(parser, context, expression, start, line, column) { + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) { + validateBindingIdentifier(parser, context, 0, token, 1); + validateAndDeclareLabel(parser, labels, value); + nextToken(parser, context | 32768); + const body = allowFuncDecl && + (context & 1024) < 1 && + context & 256 && + parser.token === 86106 + ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'LabeledStatement', + label: expr, + body + }); + } + function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column); + } + const asyncNewLine = parser.flags & 1; + if (!asyncNewLine) { + if (parser.token === 86106) { + if (!allowFuncDecl) + report(parser, 119); + return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column); + } + if ((parser.token & 143360) === 143360) { + expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + } + if (parser.token === 67174411) { + expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column); + } + else { + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column); + } + parser.assignable = 1; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + if (parser.token === 18) + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + parser.assignable = 1; + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseDirective(parser, context, expression, token, start, line, column) { + if (token !== 1074790417) { + parser.assignable = 2; + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + if (parser.token !== 1074790417) { + expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression); + if (parser.token === 18) { + expression = parseSequenceExpression(parser, context, 0, start, line, column, expression); + } + } + matchOrInsertSemicolon(parser, context | 32768); + } + return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string' + ? finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression, + directive: expression.raw.slice(1, -1) + }) + : finishNode(parser, context, start, line, column, { + type: 'ExpressionStatement', + expression + }); + } + function parseEmptyStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'EmptyStatement' + }); + } + function parseThrowStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + if (parser.flags & 1) + report(parser, 87); + const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ThrowStatement', + argument + }); + } + function parseIfStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + parser.assignable = 1; + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos); + consume(parser, context | 32768, 16); + const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + let alternate = null; + if (parser.token === 20565) { + nextToken(parser, context | 32768); + alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos); + } + return finishNode(parser, context, start, line, column, { + type: 'IfStatement', + test, + consequent, + alternate + }); + } + function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) { + return context & 1024 || + (context & 256) < 1 || + parser.token !== 86106 + ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos) + : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column); + } + function parseSwitchStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + consume(parser, context, 2162700); + const cases = []; + let seenDefault = 0; + if (scope) + scope = addChildScope(scope, 8); + while (parser.token !== 1074790415) { + const { tokenPos, linePos, colPos } = parser; + let test = null; + const consequent = []; + if (consumeOpt(parser, context | 32768, 20558)) { + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + consume(parser, context | 32768, 20563); + if (seenDefault) + report(parser, 86); + seenDefault = 1; + } + consume(parser, context | 32768, 21); + while (parser.token !== 20558 && + parser.token !== 1074790415 && + parser.token !== 20563) { + consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, { + $: labels + })); + } + cases.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'SwitchCase', + test, + consequent + })); + } + consume(parser, context | 32768, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'SwitchStatement', + discriminant, + cases + }); + } + function parseWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'WhileStatement', + test, + body + }); + } + function parseIterationStatementBody(parser, context, scope, labels) { + return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + function parseContinueStatement(parser, context, labels, start, line, column) { + if ((context & 131072) < 1) + report(parser, 65); + nextToken(parser, context); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 1)) + report(parser, 134, tokenValue); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ContinueStatement', + label + }); + } + function parseBreakStatement(parser, context, labels, start, line, column) { + nextToken(parser, context | 32768); + let label = null; + if ((parser.flags & 1) < 1 && parser.token & 143360) { + const { tokenValue } = parser; + label = parseIdentifier(parser, context | 32768, 0); + if (!isValidLabel(parser, labels, tokenValue, 0)) + report(parser, 134, tokenValue); + } + else if ((context & (4096 | 131072)) < 1) { + report(parser, 66); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'BreakStatement', + label + }); + } + function parseWithStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + if (context & 1024) + report(parser, 88); + consume(parser, context | 32768, 67174411); + const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'WithStatement', + object, + body + }); + } + function parseDebuggerStatement(parser, context, start, line, column) { + nextToken(parser, context | 32768); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'DebuggerStatement' + }); + } + function parseTryStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const firstScope = scope ? addChildScope(scope, 32) : void 0; + const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + const { tokenPos, linePos, colPos } = parser; + const handler = consumeOpt(parser, context | 32768, 20559) + ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos) + : null; + let finalizer = null; + if (parser.token === 20568) { + nextToken(parser, context | 32768); + const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0; + finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + } + if (!handler && !finalizer) { + report(parser, 85); + } + return finishNode(parser, context, start, line, column, { + type: 'TryStatement', + block, + handler, + finalizer + }); + } + function parseCatchBlock(parser, context, scope, labels, start, line, column) { + let param = null; + let additionalScope = scope; + if (consumeOpt(parser, context, 67174411)) { + if (scope) + scope = addChildScope(scope, 4); + param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152 + ? 256 + : 512, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 18) { + report(parser, 83); + } + else if (parser.token === 1077936157) { + report(parser, 84); + } + consume(parser, context | 32768, 16); + if (scope) + additionalScope = addChildScope(scope, 64); + } + const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'CatchClause', + param, + body + }); + } + function parseDoWhileStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context | 32768); + const body = parseIterationStatementBody(parser, context, scope, labels); + consume(parser, context, 20580); + consume(parser, context | 32768, 67174411); + const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + consumeOpt(parser, context, 1074790417); + return finishNode(parser, context, start, line, column, { + type: 'DoWhileStatement', + body, + test + }); + } + function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) { + const { token, tokenValue } = parser; + let expr = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'let', + declarations + }); + } + parser.assignable = 1; + if (context & 1024) + report(parser, 82); + if (parser.token === 21) { + return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column); + } + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + else { + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + } + if (parser.token === 18) { + expr = parseSequenceExpression(parser, context, 0, start, line, column, expr); + } + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: kind & 8 ? 'let' : 'const', + declarations + }); + } + function parseVariableStatement(parser, context, scope, origin, start, line, column) { + nextToken(parser, context); + const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'VariableDeclaration', + kind: 'var', + declarations + }); + } + function parseVariableDeclarationList(parser, context, scope, kind, origin) { + let bindingCount = 1; + const list = [parseVariableDeclaration(parser, context, scope, kind, origin)]; + while (consumeOpt(parser, context, 18)) { + bindingCount++; + list.push(parseVariableDeclaration(parser, context, scope, kind, origin)); + } + if (bindingCount > 1 && origin & 32 && parser.token & 262144) { + report(parser, 58, KeywordDescTable[parser.token & 255]); + } + return list; + } + function parseVariableDeclaration(parser, context, scope, kind, origin) { + const { token, tokenPos, linePos, colPos } = parser; + let init = null; + const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + if (origin & 32 || (token & 2097152) < 1) { + if (parser.token === 274549 || + (parser.token === 8738868 && + (token & 2097152 || (kind & 4) < 1 || context & 1024))) { + reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in'); + } + } + } + else if ((kind & 16 || (token & 2097152) > 0) && + (parser.token & 262144) !== 262144) { + report(parser, 56, kind & 16 ? 'const' : 'destructuring'); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclarator', + id, + init + }); + } + function parseForStatement(parser, context, scope, labels, start, line, column) { + nextToken(parser, context); + const forAwait = (context & 4194304) > 0 && consumeOpt(parser, context, 209008); + consume(parser, context | 32768, 67174411); + if (scope) + scope = addChildScope(scope, 1); + let test = null; + let update = null; + let destructible = 0; + let init = null; + let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092; + let right; + const { token, tokenPos, linePos, colPos } = parser; + if (isVarDecl) { + if (token === 241739) { + init = parseIdentifier(parser, context, 0); + if (parser.token & (143360 | 2097152)) { + if (parser.token === 8738868) { + if (context & 1024) + report(parser, 64); + } + else { + init = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'VariableDeclaration', + kind: 'let', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32) + }); + } + parser.assignable = 1; + } + else if (context & 1024) { + report(parser, 64); + } + else { + isVarDecl = false; + parser.assignable = 1; + init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos); + if (parser.token === 274549) + report(parser, 111); + } + } + else { + nextToken(parser, context); + init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090 + ? { + type: 'VariableDeclaration', + kind: 'var', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32) + } + : { + type: 'VariableDeclaration', + kind: 'const', + declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32) + }); + parser.assignable = 1; + } + } + else if (token === 1074790417) { + if (forAwait) + report(parser, 79); + } + else if ((token & 2097152) === 2097152) { + init = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos); + destructible = parser.destructible; + if (context & 256 && destructible & 64) { + report(parser, 60); + } + parser.assignable = + destructible & 16 ? 2 : 1; + init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos); + } + if ((parser.token & 262144) === 262144) { + if (parser.token === 274549) { + if (parser.assignable & 2) + report(parser, 77, forAwait ? 'await' : 'of'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForOfStatement', + left: init, + right, + body, + await: forAwait + }); + } + if (parser.assignable & 2) + report(parser, 77, 'in'); + reinterpretToPattern(parser, init); + nextToken(parser, context | 32768); + if (forAwait) + report(parser, 79); + right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForInStatement', + body, + left: init, + right + }); + } + if (forAwait) + report(parser, 79); + if (!isVarDecl) { + if (destructible & 8 && parser.token !== 1077936157) { + report(parser, 77, 'loop'); + } + init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init); + } + if (parser.token === 18) + init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 1074790417) + test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 1074790417); + if (parser.token !== 16) + update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 16); + const body = parseIterationStatementBody(parser, context, scope, labels); + return finishNode(parser, context, start, line, column, { + type: 'ForStatement', + init, + test, + update, + body + }); + } + function parseRestrictedIdentifier(parser, context, scope) { + if (!isValidIdentifier(context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) + report(parser, 115); + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 8, 0); + return parseIdentifier(parser, context, 0); + } + function parseImportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context); + let source = null; + const { tokenPos, linePos, colPos } = parser; + let specifiers = []; + if (parser.token === 134283267) { + source = parseLiteral(parser, context); + } + else { + if (parser.token & 143360) { + const local = parseRestrictedIdentifier(parser, context, scope); + specifiers = [ + finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportDefaultSpecifier', + local + }) + ]; + if (consumeOpt(parser, context, 18)) { + switch (parser.token) { + case 8457014: + specifiers.push(parseImportNamespaceSpecifier(parser, context, scope)); + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + default: + report(parser, 104); + } + } + } + else { + switch (parser.token) { + case 8457014: + specifiers = [parseImportNamespaceSpecifier(parser, context, scope)]; + break; + case 2162700: + parseImportSpecifierOrNamedImports(parser, context, scope, specifiers); + break; + case 67174411: + return parseImportCallDeclaration(parser, context, start, line, column); + case 67108877: + return parseImportMetaDeclaration(parser, context, start, line, column); + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + source = parseModuleSpecifier(parser, context); + } + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ImportDeclaration', + specifiers, + source + }); + } + function parseImportNamespaceSpecifier(parser, context, scope) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + consume(parser, context, 77934); + if ((parser.token & 134217728) === 134217728) { + reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportNamespaceSpecifier', + local: parseRestrictedIdentifier(parser, context, scope) + }); + } + function parseModuleSpecifier(parser, context) { + consumeOpt(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Import'); + return parseLiteral(parser, context); + } + function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) { + nextToken(parser, context); + while (parser.token & 143360) { + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + const imported = parseIdentifier(parser, context, 0); + let local; + if (consumeOpt(parser, context, 77934)) { + if ((parser.token & 134217728) === 134217728 || parser.token === 18) { + report(parser, 103); + } + else { + validateBindingIdentifier(parser, context, 16, parser.token, 0); + } + tokenValue = parser.tokenValue; + local = parseIdentifier(parser, context, 0); + } + else { + validateBindingIdentifier(parser, context, 16, token, 0); + local = imported; + } + if (scope) + addBlockName(parser, context, scope, tokenValue, 8, 0); + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ImportSpecifier', + local, + imported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + return specifiers; + } + function parseImportMetaDeclaration(parser, context, start, line, column) { + let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: 'import' + }), start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseImportCallDeclaration(parser, context, start, line, column) { + let expr = parseImportExpression(parser, context, 0, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column); + return parseExpressionStatement(parser, context, expr, start, line, column); + } + function parseExportDeclaration(parser, context, scope) { + const start = parser.tokenPos; + const line = parser.linePos; + const column = parser.colPos; + nextToken(parser, context | 32768); + const specifiers = []; + let declaration = null; + let source = null; + let key; + if (consumeOpt(parser, context | 32768, 20563)) { + switch (parser.token) { + case 86106: { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + } + case 133: + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + declaration = parseIdentifier(parser, context, 0); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos); + } + else { + if (parser.token === 67174411) { + declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos); + declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos); + declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration); + } + else if (parser.token & 143360) { + if (scope) + scope = createArrowHeadParsingScope(parser, context, parser.tokenValue); + declaration = parseIdentifier(parser, context, 0); + declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos); + } + } + } + break; + default: + declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + matchOrInsertSemicolon(parser, context | 32768); + } + if (scope) + declareUnboundVariable(parser, 'default'); + return finishNode(parser, context, start, line, column, { + type: 'ExportDefaultDeclaration', + declaration + }); + } + switch (parser.token) { + case 8457014: { + nextToken(parser, context); + let exported = null; + const isNamedDeclaration = consumeOpt(parser, context, 77934); + if (isNamedDeclaration) { + if (scope) + declareUnboundVariable(parser, parser.tokenValue); + exported = parseIdentifier(parser, context, 0); + } + consume(parser, context, 12404); + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + matchOrInsertSemicolon(parser, context | 32768); + return finishNode(parser, context, start, line, column, { + type: 'ExportAllDeclaration', + source, + exported + }); + } + case 2162700: { + nextToken(parser, context); + const tmpExportedNames = []; + const tmpExportedBindings = []; + while (parser.token & 143360) { + const { tokenPos, tokenValue, linePos, colPos } = parser; + const local = parseIdentifier(parser, context, 0); + let exported; + if (parser.token === 77934) { + nextToken(parser, context); + if ((parser.token & 134217728) === 134217728) { + report(parser, 103); + } + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(tokenValue); + } + exported = parseIdentifier(parser, context, 0); + } + else { + if (scope) { + tmpExportedNames.push(parser.tokenValue); + tmpExportedBindings.push(parser.tokenValue); + } + exported = local; + } + specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ExportSpecifier', + local, + exported + })); + if (parser.token !== 1074790415) + consume(parser, context, 18); + } + consume(parser, context, 1074790415); + if (consumeOpt(parser, context, 12404)) { + if (parser.token !== 134283267) + report(parser, 102, 'Export'); + source = parseLiteral(parser, context); + } + else if (scope) { + let i = 0; + let iMax = tmpExportedNames.length; + for (; i < iMax; i++) { + declareUnboundVariable(parser, tmpExportedNames[i]); + } + i = 0; + iMax = tmpExportedBindings.length; + for (; i < iMax; i++) { + addBindingToExports(parser, tmpExportedBindings[i]); + } + } + matchOrInsertSemicolon(parser, context | 32768); + break; + } + case 86096: + declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86106: + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 241739: + declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86092: + declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 86090: + declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos); + break; + case 209007: + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + if ((parser.flags & 1) < 1 && parser.token === 86106) { + declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos); + if (scope) { + key = declaration.id ? declaration.id.name : ''; + declareUnboundVariable(parser, key); + } + break; + } + default: + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + return finishNode(parser, context, start, line, column, { + type: 'ExportNamedDeclaration', + declaration, + specifiers, + source + }); + } + function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) { + let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column); + expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr); + } + function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) { + const expressions = [expr]; + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + return finishNode(parser, context, start, line, column, { + type: 'SequenceExpression', + expressions + }); + } + function parseExpressions(parser, context, inGroup, canAssign, start, line, column) { + const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column); + return parser.token === 18 + ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr) + : expr; + } + function parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + if ((token & 4194304) === 4194304) { + if (parser.assignable & 2) + report(parser, 24); + if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') || + left.type === 'ObjectExpression') { + reinterpretToPattern(parser, left); + } + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + } + if ((token & 8454144) === 8454144) { + left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left); + } + if (consumeOpt(parser, context | 32768, 22)) { + left = parseConditionalExpression(parser, context, left, start, line, column); + } + return left; + } + function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) { + const { token } = parser; + nextToken(parser, context | 32768); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + left, + operator: KeywordDescTable[token & 255], + right + }); + parser.assignable = 2; + return left; + } + function parseConditionalExpression(parser, context, test, start, line, column) { + const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context | 32768, 21); + parser.assignable = 1; + const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ConditionalExpression', + test, + consequent, + alternate + }); + } + function parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) { + const bit = -((context & 134217728) > 0) & 8738868; + let t; + let prec; + parser.assignable = 2; + while (parser.token & 8454144) { + t = parser.token; + prec = t & 3840; + if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) { + report(parser, 159); + } + if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec) + break; + nextToken(parser, context | 32768); + left = finishNode(parser, context, start, line, column, { + type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression', + left, + right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)), + operator: KeywordDescTable[t & 255] + }); + } + if (parser.token === 1077936157) + report(parser, 24); + return left; + } + function parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) { + if (!isLHS) + report(parser, 0); + const unaryOperator = parser.token; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + if (context & 1024 && unaryOperator === 16863278) { + if (arg.type === 'Identifier') { + report(parser, 117); + } + else if (isPropertyWithPrivateFieldKey(arg)) { + report(parser, 123); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UnaryExpression', + operator: KeywordDescTable[unaryOperator & 255], + argument: arg, + prefix: true + }); + } + function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) { + const { token } = parser; + const expr = parseIdentifier(parser, context, isPattern); + const { flags } = parser; + if ((flags & 1) < 1) { + if (parser.token === 86106) { + return parseFunctionExpression(parser, context, 1, inGroup, start, line, column); + } + if ((parser.token & 143360) === 143360) { + if (!isLHS) + report(parser, 0); + return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column); + } + } + if (!inNew && parser.token === 67174411) { + return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column); + } + if (parser.token === 10) { + classifyIdentifier(parser, context, token, 1); + if (inNew) + report(parser, 48); + return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + return expr; + } + function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) { + if (inGroup) + parser.destructible |= 256; + if (context & 2097152) { + nextToken(parser, context | 32768); + if (context & 8388608) + report(parser, 30); + if (!canAssign) + report(parser, 24); + if (parser.token === 22) + report(parser, 120); + let argument = null; + let delegate = false; + if ((parser.flags & 1) < 1) { + delegate = consumeOpt(parser, context | 32768, 8457014); + if (parser.token & (12288 | 65536) || delegate) { + argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'YieldExpression', + argument, + delegate + }); + } + if (context & 1024) + report(parser, 94, 'yield'); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) { + if (inGroup) + parser.destructible |= 128; + if (context & 4194304 || (context & 2048 && context & 8192)) { + if (inNew) + report(parser, 0); + if (context & 8388608) { + reportMessageAt(parser.index, parser.line, parser.index, 29); + } + nextToken(parser, context | 32768); + const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.token === 8457273) + report(parser, 31); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'AwaitExpression', + argument + }); + } + if (context & 2048) + report(parser, 95); + return parseIdentifierOrArrow(parser, context, start, line, column); + } + function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + const body = []; + const prevContext = context; + if (parser.token !== 1074790415) { + while (parser.token === 134283267) { + const { index, tokenPos, tokenValue, token } = parser; + const expr = parseLiteral(parser, context); + if (isValidStrictMode(parser, index, tokenPos, tokenValue)) { + context |= 1024; + if (parser.flags & 128) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 63); + } + if (parser.flags & 64) { + reportMessageAt(parser.index, parser.line, parser.tokenPos, 8); + } + } + body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos)); + } + if (context & 1024) { + if (firstRestricted) { + if ((firstRestricted & 537079808) === 537079808) { + report(parser, 115); + } + if ((firstRestricted & 36864) === 36864) { + report(parser, 38); + } + } + if (parser.flags & 512) + report(parser, 115); + if (parser.flags & 256) + report(parser, 114); + } + if (context & 64 && + scope && + scopeError !== void 0 && + (prevContext & 1024) < 1 && + (context & 8192) < 1) { + reportScopeError(scopeError); + } + } + parser.flags = + (parser.flags | 512 | 256 | 64) ^ + (512 | 256 | 64); + parser.destructible = (parser.destructible | 256) ^ 256; + while (parser.token !== 1074790415) { + body.push(parseStatementListItem(parser, context, scope, 4, {})); + } + consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415); + parser.flags &= ~(128 | 64); + if (parser.token === 1077936157) + report(parser, 24); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'BlockStatement', + body + }); + } + function parseSuperExpression(parser, context, start, line, column) { + nextToken(parser, context); + switch (parser.token) { + case 67108991: + report(parser, 161); + case 67174411: { + if ((context & 524288) < 1) + report(parser, 26); + if (context & 16384) + report(parser, 143); + parser.assignable = 2; + break; + } + case 69271571: + case 67108877: { + if ((context & 262144) < 1) + report(parser, 27); + if (context & 16384) + report(parser, 143); + parser.assignable = 1; + break; + } + default: + report(parser, 28, 'super'); + } + return finishNode(parser, context, start, line, column, { type: 'Super' }); + } + function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) { + const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column); + return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column); + } + function parseUpdateExpression(parser, context, expr, start, line, column) { + if (parser.assignable & 2) + report(parser, 52); + const { token } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: expr, + operator: KeywordDescTable[token & 255], + prefix: false + }); + } + function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) { + if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) < 1) { + expr = parseUpdateExpression(parser, context, expr, start, line, column); + } + else if ((parser.token & 67108864) === 67108864) { + context = (context | 134217728 | 8192) ^ (134217728 | 8192); + switch (parser.token) { + case 67108877: { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }); + break; + } + case 69271571: { + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + expr = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67174411: { + if ((parser.flags & 1024) === 1024) { + parser.flags = (parser.flags | 1024) ^ 1024; + return expr; + } + let restoreHasOptionalChaining = false; + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + const args = parseArguments(parser, context, inGroup); + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args + }); + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + break; + } + case 67108991: { + nextToken(parser, context); + parser.flags |= 2048; + parser.assignable = 2; + expr = parseOptionalChain(parser, context, expr, start, line, column); + break; + } + default: + if ((parser.flags & 2048) === 2048) { + report(parser, 160); + } + parser.assignable = 2; + expr = finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column); + } + if (inChain === 0 && (parser.flags & 2048) === 2048) { + parser.flags = (parser.flags | 2048) ^ 2048; + expr = finishNode(parser, context, start, line, column, { + type: 'ChainExpression', + expression: expr + }); + } + return expr; + } + function parseOptionalChain(parser, context, expr, start, line, column) { + let restoreHasOptionalChaining = false; + let node; + if (parser.token === 69271571 || parser.token === 67174411) { + if ((parser.flags & 2048) === 2048) { + restoreHasOptionalChaining = true; + parser.flags = (parser.flags | 2048) ^ 2048; + } + } + if (parser.token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + optional: true, + property + }); + } + else if (parser.token === 67174411) { + const args = parseArguments(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee: expr, + arguments: args, + optional: true + }); + } + else { + if ((parser.token & (143360 | 4096)) < 1) + report(parser, 154); + const property = parseIdentifier(parser, context, 0); + parser.assignable = 2; + node = finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + optional: true, + property + }); + } + if (restoreHasOptionalChaining) { + parser.flags |= 2048; + } + return node; + } + function parsePropertyOrPrivatePropertyName(parser, context) { + if ((parser.token & (143360 | 4096)) < 1 && parser.token !== 131) { + report(parser, 154); + } + return context & 1 && parser.token === 131 + ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + : parseIdentifier(parser, context, 0); + } + function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) { + if (inNew) + report(parser, 53); + if (!isLHS) + report(parser, 0); + const { token } = parser; + nextToken(parser, context | 32768); + const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos); + if (parser.assignable & 2) { + report(parser, 52); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'UpdateExpression', + argument: arg, + operator: KeywordDescTable[token & 255], + prefix: true + }); + } + function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) { + if ((parser.token & 143360) === 143360) { + switch (parser.token) { + case 209008: + return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column); + case 241773: + return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column); + case 209007: + return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column); + } + const { token, tokenValue } = parser; + const expr = parseIdentifier(parser, context | 65536, isPattern); + if (parser.token === 10) { + if (!isLHS) + report(parser, 0); + classifyIdentifier(parser, context, token, 1); + return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column); + } + if (context & 16384 && token === 537079928) + report(parser, 126); + if (token === 241739) { + if (context & 1024) + report(parser, 109); + if (kind & (8 | 16)) + report(parser, 97); + } + parser.assignable = + context & 1024 && (token & 537079808) === 537079808 + ? 2 + : 1; + return expr; + } + if ((parser.token & 134217728) === 134217728) { + return parseLiteral(parser, context); + } + switch (parser.token) { + case 33619995: + case 33619996: + return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column); + case 16863278: + case 16842800: + case 16842801: + case 25233970: + case 25233971: + case 16863277: + case 16863279: + return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup); + case 86106: + return parseFunctionExpression(parser, context, 0, inGroup, start, line, column); + case 2162700: + return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 69271571: + return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column); + case 67174411: + return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column); + case 86021: + case 86022: + case 86023: + return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column); + case 86113: + return parseThisExpression(parser, context); + case 65540: + return parseRegExpLiteral(parser, context, start, line, column); + case 133: + case 86096: + return parseClassExpression(parser, context, inGroup, start, line, column); + case 86111: + return parseSuperExpression(parser, context, start, line, column); + case 67174409: + return parseTemplateLiteral(parser, context, start, line, column); + case 67174408: + return parseTemplate(parser, context); + case 86109: + return parseNewExpression(parser, context, inGroup, start, line, column); + case 134283389: + return parseBigIntLiteral(parser, context, start, line, column); + case 131: + return parsePrivateIdentifier(parser, context, start, line, column); + case 86108: + return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column); + case 8456258: + if (context & 16) + return parseJSXRootElementOrFragment(parser, context, 1, start, line, column); + default: + if (isValidIdentifier(context, parser.token)) + return parseIdentifierOrArrow(parser, context, start, line, column); + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) { + let expr = parseIdentifier(parser, context, 0); + if (parser.token === 67108877) { + return parseImportMetaExpression(parser, context, expr, start, line, column); + } + if (inNew) + report(parser, 137); + expr = parseImportExpression(parser, context, inGroup, start, line, column); + parser.assignable = 2; + return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column); + } + function parseImportMetaExpression(parser, context, meta, start, line, column) { + if ((context & 2048) === 0) + report(parser, 163); + nextToken(parser, context); + if (parser.token !== 143495 && parser.tokenValue !== 'meta') + report(parser, 28, KeywordDescTable[parser.token & 255]); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property: parseIdentifier(parser, context, 0) + }); + } + function parseImportExpression(parser, context, inGroup, start, line, column) { + consume(parser, context | 32768, 67174411); + if (parser.token === 14) + report(parser, 138); + const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 16); + return finishNode(parser, context, start, line, column, { + type: 'ImportExpression', + source + }); + } + function parseBigIntLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1), + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue, + bigint: tokenRaw.slice(0, -1) + }); + } + function parseTemplateLiteral(parser, context, start, line, column) { + parser.assignable = 2; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)]; + return finishNode(parser, context, start, line, column, { + type: 'TemplateLiteral', + expressions: [], + quasis + }); + } + function parseTemplate(parser, context) { + context = (context | 134217728) ^ 134217728; + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + const quasis = [ + parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false) + ]; + const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)]; + if (parser.token !== 1074790415) + report(parser, 80); + while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 67174408); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)); + expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + if (parser.token !== 1074790415) + report(parser, 80); + } + { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + consume(parser, context, 67174409); + quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)); + } + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'TemplateLiteral', + expressions, + quasis + }); + } + function parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) { + const node = finishNode(parser, context, start, line, col, { + type: 'TemplateElement', + value: { + cooked, + raw + }, + tail + }); + const tailSize = tail ? 1 : 2; + if (context & 2) { + node.start += 1; + node.range[0] += 1; + node.end -= tailSize; + node.range[1] -= tailSize; + } + if (context & 4) { + node.loc.start.column += 1; + node.loc.end.column -= tailSize; + } + return node; + } + function parseSpreadElement(parser, context, start, line, column) { + context = (context | 134217728) ^ 134217728; + consume(parser, context | 32768, 14); + const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + parser.assignable = 1; + return finishNode(parser, context, start, line, column, { + type: 'SpreadElement', + argument + }); + } + function parseArguments(parser, context, inGroup) { + nextToken(parser, context | 32768); + const args = []; + if (parser.token === 16) { + nextToken(parser, context); + return args; + } + while (parser.token !== 16) { + if (parser.token === 14) { + args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + else { + args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + if (parser.token !== 18) + break; + nextToken(parser, context | 32768); + if (parser.token === 16) + break; + } + consume(parser, context, 16); + return args; + } + function parseIdentifier(parser, context, isPattern) { + const { tokenValue, tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456 + ? { + type: 'Identifier', + name: tokenValue, + pattern: isPattern === 1 + } + : { + type: 'Identifier', + name: tokenValue + }); + } + function parseLiteral(parser, context) { + const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser; + if (parser.token === 134283389) { + return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos); + } + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, context & 512 + ? { + type: 'Literal', + value: tokenValue, + raw: tokenRaw + } + : { + type: 'Literal', + value: tokenValue + }); + } + function parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) { + const raw = KeywordDescTable[parser.token & 255]; + const value = parser.token === 86023 ? null : raw === 'true'; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 512 + ? { + type: 'Literal', + value, + raw + } + : { + type: 'Literal', + value + }); + } + function parseThisExpression(parser, context) { + const { tokenPos, linePos, colPos } = parser; + nextToken(parser, context); + parser.assignable = 2; + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ThisExpression' + }); + } + function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0; + let id = null; + let firstRestricted; + let functionScope = scope ? createScope() : void 0; + if (parser.token === 67174411) { + if ((flags & 1) < 1) + report(parser, 37, 'Function'); + } + else { + const kind = origin & 4 && ((context & 8192) < 1 || (context & 2048) < 1) + ? 4 + : 64; + validateFunctionName(parser, context | ((context & 3072) << 11), parser.token); + if (scope) { + if (kind & 4) { + addVarName(parser, context, scope, parser.tokenValue, kind); + } + else { + addBlockName(parser, context, scope, parser.tokenValue, kind, origin); + } + functionScope = addChildScope(functionScope, 256); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, parser.tokenValue); + } + } + } + firstRestricted = parser.token; + if (parser.token & 143360) { + id = parseIdentifier(parser, context, 0); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + ((isAsync * 2 + isGenerator) << 21) | + (isGenerator ? 0 : 1073741824); + if (scope) + functionScope = addChildScope(functionScope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1); + const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^ + (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionDeclaration', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) { + nextToken(parser, context | 32768); + const isGenerator = optionalBit(parser, context, 8457014); + const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21; + let id = null; + let firstRestricted; + let scope = context & 64 ? createScope() : void 0; + if ((parser.token & (143360 | 4096 | 36864)) > 0) { + validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token); + if (scope) + scope = addChildScope(scope, 256); + firstRestricted = parser.token; + id = parseIdentifier(parser, context, 0); + } + context = + ((context | 32243712) ^ 32243712) | + 67108864 | + generatorAndAsyncFlags | + (isGenerator ? 0 : 1073741824); + if (scope) + scope = addChildScope(scope, 512); + const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + id, + params, + body, + async: isAsync === 1, + generator: isGenerator === 1 + }); + } + function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context | 32768); + const elements = []; + let destructible = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 20) { + if (consumeOpt(parser, context | 32768, 18)) { + elements.push(null); + } + else { + let left; + const { token, tokenPos, linePos, colPos, tokenValue } = parser; + if (token & 143360) { + left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + if (parser.token === 1077936157) { + if (parser.assignable & 2) + report(parser, 24); + nextToken(parser, context | 32768); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left, + right + } + : { + type: 'AssignmentExpression', + operator: '=', + left, + right + }); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + } + else { + destructible |= + kind & 1 + ? 32 + : (kind & 2) < 1 + ? 16 + : 0; + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + if (parser.token !== 1077936157) + destructible |= 16; + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token & 2097152) { + left = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + parser.assignable = + parser.destructible & 16 + ? 2 + : 1; + if (parser.token === 18 || parser.token === 20) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + } + else if (parser.token !== 1077936157) { + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else if (token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos); + destructible |= parser.destructible; + if (parser.token !== 18 && parser.token !== 20) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== 20) { + left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left); + if ((kind & (2 | 1)) < 1 && token === 67174411) + destructible |= 16; + } + else if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === 67174411) { + destructible |= + parser.assignable & 1 && kind & (2 | 1) + ? 32 + : 16; + } + } + elements.push(left); + if (consumeOpt(parser, context | 32768, 18)) { + if (parser.token === 20) + break; + } + else + break; + } + } + consume(parser, context, 20); + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ArrayPattern' : 'ArrayExpression', + elements + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) { + if (parser.token !== 1077936157) + report(parser, 24); + nextToken(parser, context | 32768); + if (destructible & 16) + report(parser, 24); + if (!isPattern) + reinterpretToPattern(parser, node); + const { tokenPos, linePos, colPos } = parser; + const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos); + parser.destructible = + ((destructible | 64 | 8) ^ + (8 | 64)) | + (parser.destructible & 128 ? 128 : 0) | + (parser.destructible & 256 ? 256 : 0); + return finishNode(parser, context, start, line, column, isPattern + ? { + type: 'AssignmentPattern', + left: node, + right + } + : { + type: 'AssignmentExpression', + left: node, + operator: '=', + right + }); + } + function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) { + nextToken(parser, context | 32768); + let argument = null; + let destructible = 0; + let { token, tokenValue, tokenPos, linePos, colPos } = parser; + if (token & (4096 | 143360)) { + parser.assignable = 1; + argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + token = parser.token; + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token !== 18 && parser.token !== closingToken) { + if (parser.assignable & 2 && parser.token === 1077936157) + report(parser, 68); + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token === closingToken || token === 18) { + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + else { + destructible |= 32; + } + destructible |= parser.destructible & 128 ? 128 : 0; + } + else if (token === closingToken) { + report(parser, 39); + } + else if (token & 2097152) { + argument = + parser.token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + token = parser.token; + if (token !== 1077936157 && token !== closingToken && token !== 18) { + if (parser.destructible & 8) + report(parser, 68); + argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos); + destructible |= parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + else { + if ((parser.token & 8454144) === 8454144) { + argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument); + } + if (consumeOpt(parser, context | 32768, 22)) { + argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + else { + destructible |= + closingToken === 1074790415 && token !== 1077936157 + ? 16 + : parser.destructible; + } + } + else { + destructible |= 32; + argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos); + const { token, tokenPos, linePos, colPos } = parser; + if (token === 1077936157 && token !== closingToken && token !== 18) { + if (parser.assignable & 2) + report(parser, 24); + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + destructible |= 16; + } + else { + if (token === 18) { + destructible |= 16; + } + else if (token !== closingToken) { + argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument); + } + destructible |= + parser.assignable & 1 ? 32 : 16; + } + parser.destructible = destructible; + if (parser.token !== closingToken && parser.token !== 18) + report(parser, 155); + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + if (parser.token !== closingToken) { + if (kind & 1) + destructible |= isAsync ? 16 : 32; + if (consumeOpt(parser, context | 32768, 1077936157)) { + if (destructible & 16) + report(parser, 24); + reinterpretToPattern(parser, argument); + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern + ? { + type: 'AssignmentPattern', + left: argument, + right + } + : { + type: 'AssignmentExpression', + left: argument, + operator: '=', + right + }); + destructible = 16; + } + else { + destructible |= 16; + } + } + parser.destructible = destructible; + return finishNode(parser, context, start, line, column, { + type: isPattern ? 'RestElement' : 'SpreadElement', + argument: argument + }); + } + function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) { + const modifierFlags = (kind & 64) < 1 ? 31981568 : 14680064; + context = + ((context | modifierFlags) ^ modifierFlags) | + ((kind & 88) << 18) | + 100925440; + let scope = context & 64 ? addChildScope(createScope(), 512) : void 0; + const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup); + if (scope) + scope = addChildScope(scope, 128); + const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0); + return finishNode(parser, context, start, line, column, { + type: 'FunctionExpression', + params, + body, + async: (kind & 16) > 0, + generator: (kind & 8) > 0, + id: null + }); + } + function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) { + const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column); + if (context & 256 && parser.destructible & 64) { + report(parser, 60); + } + if (parser.destructible & 8) { + report(parser, 59); + } + return expr; + } + function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) { + nextToken(parser, context); + const properties = []; + let destructible = 0; + let prototypeCount = 0; + context = (context | 134217728) ^ 134217728; + while (parser.token !== 1074790415) { + const { token, tokenValue, linePos, colPos, tokenPos } = parser; + if (token === 14) { + properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos)); + } + else { + let state = 0; + let key = null; + let value; + const t = parser.token; + if (parser.token & (143360 | 4096) || parser.token === 121) { + key = parseIdentifier(parser, context, 0); + if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) { + state |= 4; + if (context & 1024 && (token & 537079808) === 537079808) { + destructible |= 16; + } + else { + validateBindingIdentifier(parser, context, kind, token, 0); + } + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + if (consumeOpt(parser, context | 32768, 1077936157)) { + destructible |= 8; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + value = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: context & -2147483648 ? Object.assign({}, key) : key, + right + }); + } + else { + destructible |= + (token === 209008 ? 128 : 0) | + (token === 121 ? 16 : 0); + value = context & -2147483648 ? Object.assign({}, key) : key; + } + } + else if (consumeOpt(parser, context | 32768, 21)) { + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + const tokenAfterColon = parser.token; + const valueAfterColon = parser.tokenValue; + destructible |= t === 121 ? 16 : 0; + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + destructible |= parser.destructible & 128 ? 128 : 0; + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if ((parser.token & 4194304) === 4194304) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (token !== 1077936157) { + destructible |= 32; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (parser.destructible & 8) { + report(parser, 68); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if (parser.token !== 18 && token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 69271571) { + destructible |= 16; + if (token === 209007) + state |= 16; + state |= + (token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1) | 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token & (143360 | 4096)) { + destructible |= 16; + if (token === 121) + report(parser, 92); + if (token === 209007) { + if (parser.flags & 1) + report(parser, 128); + state |= 16; + } + key = parseIdentifier(parser, context, 0); + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 67174411) { + destructible |= 16; + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if (parser.token === 8457014) { + destructible |= 16; + if (token === 12402 || token === 12403) { + report(parser, 40); + } + else if (token === 143483) { + report(parser, 92); + } + nextToken(parser, context); + state |= + 8 | 1 | (token === 209007 ? 16 : 0); + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + state |= 2; + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.assignable; + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else if ((parser.token & 134217728) === 134217728) { + if (token === 209007) + state |= 16; + state |= + token === 12402 + ? 256 + : token === 12403 + ? 512 + : 1; + destructible |= 16; + key = parseLiteral(parser, context); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 129); + } + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + if (parser.token === 21) { + consume(parser, context | 32768, 21); + const { tokenPos, linePos, colPos } = parser; + if (tokenValue === '__proto__') + prototypeCount++; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token, tokenValue: valueAfterColon } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope) { + addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else if (parser.token === 1077936157) { + if (parser.assignable & 2) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else if ((parser.destructible & 8) !== 8) { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 2 ? 16 : 0; + if ((parser.token & 4194304) === 4194304) { + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) { + destructible |= 16; + } + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + destructible = parser.assignable | 16; + } + else { + report(parser, 130); + } + } + else if (parser.token === 69271571) { + key = parseComputedPropertyName(parser, context, inGroup); + destructible |= parser.destructible & 256 ? 256 : 0; + state |= 2; + if (parser.token === 21) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser; + if (parser.token & 143360) { + value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos); + const { token } = parser; + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + if ((parser.token & 4194304) === 4194304) { + destructible |= + parser.assignable & 2 + ? 16 + : token === 1077936157 + ? 0 + : 32; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else if (parser.token === 18 || parser.token === 1074790415) { + if (token === 1077936157 || token === 1074790415 || token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + } + else if (scope && (tokenAfterColon & 143360) === 143360) { + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + } + } + else { + destructible |= + parser.assignable & 1 + ? 32 + : 16; + } + } + else { + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + else if ((parser.token & 2097152) === 2097152) { + value = + parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos) + : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos); + destructible = parser.destructible; + parser.assignable = + destructible & 16 ? 2 : 1; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else if (destructible & 8) { + report(parser, 59); + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = + parser.assignable & 2 ? destructible | 16 : 0; + if ((parser.token & 4194304) === 4194304) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + else { + if ((parser.token & 8454144) === 8454144) { + value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value); + } + if (consumeOpt(parser, context | 32768, 22)) { + value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos); + } + destructible |= + parser.assignable & 2 + ? 16 + : 32; + } + } + } + else { + value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + destructible |= + parser.assignable & 1 + ? 32 + : 16; + if (parser.token === 18 || parser.token === 1074790415) { + if (parser.assignable & 2) + destructible |= 16; + } + else { + value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos); + destructible = parser.assignable & 1 ? 0 : 16; + if (parser.token !== 18 && parser.token !== 1074790415) { + if (parser.token !== 1077936157) + destructible |= 16; + value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value); + } + } + } + } + else if (parser.token === 67174411) { + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos); + destructible = 16; + } + else { + report(parser, 41); + } + } + else if (token === 8457014) { + consume(parser, context | 32768, 8457014); + state |= 8; + if (parser.token & 143360) { + const { token, line, index } = parser; + key = parseIdentifier(parser, context, 0); + state |= 1; + if (parser.token === 67174411) { + destructible |= 16; + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + reportMessageAt(index, line, index, token === 209007 + ? 43 + : token === 12402 || parser.token === 12403 + ? 42 + : 44, KeywordDescTable[token & 255]); + } + } + else if ((parser.token & 134217728) === 134217728) { + destructible |= 16; + key = parseLiteral(parser, context); + state |= 1; + value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + destructible |= 16; + state |= 2 | 1; + key = parseComputedPropertyName(parser, context, inGroup); + value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + report(parser, 122); + } + } + else { + report(parser, 28, KeywordDescTable[token & 255]); + } + destructible |= parser.destructible & 128 ? 128 : 0; + parser.destructible = destructible; + properties.push(finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'Property', + key: key, + value, + kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get', + computed: (state & 2) > 0, + method: (state & 1) > 0, + shorthand: (state & 4) > 0 + })); + } + destructible |= parser.destructible; + if (parser.token !== 18) + break; + nextToken(parser, context); + } + consume(parser, context, 1074790415); + if (prototypeCount > 1) + destructible |= 64; + const node = finishNode(parser, context, start, line, column, { + type: isPattern ? 'ObjectPattern' : 'ObjectExpression', + properties + }); + if (!skipInitializer && parser.token & 4194304) { + return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node); + } + parser.destructible = destructible; + return node; + } + function parseMethodFormals(parser, context, scope, kind, type, inGroup) { + consume(parser, context, 67174411); + const params = []; + parser.flags = (parser.flags | 128) ^ 128; + if (parser.token === 16) { + if (kind & 512) { + report(parser, 35, 'Setter', 'one', ''); + } + nextToken(parser, context); + return params; + } + if (kind & 256) { + report(parser, 35, 'Getter', 'no', 's'); + } + if (kind & 512 && parser.token === 14) { + report(parser, 36); + } + context = (context | 134217728) ^ 134217728; + let setterArgs = 0; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left = null; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) + report(parser, 47); + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left: left, + right + }); + } + setterArgs++; + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (kind & 512 && setterArgs !== 1) { + report(parser, 35, 'Setter', 'one', ''); + } + if (scope && scope.scopeError !== void 0) + reportScopeError(scope.scopeError); + if (isSimpleParameterList) + parser.flags |= 128; + consume(parser, context, 16); + return params; + } + function parseComputedPropertyName(parser, context, inGroup) { + nextToken(parser, context | 32768); + const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 20); + return key; + } + function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) { + parser.flags = (parser.flags | 128) ^ 128; + const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser; + nextToken(parser, context | 32768 | 1073741824); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column); + } + let destructible = 0; + parser.destructible &= ~(256 | 128); + let expr; + let expressions = []; + let isSequence = 0; + let isSimpleParameterList = 0; + const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser; + parser.assignable = 1; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, 1, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808 || + (token & 36864) === 36864) { + isSimpleParameterList = 1; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if ((token & 2097152) === 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + parser.assignable = 2; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos); + if (parser.destructible & 16) + report(parser, 71); + isSimpleParameterList = 1; + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + destructible |= 8; + break; + } + else { + destructible |= 16; + expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos); + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (parser.token === 18) { + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + } + if (isSequence) { + while (consumeOpt(parser, context | 32768, 18)) { + expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)); + } + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + parser.destructible = destructible; + return expr; + } + if (isSequence && (parser.token === 16 || parser.token === 18)) { + expressions.push(expr); + } + if (!consumeOpt(parser, context | 32768, 18)) + break; + if (!isSequence) { + isSequence = 1; + expressions = [expr]; + } + if (parser.token === 16) { + destructible |= 8; + break; + } + } + if (isSequence) { + parser.assignable = 2; + expr = finishNode(parser, context, iStart, lStart, cStart, { + type: 'SequenceExpression', + expressions + }); + } + consume(parser, context, 16); + if (destructible & 16 && destructible & 8) + report(parser, 145); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 46); + if (context & (4194304 | 2048) && destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) { + report(parser, 30); + } + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column); + } + else if (destructible & 8) { + report(parser, 139); + } + parser.destructible = ((parser.destructible | 256) ^ 256) | destructible; + return context & 128 + ? finishNode(parser, context, piStart, plStart, pcStart, { + type: 'ParenthesizedExpression', + expression: expr + }) + : expr; + } + function parseIdentifierOrArrow(parser, context, start, line, column) { + const { tokenValue } = parser; + const expr = parseIdentifier(parser, context, 0); + parser.assignable = 1; + if (parser.token === 10) { + let scope = void 0; + if (context & 64) + scope = createArrowHeadParsingScope(parser, context, tokenValue); + parser.flags = (parser.flags | 128) ^ 128; + return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column); + } + return expr; + } + function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + if (inNew) + report(parser, 48); + parser.flags &= ~128; + const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0; + return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column); + } + function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) { + if (!canAssign) + report(parser, 54); + for (let i = 0; i < params.length; ++i) + reinterpretToPattern(parser, params[i]); + return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column); + } + function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) { + if (parser.flags & 1) + report(parser, 45); + consume(parser, context | 32768, 10); + context = ((context | 15728640) ^ 15728640) | (isAsync << 22); + const expression = parser.token !== 2162700; + let body; + if (scope && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + if (expression) { + body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + } + else { + if (scope) + scope = addChildScope(scope, 128); + body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^ + (134221824 | 8192 | 16384), scope, 16, void 0, void 0); + switch (parser.token) { + case 69271571: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + break; + case 67108877: + case 67174409: + case 22: + report(parser, 113); + case 67174411: + if ((parser.flags & 1) < 1) { + report(parser, 112); + } + parser.flags |= 1024; + break; + } + if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) < 1) + report(parser, 28, KeywordDescTable[parser.token & 255]); + if ((parser.token & 33619968) === 33619968) + report(parser, 121); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'ArrowFunctionExpression', + params, + body, + async: isAsync === 1, + expression + }); + } + function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) { + consume(parser, context, 67174411); + parser.flags = (parser.flags | 128) ^ 128; + const params = []; + if (consumeOpt(parser, context, 16)) + return params; + context = (context | 134217728) ^ 134217728; + let isSimpleParameterList = 0; + while (parser.token !== 18) { + let left; + const { tokenPos, linePos, colPos } = parser; + if (parser.token & 143360) { + if ((context & 1024) < 1) { + if ((parser.token & 36864) === 36864) { + parser.flags |= 256; + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + } + left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos); + } + else { + if (parser.token === 2162700) { + left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 69271571) { + left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos); + } + else if (parser.token === 14) { + left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + isSimpleParameterList = 1; + if (parser.destructible & (32 | 16)) { + report(parser, 47); + } + } + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + isSimpleParameterList = 1; + const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + left = finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'AssignmentPattern', + left, + right + }); + } + params.push(left); + if (!consumeOpt(parser, context, 18)) + break; + if (parser.token === 16) { + break; + } + } + if (isSimpleParameterList) + parser.flags |= 128; + if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) { + reportScopeError(scope.scopeError); + } + consume(parser, context, 16); + return params; + } + function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) { + const { token } = parser; + if (token & 67108864) { + if (token === 67108877) { + nextToken(parser, context | 1073741824); + parser.assignable = 1; + const property = parsePropertyOrPrivatePropertyName(parser, context); + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: false, + property + }), 0, start, line, column); + } + else if (token === 69271571) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos); + consume(parser, context, 20); + parser.assignable = 1; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'MemberExpression', + object: expr, + computed: true, + property + }), 0, start, line, column); + } + else if (token === 67174408 || token === 67174409) { + parser.assignable = 2; + return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, { + type: 'TaggedTemplateExpression', + tag: expr, + quasi: parser.token === 67174408 + ? parseTemplate(parser, context | 65536) + : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos) + }), 0, start, line, column); + } + } + return expr; + } + function parseNewExpression(parser, context, inGroup, start, line, column) { + const id = parseIdentifier(parser, context | 32768, 0); + const { tokenPos, linePos, colPos } = parser; + if (consumeOpt(parser, context, 67108877)) { + if (context & 67108864 && parser.token === 143494) { + parser.assignable = 2; + return parseMetaProperty(parser, context, id, start, line, column); + } + report(parser, 91); + } + parser.assignable = 2; + if ((parser.token & 16842752) === 16842752) { + report(parser, 62, KeywordDescTable[parser.token & 255]); + } + const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos); + context = (context | 134217728) ^ 134217728; + if (parser.token === 67108991) + report(parser, 162); + const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'NewExpression', + callee, + arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : [] + }); + } + function parseMetaProperty(parser, context, meta, start, line, column) { + const property = parseIdentifier(parser, context, 0); + return finishNode(parser, context, start, line, column, { + type: 'MetaProperty', + meta, + property + }); + } + function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) { + if (parser.token === 209008) + report(parser, 29); + if (context & (1024 | 2097152) && parser.token === 241773) { + report(parser, 30); + } + if ((parser.token & 537079808) === 537079808) { + parser.flags |= 512; + } + return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column); + } + function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) { + nextToken(parser, context | 32768); + const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0; + context = (context | 134217728) ^ 134217728; + if (consumeOpt(parser, context, 16)) { + if (parser.token === 10) { + if (flags & 1) + report(parser, 45); + return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column); + } + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: [] + }); + } + let destructible = 0; + let expr = null; + let isSimpleParameterList = 0; + parser.destructible = + (parser.destructible | 256 | 128) ^ + (256 | 128); + const params = []; + while (parser.token !== 16) { + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 4096)) { + if (scope) + addBlockName(parser, context, scope, parser.tokenValue, kind, 0); + expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos); + if (parser.token === 16 || parser.token === 18) { + if (parser.assignable & 2) { + destructible |= 16; + isSimpleParameterList = 1; + } + else if ((token & 537079808) === 537079808) { + parser.flags |= 512; + } + else if ((token & 36864) === 36864) { + parser.flags |= 256; + } + } + else { + if (parser.token === 1077936157) { + isSimpleParameterList = 1; + } + else { + destructible |= 16; + } + expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos); + if (parser.token !== 16 && parser.token !== 18) { + expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr); + } + } + } + else if (token & 2097152) { + expr = + token === 2162700 + ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos) + : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos); + destructible |= parser.destructible; + isSimpleParameterList = 1; + if (parser.token !== 16 && parser.token !== 18) { + if (destructible & 8) + report(parser, 118); + expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos); + destructible |= 16; + if ((parser.token & 8454144) === 8454144) { + expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr); + } + if (consumeOpt(parser, context | 32768, 22)) { + expr = parseConditionalExpression(parser, context, expr, start, line, column); + } + } + } + else if (token === 14) { + expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos); + destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible; + isSimpleParameterList = 1; + } + else { + expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + destructible = parser.assignable; + params.push(expr); + while (consumeOpt(parser, context | 32768, 18)) { + params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos)); + } + destructible |= parser.assignable; + consume(parser, context, 16); + parser.destructible = destructible | 16; + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + params.push(expr); + if (!consumeOpt(parser, context | 32768, 18)) + break; + } + consume(parser, context, 16); + destructible |= + parser.destructible & 256 + ? 256 + : 0 | (parser.destructible & 128) + ? 128 + : 0; + if (parser.token === 10) { + if (destructible & (32 | 16)) + report(parser, 25); + if (parser.flags & 1 || flags & 1) + report(parser, 45); + if (destructible & 128) + report(parser, 29); + if (context & (1024 | 2097152) && destructible & 256) + report(parser, 30); + if (isSimpleParameterList) + parser.flags |= 128; + return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column); + } + else if (destructible & 8) { + report(parser, 59); + } + parser.assignable = 2; + return finishNode(parser, context, start, line, column, { + type: 'CallExpression', + callee, + arguments: params + }); + } + function parseRegExpLiteral(parser, context, start, line, column) { + const { tokenRaw, tokenRegExp, tokenValue } = parser; + nextToken(parser, context); + parser.assignable = 2; + return context & 512 + ? finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp, + raw: tokenRaw + }) + : finishNode(parser, context, start, line, column, { + type: 'Literal', + value: tokenValue, + regex: tokenRegExp + }); + } + function parseClassDeclaration(parser, context, scope, flags, start, line, column) { + context = (context | 16777216 | 1024) ^ 16777216; + let decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + if (parser.leadingDecorators.length) { + parser.leadingDecorators.push(...decorators); + decorators = parser.leadingDecorators; + parser.leadingDecorators = []; + } + nextToken(parser, context); + let id = null; + let superClass = null; + const { tokenValue } = parser; + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) { + report(parser, 114); + } + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + if (scope) { + addBlockName(parser, context, scope, tokenValue, 32, 0); + if (flags) { + if (flags & 2) { + declareUnboundVariable(parser, tokenValue); + } + } + } + id = parseIdentifier(parser, context, 0); + } + else { + if ((flags & 1) < 1) + report(parser, 37, 'Class'); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassDeclaration', + id, + superClass, + decorators, + body + } + : { + type: 'ClassDeclaration', + id, + superClass, + body + }); + } + function parseClassExpression(parser, context, inGroup, start, line, column) { + let id = null; + let superClass = null; + context = (context | 1024 | 16777216) ^ 16777216; + const decorators = parseDecorators(parser, context); + if (decorators.length) { + start = parser.tokenPos; + line = parser.linePos; + column = parser.colPos; + } + nextToken(parser, context); + if (parser.token & 4096 && parser.token !== 20567) { + if (isStrictReservedWord(parser, context, parser.token)) + report(parser, 114); + if ((parser.token & 537079808) === 537079808) { + report(parser, 115); + } + id = parseIdentifier(parser, context, 0); + } + let inheritedContext = context; + if (consumeOpt(parser, context | 32768, 20567)) { + superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos); + inheritedContext |= 524288; + } + else { + inheritedContext = (inheritedContext | 524288) ^ 524288; + } + const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup); + parser.assignable = 2; + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'ClassExpression', + id, + superClass, + decorators, + body + } + : { + type: 'ClassExpression', + id, + superClass, + body + }); + } + function parseDecorators(parser, context) { + const list = []; + if (context & 1) { + while (parser.token === 133) { + list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + } + return list; + } + function parseDecoratorList(parser, context, start, line, column) { + nextToken(parser, context | 32768); + let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column); + expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column); + return finishNode(parser, context, start, line, column, { + type: 'Decorator', + expression + }); + } + function parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) { + const { tokenPos, linePos, colPos } = parser; + consume(parser, context | 32768, 2162700); + context = (context | 134217728) ^ 134217728; + parser.flags = (parser.flags | 32) ^ 32; + const body = []; + let decorators; + while (parser.token !== 1074790415) { + let length = 0; + decorators = parseDecorators(parser, context); + length = decorators.length; + if (length > 0 && parser.tokenValue === 'constructor') { + report(parser, 106); + } + if (parser.token === 1074790415) + report(parser, 105); + if (consumeOpt(parser, context, 1074790417)) { + if (length > 0) + report(parser, 116); + continue; + } + body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos)); + } + consume(parser, origin & 8 ? context | 32768 : context, 1074790415); + return finishNode(parser, context, tokenPos, linePos, colPos, { + type: 'ClassBody', + body + }); + } + function parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) { + let kind = isStatic ? 32 : 0; + let key = null; + const { token, tokenPos, linePos, colPos } = parser; + if (token & (143360 | 36864)) { + key = parseIdentifier(parser, context, 0); + switch (token) { + case 36972: + if (!isStatic && parser.token !== 67174411) { + return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column); + } + break; + case 209007: + if (parser.token !== 67174411 && (parser.flags & 1) < 1) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0); + } + break; + case 12402: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 256; + } + break; + case 12403: + if (parser.token !== 67174411) { + if (context & 1 && (parser.token & 1073741824) === 1073741824) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + kind |= 512; + } + break; + } + } + else if (token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, inheritedContext, inGroup); + } + else if ((token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (token === 8457014) { + kind |= 8; + nextToken(parser, context); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + context = context | 16384; + } + else if (context & 1 && (parser.token & 1073741824) === 1073741824) { + kind |= 128; + context = context | 16384; + } + else if (token === 122) { + key = parseIdentifier(parser, context, 0); + if (parser.token !== 67174411) + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + else { + report(parser, 28, KeywordDescTable[parser.token & 255]); + } + if (kind & (8 | 16 | 768)) { + if (parser.token & 143360) { + key = parseIdentifier(parser, context, 0); + } + else if ((parser.token & 134217728) === 134217728) { + key = parseLiteral(parser, context); + } + else if (parser.token === 69271571) { + kind |= 2; + key = parseComputedPropertyName(parser, context, 0); + } + else if (parser.token === 122) { + key = parseIdentifier(parser, context, 0); + } + else if (context & 1 && parser.token === 131) { + kind |= 4096; + key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos); + } + else + report(parser, 131); + } + if ((kind & 2) < 1) { + if (parser.tokenValue === 'constructor') { + if ((parser.token & 1073741824) === 1073741824) { + report(parser, 125); + } + else if ((kind & 32) < 1 && parser.token === 67174411) { + if (kind & (768 | 16 | 128 | 8)) { + report(parser, 50, 'accessor'); + } + else if ((context & 524288) < 1) { + if (parser.flags & 32) + report(parser, 51); + else + parser.flags |= 32; + } + } + kind |= 64; + } + else if ((kind & 4096) < 1 && + kind & (32 | 768 | 8 | 16) && + parser.tokenValue === 'prototype') { + report(parser, 49); + } + } + if (context & 1 && parser.token !== 67174411) { + return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos); + } + const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, context & 1 + ? { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + decorators, + value + } + : { + type: 'MethodDefinition', + kind: (kind & 32) < 1 && kind & 64 + ? 'constructor' + : kind & 256 + ? 'get' + : kind & 512 + ? 'set' + : 'method', + static: (kind & 32) > 0, + computed: (kind & 2) > 0, + key, + value + }); + } + function parsePrivateIdentifier(parser, context, start, line, column) { + nextToken(parser, context); + const { tokenValue } = parser; + if (tokenValue === 'constructor') + report(parser, 124); + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'PrivateIdentifier', + name: tokenValue + }); + } + function parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) { + let value = null; + if (state & 8) + report(parser, 0); + if (parser.token === 1077936157) { + nextToken(parser, context | 32768); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 537079928) + report(parser, 115); + value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos); + if ((parser.token & 1073741824) !== 1073741824) { + value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos); + value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value); + if (parser.token === 18) { + value = parseSequenceExpression(parser, context, 0, start, line, column, value); + } + } + } + return finishNode(parser, context, start, line, column, { + type: 'PropertyDefinition', + key, + value, + static: (state & 32) > 0, + computed: (state & 2) > 0, + decorators + }); + } + function parseBindingPattern(parser, context, scope, type, origin, start, line, column) { + if (parser.token & 143360) + return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column); + if ((parser.token & 2097152) !== 2097152) + report(parser, 28, KeywordDescTable[parser.token & 255]); + const left = parser.token === 69271571 + ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column) + : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column); + if (parser.destructible & 16) + report(parser, 47); + if (parser.destructible & 32) + report(parser, 47); + return left; + } + function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) { + const { tokenValue, token } = parser; + if (context & 1024) { + if ((token & 537079808) === 537079808) { + report(parser, 115); + } + else if ((token & 36864) === 36864) { + report(parser, 114); + } + } + if ((token & 20480) === 20480) { + report(parser, 99); + } + if (context & (2048 | 2097152) && token === 241773) { + report(parser, 30); + } + if (token === 241739) { + if (kind & (8 | 16)) + report(parser, 97); + } + if (context & (4194304 | 2048) && token === 209008) { + report(parser, 95); + } + nextToken(parser, context); + if (scope) + addVarOrBlock(parser, context, scope, tokenValue, kind, origin); + return finishNode(parser, context, start, line, column, { + type: 'Identifier', + name: tokenValue + }); + } + function parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) { + nextToken(parser, context); + if (parser.token === 8456259) { + return finishNode(parser, context, start, line, column, { + type: 'JSXFragment', + openingFragment: parseOpeningFragment(parser, context, start, line, column), + children: parseJSXChildren(parser, context), + closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos) + }); + } + let closingElement = null; + let children = []; + const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column); + if (!openingElement.selfClosing) { + children = parseJSXChildren(parser, context); + closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos); + const close = isEqualTagName(closingElement.name); + if (isEqualTagName(openingElement.name) !== close) + report(parser, 149, close); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXElement', + children, + openingElement, + closingElement + }); + } + function parseOpeningFragment(parser, context, start, line, column) { + scanJSXToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningFragment' + }); + } + function parseJSXClosingElement(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + parser.token = scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingElement', + name + }); + } + function parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) { + consume(parser, context, 25); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + consume(parser, context, 8456259); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXClosingFragment' + }); + } + function parseJSXChildren(parser, context) { + const children = []; + while (parser.token !== 25) { + parser.index = parser.tokenPos = parser.startPos; + parser.column = parser.colPos = parser.startColumn; + parser.line = parser.linePos = parser.startLine; + scanJSXToken(parser, context); + children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return children; + } + function parseJSXChild(parser, context, start, line, column) { + if (parser.token === 138) + return parseJSXText(parser, context, start, line, column); + if (parser.token === 2162700) + return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column); + if (parser.token === 8456258) + return parseJSXRootElementOrFragment(parser, context, 0, start, line, column); + report(parser, 0); + } + function parseJSXText(parser, context, start, line, column) { + scanJSXToken(parser, context); + const node = { + type: 'JSXText', + value: parser.tokenValue + }; + if (context & 512) { + node.raw = parser.tokenRaw; + } + return finishNode(parser, context, start, line, column, node); + } + function parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) { + if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096) + report(parser, 0); + const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + const attributes = parseJSXAttributes(parser, context); + const selfClosing = parser.token === 8457016; + if (parser.token === 8456259) { + scanJSXToken(parser, context); + } + else { + consume(parser, context, 8457016); + if (inJSXChild) { + consume(parser, context, 8456259); + } + else { + scanJSXToken(parser, context); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXOpeningElement', + name: tagName, + attributes, + selfClosing + }); + } + function parseJSXElementName(parser, context, start, line, column) { + scanJSXIdentifier(parser); + let key = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) + return parseJSXNamespacedName(parser, context, key, start, line, column); + while (consumeOpt(parser, context, 67108877)) { + scanJSXIdentifier(parser); + key = parseJSXMemberExpression(parser, context, key, start, line, column); + } + return key; + } + function parseJSXMemberExpression(parser, context, object, start, line, column) { + const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXMemberExpression', + object, + property + }); + } + function parseJSXAttributes(parser, context) { + const attributes = []; + while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) { + attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos)); + } + return attributes; + } + function parseJSXSpreadAttribute(parser, context, start, line, column) { + nextToken(parser, context); + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadAttribute', + argument: expression + }); + } + function parseJsxAttribute(parser, context, start, line, column) { + if (parser.token === 2162700) + return parseJSXSpreadAttribute(parser, context, start, line, column); + scanJSXIdentifier(parser); + let value = null; + let name = parseJSXIdentifier(parser, context, start, line, column); + if (parser.token === 21) { + name = parseJSXNamespacedName(parser, context, name, start, line, column); + } + if (parser.token === 1077936157) { + const token = scanJSXAttributeValue(parser, context); + const { tokenPos, linePos, colPos } = parser; + switch (token) { + case 134283267: + value = parseLiteral(parser, context); + break; + case 8456258: + value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos); + break; + case 2162700: + value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos); + break; + default: + report(parser, 148); + } + } + return finishNode(parser, context, start, line, column, { + type: 'JSXAttribute', + value, + name + }); + } + function parseJSXNamespacedName(parser, context, namespace, start, line, column) { + consume(parser, context, 21); + const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos); + return finishNode(parser, context, start, line, column, { + type: 'JSXNamespacedName', + namespace, + name + }); + } + function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) { + nextToken(parser, context); + const { tokenPos, linePos, colPos } = parser; + if (parser.token === 14) + return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos); + let expression = null; + if (parser.token === 1074790415) { + if (isAttr) + report(parser, 151); + expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn); + } + else { + expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos); + } + if (inJSXChild) { + consume(parser, context, 1074790415); + } + else { + scanJSXToken(parser, context); + } + return finishNode(parser, context, start, line, column, { + type: 'JSXExpressionContainer', + expression + }); + } + function parseJSXSpreadChild(parser, context, start, line, column) { + consume(parser, context, 14); + const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos); + consume(parser, context, 1074790415); + return finishNode(parser, context, start, line, column, { + type: 'JSXSpreadChild', + expression + }); + } + function parseJSXEmptyExpression(parser, context, start, line, column) { + parser.startPos = parser.tokenPos; + parser.startLine = parser.linePos; + parser.startColumn = parser.colPos; + return finishNode(parser, context, start, line, column, { + type: 'JSXEmptyExpression' + }); + } + function parseJSXIdentifier(parser, context, start, line, column) { + const { tokenValue } = parser; + nextToken(parser, context); + return finishNode(parser, context, start, line, column, { + type: 'JSXIdentifier', + name: tokenValue + }); + } + + var estree = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + var version$1 = "4.2.0"; + + const version = version$1; + function parseScript(source, options) { + return parseSource(source, options, 0); + } + function parseModule(source, options) { + return parseSource(source, options, 1024 | 2048); + } + function parse(source, options) { + return parseSource(source, options, 0); + } + + exports.ESTree = estree; + exports.parse = parse; + exports.parseModule = parseModule; + exports.parseScript = parseScript; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/node_modules/meriyah/dist/meriyah.umd.min.cjs b/node_modules/meriyah/dist/meriyah.umd.min.cjs new file mode 100644 index 0000000..0595799 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.min.cjs @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).meriyah={})}(this,(function(e){"use strict";const t={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class n extends SyntaxError{constructor(e,n,o,r,...s){const a="["+n+":"+o+"]: "+t[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=e,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function o(e,t,...o){throw new n(e.index,e.line,e.column,t,...o)}function r(e){throw new n(e.index,e.line,e.column,e.type,e.params)}function s(e,t,o,r,...s){throw new n(e,t,o,r,...s)}function a(e,t,o,r){throw new n(e,t,o,r)}const i=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function l(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function c(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&i[0+(t>>>5)]>>>t)&&o(e,18,p(t)),e.index++,e.column++,1)}function u(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function d(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function f(e){return e<65?e-48:e-65+10&15}const k=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function b(e){return e<=127?g[e]:1&i[34816+(e>>>5)]>>>e}function h(e){return e<=127?m[e]:1&i[0+(e>>>5)]>>>e||8204===e||8205===e}const P=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function y(e,t,n,r,s,a,i,l){return 2048&r&&o(e,0),x(e,t,n,s,a,i,l)}function x(e,t,n,o,r,s,a){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return o(e,32)}const s=e.index-1;let a=0,i=e.currentChar;const{index:c}=e;for(;h(i);){switch(i){case 103:2&a&&o(e,34,"g"),a|=2;break;case 105:1&a&&o(e,34,"i"),a|=1;break;case 109:4&a&&o(e,34,"m"),a|=4;break;case 117:16&a&&o(e,34,"g"),a|=16;break;case 121:8&a&&o(e,34,"y"),a|=8;break;case 115:12&a&&o(e,34,"s"),a|=12;break;default:o(e,33)}i=l(e)}const u=e.source.slice(c,e.index),d=e.source.slice(n,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(t){o(e,32)}}(e,d,u),65540}function q(e,t,n){const{index:r}=e;let s="",a=l(e),i=e.index;for(;0==(8&k[a]);){if(a===n)return s+=e.source.slice(i,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(i,e.index),a=l(e),a<127||8232===a||8233===a){const n=C(e,t,a);n>=0?s+=p(n):E(e,n,0)}else s+=p(a);i=e.index+1}e.index>=e.end&&o(e,14),a=l(e)}o(e,14)}function C(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&k[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&k[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&k[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&k[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),f(t)<<12|f(n)<<8|f(o)<<4|f(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function E(e,t,n){switch(t){case-1:return;case-2:o(e,n?2:1);case-3:o(e,13);case-4:o(e,6);case-5:o(e,101)}}function A(e,t){const{index:n}=e;let r=67174409,s="",a=l(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){l(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=l(e),a>126)s+=p(a);else{const n=C(e,1024|t,a);if(n>=0)s+=p(n);else{if(-1!==n&&65536&t){s=void 0,a=S(e,a),a<0&&(r=67174408);break}E(e,n,1)}}else e.index=e.end&&o(e,15),a=l(e)}return l(e),e.tokenValue=s,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function S(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&o(e,15),t=l(e)}return t}function D(e,t){return e.index>=e.end&&o(e,0),e.index--,e.column--,A(e,t)}function L(e,t,n){let r=e.currentChar,s=0,i=9,c=64&n?0:1,u=0,d=0;if(64&n)s="."+V(e,r),r=e.currentChar,110===r&&o(e,11);else{if(48===r)if(r=l(e),120==(32|r)){for(n=136,r=l(e);4160&k[r];)95!==r?(d=1,s=16*s+f(r),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?19:147)}else if(111==(32|r)){for(n=132,r=l(e);4128&k[r];)95!==r?(d=1,s=8*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(98==(32|r)){for(n=130,r=l(e);4224&k[r];)95!==r?(d=1,s=2*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(32&k[r])for(1024&t&&o(e,1),n=1;16&k[r];){if(512&k[r]){n=32,c=0;break}s=8*s+(r-48),r=l(e)}else 512&k[r]?(1024&t&&o(e,1),e.flags|=64,n=32):95===r&&o(e,0);if(48&n){if(c){for(;i>=0&&4112&k[r];)95!==r?(d=0,s=10*s+(r-48),r=l(e),--i):(r=l(e),(95===r||32&n)&&a(e.index,e.line,e.index+1,146),d=1);if(d&&a(e.index,e.line,e.index+1,147),i>=0&&!b(r)&&46!==r)return e.tokenValue=s,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}s+=V(e,r),r=e.currentChar,46===r&&(95===l(e)&&o(e,0),n=64,s+="."+V(e,e.currentChar),r=e.currentChar)}}const p=e.index;let g=0;if(110===r&&128&n)g=1,r=l(e);else if(101==(32|r)){r=l(e),256&k[r]&&(r=l(e));const{index:t}=e;(16&k[r])<1&&o(e,10),s+=e.source.substring(p,t)+V(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],R=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function N(e,t,n){for(;m[l(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?R[e.tokenValue]||208897:U(e,t,0,n)}function I(e,t){const n=O(e);return h(n)||o(e,4),e.tokenValue=p(n),U(e,t,1,4&k[n])}function U(e,t,n,r){let s=e.index;for(;e.index=2&&a<=11){const o=R[e.tokenValue];return void 0===o?208897:n?1024&t?209008===o&&0==(4196352&t)?o:36972===o||36864==(36864&o)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&o)?o:241773===o?1073741824&t?143483:2097152&t?121:o:209007===o&&1073741824&t?143483:36864==(36864&o)||209008===o&&0==(4194304&t)?o:121:o}return 208897}function B(e){return b(l(e))||o(e,93),131}function O(e){return 117!==e.source.charCodeAt(e.index+1)&&o(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&k[l(e)];)t=t<<4|f(e.currentChar),t>1114111&&a(n,e.line,e.index+1,101);return 125!==e.currentChar&&a(n,e.line,e.index-1,6),l(e),t}0==(64&k[n])&&o(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&k[r])&&o(e,6);const s=e.source.charCodeAt(e.index+2);0==(64&k[s])&&o(e,6);const i=e.source.charCodeAt(e.index+3);0==(64&k[i])&&o(e,6);return t=f(n)<<12|f(r)<<8|f(s)<<4|f(i),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function j(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=F(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function F(e,t,n){const r=0===e.index,s=e.source;let a=e.index,c=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(l(e),4194340):42!==t?8457014:61!==l(e)?8457273:(l(e),4194337)}case 8455497:return 61!==l(e)?8455497:(l(e),4194343);case 25233970:{l(e);const t=e.currentChar;return 43===t?(l(e),33619995):61===t?(l(e),4194338):25233970}case 25233971:{l(e);const i=e.currentChar;if(45===i){if(l(e),(1&n||r)&&62===e.currentChar){0==(256&t)&&o(e,108),l(e),n=y(e,s,n,t,3,a,c,f),a=e.tokenPos,c=e.linePos,f=e.colPos;continue}return 33619996}return 61===i?(l(e),4194339):25233971}case 8457016:if(l(e),e.index=48&&k<=57)return L(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return l(e),67108991}return 22}}}else{if((8232^g)<=1){n=-5&n|1,d(e);continue}if(55296==(64512&g)||0!=(1&i[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&i[0+(g>>>5)]>>>g)&&o(e,18,p(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",U(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){l(e);continue}o(e,18,p(g))}}var k;return 1048576}const H={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},J={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function M(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in J&&(e=J[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return H[e.slice(1,-1)]||e}))}function z(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&k[e.currentChar]?function(e,t){const n=e.currentChar;let r=l(e);const s=e.index;for(;r!==n;)e.index>=e.end&&o(e,14),r=l(e);r!==n&&o(e,14);e.tokenValue=e.source.slice(s,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):F(e,t,0),e.token}function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:l(e),47===e.currentChar?(l(e),e.token=25):e.token=8456258;break;case 2162700:l(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&W(e,t,209008);K(e,32768|t,67174411),n&&(n=le(n,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=nt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&o(e,64):f=re(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?o(e,64):(k=!1,e.assignable=1,f=ze(e,t,f,0,0,m,b,h),274549===e.token&&o(e,111))):(j(e,t),f=re(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===g?l&&o(e,79):2097152==(2097152&g)?(f=2162700===g?ut(e,t,void 0,1,0,0,2,32,m,b,h):at(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&o(e,60),e.assignable=16&p?2:1,f=ze(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Me(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&o(e,77,l?"await":"of"),Q(e,f),j(e,32768|t),c=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ee(e,t,n,r),await:l})}2&e.assignable&&o(e,77,"in"),Q(e,f),j(e,32768|t),l&&o(e,79),c=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForInStatement",body:Ee(e,t,n,r),left:f,right:c})}l&&o(e,79);k||(8&p&&1077936157!==e.token&&o(e,77,"loop"),f=Ge(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Be(e,t,0,e.tokenPos,e.linePos,e.colPos,f));K(e,32768|t,1074790417),1074790417!==e.token&&(u=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,1074790417),16!==e.token&&(d=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,16);const P=Ee(e,t,n,r);return re(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,n,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){j(e,32768|t);const i=Ee(e,t,n,o);K(e,t,20580),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|t,16),W(e,t,1074790417),re(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,n,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){j(e,t),K(e,32768|t,67174411);const i=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const l=Ee(e,t,n,o);return re(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,n,s,i,l,c);case 86112:return function(e,t,n,r,s,a,i){j(e,t),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,t,16),K(e,t,2162700);const c=[];let u=0;n&&(n=le(n,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(W(e,32768|t,20558)?l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(K(e,32768|t,20563),u&&o(e,86),u=1),K(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(he(e,4096|t,n,2,{$:r}));c.push(re(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return K(e,32768|t,1074790415),re(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,n,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return j(e,32768|t),re(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return ye(e,t,n?le(n,2):n,s,i,l,c);case 86114:return function(e,t,n,r,s){j(e,32768|t),1&e.flags&&o(e,87);const a=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t),re(e,t,n,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,n,r,s,a){j(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,0)||o(e,134,r)}else(135168&t)<1&&o(e,66);return $(e,32768|t),re(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,n,r,s,a){(131072&t)<1&&o(e,65);j(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,1)||o(e,134,r)}return $(e,32768|t),re(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,n,r,s,a,i){j(e,32768|t);const l=n?le(n,32):void 0,c=ye(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=W(e,32768|t,20559)?function(e,t,n,r,s,a,i){let l=null,c=n;W(e,t,67174411)&&(n&&(n=le(n,4)),l=At(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?o(e,83):1077936157===e.token&&o(e,84),K(e,32768|t,16),n&&(c=le(n,64)));const u=ye(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,n,r,u,d,p):null;let k=null;if(20568===e.token){j(e,32768|t);k=ye(e,t,l?le(n,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||o(e,85);return re(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,n,s,i,l,c);case 20581:return function(e,t,n,r,s,a,i){j(e,t),1024&t&&o(e,88);K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const c=Pe(e,t,n,2,r,0,e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,n,s,i,l,c);case 20562:return function(e,t,n,o,r){return j(e,32768|t),$(e,32768|t),re(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return we(e,t,n,r,s,0,i,l,c);case 20559:o(e,156);case 20568:o(e,157);case 86106:o(e,1024&t?73:(256&t)<1?75:74);case 86096:o(e,76);default:return function(e,t,n,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=nt(e,t,0),1024&t&&o(e,82),69271571===e.token&&o(e,81);break;default:p=_e(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return ve(e,t,n,r,s,u,p,d,a,i,l,c);p=ze(e,t,p,0,0,i,l,c),p=Ge(e,t,0,0,i,l,c,p),18===e.token&&(p=Be(e,t,0,i,l,c,p));return xe(e,t,p,i,l,c)}(e,t,n,r,s,a,i,l,c)}}function ye(e,t,n,o,r,s,a){const i=[];for(K(e,32768|t,2162700);1074790415!==e.token;)i.push(he(e,t,n,2,{$:o}));return K(e,32768|t,1074790415),re(e,t,r,s,a,{type:"BlockStatement",body:i})}function xe(e,t,n,o,r,s){return $(e,32768|t),re(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function ve(e,t,n,r,s,a,i,l,c,u,d,p){ee(e,t,0,l,1),function(e,t,n){let r=t;for(;r;)r["$"+n]&&o(e,132,n),r=r.$;t["$"+n]=1}(e,s,a),j(e,32768|t);return re(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?rt(e,t,le(n,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):Pe(e,t,n,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function we(e,t,n,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=nt(e,t,0);if(21===e.token)return ve(e,t,n,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||o(e,119),rt(e,t,n,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=ht(e,t,1,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),xe(e,t,p,i,l,c)}return 67174411===e.token?p=Pt(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ge(e,t,u,1),p=ft(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=ze(e,t,p,0,0,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),p=Ge(e,t,0,0,i,l,c,p),e.assignable=1,xe(e,t,p,i,l,c)}function qe(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=ze(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Ge(e,t,0,0,r,s,a,n),18===e.token&&(n=Be(e,t,0,r,s,a,n))),$(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function Ce(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?Pe(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):rt(e,t,le(n,2),0,0,0,0,r,s,a)}function Ee(e,t,n,o){return Pe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ae(e,t,n,o,r,s,a,i){j(e,t);const l=De(e,t,n,o,r);return $(e,32768|t),re(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Se(e,t,n,o,r,s,a){j(e,t);const i=De(e,t,n,4,o);return $(e,32768|t),re(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,r,s){let a=1;const i=[Le(e,t,n,r,s)];for(;W(e,t,18);)a++,i.push(Le(e,t,n,r,s));return a>1&&32&s&&262144&e.token&&o(e,58,T[255&e.token]),i}function Le(e,t,n,r,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=At(e,t,n,r,a,l,c,u);return 1077936157===e.token?(j(e,32768|t),d=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&r)<1||1024&t))&&s(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&r||(2097152&i)>0)&&262144!=(262144&e.token)&&o(e,56,16&r?"const":"destructuring"),re(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ve(e,t,n){return ke(t,e.token)||o(e,114),537079808==(537079808&e.token)&&o(e,115),n&&ue(e,t,n,e.tokenValue,8,0),nt(e,t,0)}function Te(e,t,n){const{tokenPos:o,linePos:r,colPos:a}=e;return j(e,t),K(e,t,77934),134217728==(134217728&e.token)&&s(o,e.line,e.index,28,T[255&e.token]),re(e,t,o,r,a,{type:"ImportNamespaceSpecifier",local:Ve(e,t,n)})}function Re(e,t,n,r){for(j(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=nt(e,t,0);let d;W(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?o(e,103):ee(e,t,16,e.token,0),a=e.tokenValue,d=nt(e,t,0)):(ee(e,t,16,s,0),d=u),n&&ue(e,t,n,a,8,0),r.push(re(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&K(e,t,18)}return K(e,t,1074790415),r}function Ne(e,t,n,o,r){let s=$e(e,t,re(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=ze(e,t,s,0,0,n,o,r),s=Ge(e,t,0,0,n,o,r,s),xe(e,t,s,n,o,r)}function Ie(e,t,n,o,r){let s=Ye(e,t,0,n,o,r);return s=ze(e,t,s,0,0,n,o,r),xe(e,t,s,n,o,r)}function Ue(e,t,n,o,r,s,a,i){let l=_e(e,t,2,0,n,o,r,1,s,a,i);return l=ze(e,t,l,r,0,s,a,i),Ge(e,t,r,0,s,a,i,l)}function Be(e,t,n,o,r,s,a){const i=[a];for(;W(e,32768|t,18);)i.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Oe(e,t,n,o,r,s,a){const i=Ue(e,t,o,0,n,r,s,a);return 18===e.token?Be(e,t,n,r,s,a,i):i}function Ge(e,t,n,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&o(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&Q(e,l),j(e,32768|t);const u=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:T[255&c],right:u})}return 8454144==(8454144&c)&&(l=He(e,t,n,s,a,i,4,c,l)),W(e,32768|t,22)&&(l=Fe(e,t,l,s,a,i)),l}function je(e,t,n,o,r,s,a,i){const{token:l}=e;j(e,32768|t);const c=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:T[255&l],right:c}),e.assignable=2,i}function Fe(e,t,n,o,r,s){const a=Ue(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,21),e.assignable=1;const i=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function He(e,t,n,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&o(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)j(e,32768|t),c=re(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:He(e,t,n,e.tokenPos,e.linePos,e.colPos,p,d,Me(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:T[255&d]});return 1077936157===e.token&&o(e,24),c}function Je(e,t,n,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;K(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:r,token:a}=e,i=ot(e,t);Y(e,n,o,r)&&(t|=1024,128&e.flags&&s(e.index,e.line,e.tokenPos,63),64&e.flags&&s(e.index,e.line,e.tokenPos,8)),p.push(qe(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&o(e,115),36864==(36864&i)&&o(e,38)),512&e.flags&&o(e,115),256&e.flags&&o(e,114)),64&t&&n&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&r(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(he(e,t,n,4,{}));return K(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&o(e,24),re(e,t,c,u,d,{type:"BlockStatement",body:p})}function Me(e,t,n,o,r,s,a,i){return ze(e,t,_e(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function ze(e,t,n,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)n=function(e,t,n,r,s,a){2&e.assignable&&o(e,52);const{token:i}=e;return j(e,t),e.assignable=2,re(e,t,r,s,a,{type:"UpdateExpression",argument:n,operator:T[255&i],prefix:!1})}(e,t,n,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:j(e,1073741824|t),e.assignable=1;n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!1,property:Xe(e,t)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),j(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Oe(e,t,r,1,s,c,u);K(e,t,20),e.assignable=1,n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!0,property:d}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const s=tt(e,t,r);e.assignable=2,n=re(e,t,a,i,l,{type:"CallExpression",callee:n,arguments:s}),o&&(e.flags|=2048);break}case 67108991:j(e,t),e.flags|=2048,e.assignable=2,n=function(e,t,n,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){j(e,32768|t);const{tokenPos:o,linePos:l,colPos:c}=e,u=Oe(e,t,0,1,o,l,c);K(e,t,20),e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const o=tt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"CallExpression",callee:n,arguments:o,optional:!0})}else{(143360&e.token)<1&&o(e,154);const l=nt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,n,a,i,l);break;default:2048==(2048&e.flags)&&o(e,160),e.assignable=2,n=re(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Ke(e,65536|t):We(e,t,e.tokenPos,e.linePos,e.colPos)})}n=ze(e,t,n,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,a,i,l,{type:"ChainExpression",expression:n})),n}function Xe(e,t){return(143360&e.token)<1&&131!==e.token&&o(e,154),1&t&&131===e.token?Ct(e,t,e.tokenPos,e.linePos,e.colPos):nt(e,t,0)}function _e(e,t,n,r,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,r,a,i,l){if(r&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&o(e,0),8388608&t&&s(e.index,e.line,e.index,29),j(e,32768|t);const r=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&o(e,31),e.assignable=2,re(e,t,a,i,l,{type:"AwaitExpression",argument:r})}return 2048&t&&o(e,95),pt(e,t,a,i,l)}(e,t,r,l,u,d,p);case 241773:return function(e,t,n,r,s,a,i){if(n&&(e.destructible|=256),2097152&t){j(e,32768|t),8388608&t&&o(e,30),r||o(e,24),22===e.token&&o(e,120);let n=null,l=!1;return(1&e.flags)<1&&(l=W(e,32768|t,8457014),(77824&e.token||l)&&(n=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,s,a,i,{type:"YieldExpression",argument:n,delegate:l})}return 1024&t&&o(e,94,"yield"),pt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,n,r,s,a,i,l,c,u){const{token:d}=e,p=nt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return st(e,t,1,n,l,c,u);if(143360==(143360&e.token))return r||o(e,0),ht(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ge(e,t,d,1),i&&o(e,48),ft(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:Pt(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,r,u,d,p)}const{token:f,tokenValue:k}=e,g=nt(e,65536|t,i);return 10===e.token?(c||o(e,0),ge(e,t,f,1),ft(e,t,k,g,r,a,0,u,d,p)):(16384&t&&537079928===f&&o(e,126),241739===f&&(1024&t&&o(e,109),24&n&&o(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ot(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,r,s,a,i){n&&o(e,53),r||o(e,0);const{token:l}=e;j(e,32768|t);const c=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&o(e,52),e.assignable=2,re(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:T[255&l],prefix:!0})}(e,t,r,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,r,s,a,i){n||o(e,0);const l=e.token;j(e,32768|t);const c=Me(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&o(e,31),1024&t&&16863278===l&&("Identifier"===c.type?o(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&o(e,123)),e.assignable=2,re(e,t,r,s,a,{type:"UnaryExpression",operator:T[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return st(e,t,0,l,u,d,p);case 2162700:return function(e,t,n,r,s,a,i){const l=ut(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,n,r,s,a,i){const l=at(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,n,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;j(e,1073774592|t);const p=64&t?le({parent:void 0,type:2},1024):void 0;if(W(e,t=134217728^(134217728|t),16))return kt(e,t,p,[],n,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:n,tokenPos:a,linePos:i,colPos:l}=e;if(143360&n)p&&ue(e,t,p,e.tokenValue,1,0),f=_e(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&n)&&36864!=(36864&n)||(b=1):(1077936157===e.token?b=1:k|=16,f=ze(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Ge(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&n)){if(14===n){f=lt(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&o(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ue(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;W(e,32768|t,18);)g.push(Ue(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return K(e,t,16),e.destructible=k,f}f=2162700===n?ut(e,1073741824|t,p,0,1,0,r,s,a,i,l):at(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&o(e,118),f=ze(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Ge(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!W(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));K(e,t,16),16&k&&8&k&&o(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&o(e,46),4196352&t&&128&k&&o(e,29),2098176&t&&256&k&&o(e,30),b&&(e.flags|=128),kt(e,t,p,m?g:[f],n,0,a,i,l);8&k&&o(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?re(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=T[255&e.token],a=86023===e.token?null:"true"===s;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,n,r,s,a){let i=null,l=null;const c=xt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);j(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&o(e,114),537079808==(537079808&e.token)&&o(e,115),i=nt(e,t,0));let u=t;W(e,32768|t,20567)?(l=Me(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=wt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,n,r,s){switch(j(e,t),e.token){case 67108991:o(e,161);case 67174411:(524288&t)<1&&o(e,26),16384&t&&o(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&o(e,27),16384&t&&o(e,143),e.assignable=1;break;default:o(e,28,"super")}return re(e,t,n,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return We(e,t,u,d,p);case 67174408:return Ke(e,t);case 86109:return function(e,t,n,r,s,a){const i=nt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(W(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=nt(e,t,0);return re(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);o(e,91)}e.assignable=2,16842752==(16842752&e.token)&&o(e,62,T[255&e.token]);const d=_e(e,t,2,1,0,0,n,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&o(e,162);const p=bt(e,t,d,n,l,c,u);return e.assignable=2,re(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?tt(e,t,n):[]})}(e,t,l,u,d,p);case 134283389:return Ze(e,t,u,d,p);case 131:return Ct(e,t,u,d,p);case 86108:return function(e,t,n,r,s,a,i){let l=nt(e,t,0);if(67108877===e.token)return $e(e,t,l,s,a,i);n&&o(e,137);return l=Ye(e,t,r,s,a,i),e.assignable=2,ze(e,t,l,r,0,s,a,i)}(e,t,r,l,u,d,p);case 8456258:if(16&t)return Dt(e,t,1,u,d,p);default:if(ke(t,e.token))return pt(e,t,u,d,p);o(e,28,T[255&e.token])}}function $e(e,t,n,r,s,a){return 0==(2048&t)&&o(e,163),j(e,t),143495!==e.token&&"meta"!==e.tokenValue&&o(e,28,T[255&e.token]),e.assignable=2,re(e,t,r,s,a,{type:"MetaProperty",meta:n,property:nt(e,t,0)})}function Ye(e,t,n,r,s,a){K(e,32768|t,67174411),14===e.token&&o(e,138);const i=Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,16),re(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ze(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function We(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;K(e,t,67174409);return re(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Qe(e,t,s,a,i,l,c,!0)]})}function Ke(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408);const l=[Qe(e,t,n,r,s,a,i,!1)],c=[Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&o(e,80);67174409!==(e.token=D(e,t));){const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408),l.push(Qe(e,t,n,r,s,a,i,!1)),c.push(Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&o(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;K(e,t,67174409),l.push(Qe(e,t,n,o,r,s,a,!0))}return re(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Qe(e,t,n,o,r,s,a,i){const l=re(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function et(e,t,n,o,r){K(e,32768|(t=134217728^(134217728|t)),14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,o,r,{type:"SpreadElement",argument:s})}function tt(e,t,n){j(e,32768|t);const o=[];if(16===e.token)return j(e,t),o;for(;16!==e.token&&(14===e.token?o.push(et(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(j(e,32768|t),16!==e.token););return K(e,t,16),o}function nt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return j(e,t),re(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function ot(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ze(e,t,r,s,a):(j(e,t),e.assignable=2,re(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function rt(e,t,n,r,s,a,i,l,c,u){j(e,32768|t);const d=s?Z(e,t,8457014):0;let p,f=null,k=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&o(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&s?de(e,t,n,e.tokenValue,s):ue(e,t,n,e.tokenValue,s,r),k=le(k,256),a&&2&a&&pe(e,e.tokenValue)),p=e.token,143360&e.token?f=nt(e,t,0):o(e,28,T[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),n&&(k=le(k,512));return re(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:mt(e,8388608|t,k,0,1),body:Je(e,143360^(143360|t),n?le(k,128):k,8,p,n?k.scopeError:void 0),async:1===i,generator:1===d})}function st(e,t,n,o,r,s,a){j(e,32768|t);const i=Z(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|l,e.token),d&&(d=le(d,256)),c=e.token,u=nt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=le(d,512));const p=mt(e,8388608|t,d,o,1),f=Je(e,-134377473&t,d?le(d,128):d,0,c,void 0);return e.assignable=2,re(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function at(e,t,n,r,s,a,i,l,c,u,d){j(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(W(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=_e(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&o(e,24),j(e,32768|t),n&&ce(e,t,n,g,i,l);const c=Ue(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=re(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:n&&ce(e,t,n,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=ze(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Ge(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ut(e,t,n,0,s,a,i,l,u,d,k):at(e,t,n,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?o(e,68):(r=ze(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Ge(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=lt(e,t,n,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&o(e,28,T[255&e.token])):(r=Me(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Ge(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!W(e,32768|t,18))break;if(20===e.token)break}K(e,t,20);const k=re(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?it(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function it(e,t,n,r,s,a,i,l,c){1077936157!==e.token&&o(e,24),j(e,32768|t),16&n&&o(e,24),s||Q(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ue(e,t,1,1,r,u,d,p);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function lt(e,t,n,r,s,a,i,l,c,u,d,p){j(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=_e(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=ze(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&o(e,68),k|=16,f=Ge(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?n&&ce(e,t,n,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)o(e,39);else{if(!(2097152&g)){k|=32,f=Me(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===n&&n!==r&&18!==n?(2&e.assignable&&o(e,24),f=Ge(e,t,l,c,s,a,i,f),k|=16):(18===n?k|=16:n!==r&&(f=Ge(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&o(e,155),re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ut(e,t,n,1,l,c,s,a,b,h,P):at(e,t,n,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&o(e,68),f=ze(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Ge(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=He(e,t,1,b,h,P,4,g,f)),W(e,32768|t,22)&&(f=Fe(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),W(e,32768|t,1077936157)){16&k&&o(e,24),Q(e,f);const n=Ue(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=re(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:n}:{type:"AssignmentExpression",left:f,operator:"=",right:n}),k=16}else k|=16;return e.destructible=k,re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function ct(e,t,n,s,a,i,l){const c=(64&n)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&n)<<18|100925440)?le({parent:void 0,type:2},512):void 0;const d=function(e,t,n,s,a,i){K(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&o(e,35,"Setter","one",""),j(e,t),l;256&s&&o(e,35,"Getter","no","s");512&s&&14===e.token&&o(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=St(e,t,n,1|s,0,d,p,f)):(2162700===e.token?r=ut(e,t,n,1,i,1,a,0,d,p,f):69271571===e.token?r=at(e,t,n,1,i,1,a,0,d,p,f):14===e.token&&(r=lt(e,t,n,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&o(e,47)),1077936157===e.token){j(e,32768|t),u=1;r=re(e,t,d,p,f,{type:"AssignmentPattern",left:r,right:Ue(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(r),!W(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&o(e,35,"Setter","one","");n&&void 0!==n.scopeError&&r(n.scopeError);u&&(e.flags|=128);return K(e,t,16),l}(e,8388608|t,u,n,1,s);u&&(u=le(u,128));return re(e,t,a,i,l,{type:"FunctionExpression",params:d,body:Je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function ut(e,t,n,r,a,i,l,c,u,d,p){j(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:r,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===r)f.push(lt(e,t,n,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=nt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&r)?k|=16:ee(e,t,l,r,0),n&&ce(e,t,n,u,l,c),W(e,32768|t,1077936157)){k|=8;const n=Ue(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=re(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===r?128:0)|(121===r?16:0),b=-2147483648&t?Object.assign({},P):P;else if(W(e,32768|t,21)){const{tokenPos:s,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const o=e.token,r=e.tokenValue;k|=121===y?16:0,b=_e(e,t,l,0,1,0,a,1,s,d,p);const{token:u}=e;b=ze(e,t,b,a,0,s,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:n&&143360==(143360&o)&&ce(e,t,n,r,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:n&&ce(e,t,n,r,l,c),b=Ge(e,t,a,i,s,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,u,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,d,p):ut(e,t,n,0,a,i,l,c,s,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?o(e,68):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=je(e,t,a,i,s,d,p,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,d,p)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,a,1,s,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==r&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,d,p,b))))}else 69271571===e.token?(k|=16,209007===r&&(h|=16),h|=2|(12402===r?256:12403===r?512:1),P=dt(e,t,a),k|=e.assignable,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===r&&o(e,92),209007===r&&(1&e.flags&&o(e,128),h|=16),P=nt(e,t,0),h|=12402===r?256:12403===r?512:1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===r||12403===r?o(e,40):143483===r&&o(e,92),j(e,t),h|=9|(209007===r?16:0),143360&e.token?P=nt(e,t,0):134217728==(134217728&e.token)?P=ot(e,t):69271571===e.token?(h|=2,P=dt(e,t,a),k|=e.assignable):o(e,28,T[255&e.token]),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===r&&(h|=16),h|=12402===r?256:12403===r?512:1,k|=16,P=ot(e,t),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,129);else if(134217728==(134217728&e.token))if(P=ot(e,t),21===e.token){K(e,32768|t,21);const{tokenPos:o,linePos:s,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=_e(e,t,l,0,1,0,a,1,o,s,d);const{token:r,tokenValue:u}=e;b=ze(e,t,b,a,0,o,s,d),18===e.token||1074790415===e.token?1077936157===r||1074790415===r||18===r?2&e.assignable?k|=16:n&&ce(e,t,n,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Ge(e,t,a,i,o,s,d,b)):(k|=16,b=Ge(e,t,a,i,o,s,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,o,s,d):ut(e,t,n,0,a,i,l,c,o,s,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=ze(e,t,b,a,0,o,s,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=je(e,t,a,i,o,s,d,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,o,s,d,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,o,s,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,o,s,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,o,s,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,o,s,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):o(e,130);else if(69271571===e.token)if(P=dt(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){j(e,32768|t);const{tokenPos:s,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=_e(e,t,l,0,1,0,a,1,s,u,d);const{token:o}=e;b=ze(e,t,b,a,0,s,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===o?0:32,b=je(e,t,a,i,s,u,d,b)):18===e.token||1074790415===e.token?1077936157===o||1074790415===o||18===o?2&e.assignable?k|=16:n&&143360==(143360&f)&&ce(e,t,n,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Ge(e,t,a,i,s,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,u,d):ut(e,t,n,0,a,i,l,c,s,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?o(e,59):(b=ze(e,t,b,a,0,s,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=je(e,t,a,i,s,u,d,b)):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,u,d,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,u,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,s,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,u,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,d,p),k=16):o(e,41);else if(8457014===r)if(K(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:r}=e;P=nt(e,t,0),h|=1,67174411===e.token?(k|=16,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):s(r,o,r,209007===n?43:12402===n||12403===e.token?42:44,T[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=ot(e,t),h|=1,b=ct(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=dt(e,t,a),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,122);else o(e,28,T[255&r]);k|=128&e.destructible?128:0,e.destructible=k,f.push(re(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;j(e,t)}K(e,t,1074790415),g>1&&(k|=64);const m=re(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!r&&4194304&e.token?it(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function dt(e,t,n){j(e,32768|t);const o=Ue(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,20),o}function pt(e,t,n,o,r){const{tokenValue:s}=e,a=nt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=ae(e,t,s)),e.flags=128^(128|e.flags),gt(e,t,i,[a],0,n,o,r)}return a}function ft(e,t,n,r,s,a,i,l,c,u){a||o(e,54),s&&o(e,48),e.flags&=-129;return gt(e,t,64&t?ae(e,t,n):void 0,[r],i,l,c,u)}function kt(e,t,n,r,s,a,i,l,c){s||o(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&o(e,106),1074790415===e.token&&o(e,105),W(e,t,1074790417)?a>0&&o(e,116):d.push(qt(e,t,r,n,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return K(e,8&a?32768|t:t,1074790415),re(e,t,l,c,u,{type:"ClassBody",body:d})}function qt(e,t,n,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=nt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return qt(e,t,n,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=16|(Z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=dt(e,r,l)):134217728==(134217728&k)?f=ot(e,t):8457014===k?(p|=8,j(e,t)):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=nt(e,t,0),67174411!==e.token&&o(e,28,T[255&e.token])):o(e,28,T[255&e.token]);if(792&p&&(143360&e.token?f=nt(e,t,0):134217728==(134217728&e.token)?f=ot(e,t):69271571===e.token?(p|=2,f=dt(e,t,0)):122===e.token?f=nt(e,t,0):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b)):o(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?o(e,125):(32&p)<1&&67174411===e.token&&(920&p?o(e,50,"accessor"):(524288&t)<1&&(32&e.flags?o(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&o(e,49)),1&t&&67174411!==e.token)return Et(e,t,f,p,a,g,m,b);const h=ct(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return re(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Ct(e,t,n,r,s){j(e,t);const{tokenValue:a}=e;return"constructor"===a&&o(e,124),j(e,t),re(e,t,n,r,s,{type:"PrivateIdentifier",name:a})}function Et(e,t,n,r,s,a,i,l){let c=null;if(8&r&&o(e,0),1077936157===e.token){j(e,32768|t);const{tokenPos:n,linePos:r,colPos:s}=e;537079928===e.token&&o(e,115),c=_e(e,16384|t,2,0,1,0,0,1,n,r,s),1073741824!=(1073741824&e.token)&&(c=ze(e,16384|t,c,0,0,n,r,s),c=Ge(e,16384|t,0,0,n,r,s,c),18===e.token&&(c=Be(e,t,0,a,i,l,c)))}return re(e,t,a,i,l,{type:"PropertyDefinition",key:n,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function At(e,t,n,r,s,a,i,l){if(143360&e.token)return St(e,t,n,r,s,a,i,l);2097152!=(2097152&e.token)&&o(e,28,T[255&e.token]);const c=69271571===e.token?at(e,t,n,1,0,1,r,s,a,i,l):ut(e,t,n,1,0,1,r,s,a,i,l);return 16&e.destructible&&o(e,47),32&e.destructible&&o(e,47),c}function St(e,t,n,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?o(e,115):36864==(36864&u)&&o(e,114)),20480==(20480&u)&&o(e,99),2099200&t&&241773===u&&o(e,30),241739===u&&24&r&&o(e,97),4196352&t&&209008===u&&o(e,95),j(e,t),n&&ce(e,t,n,c,r,s),re(e,t,a,i,l,{type:"Identifier",name:c})}function Dt(e,t,n,r,s,a){if(j(e,t),8456259===e.token)return re(e,t,r,s,a,{type:"JSXFragment",openingFragment:Lt(e,t,r,s,a),children:Tt(e,t),closingFragment:Vt(e,t,n,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,n,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&o(e,0);const i=Nt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Ut(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?X(e,t):(K(e,t,8457016),n?K(e,t,8456259):X(e,t));return re(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,n,r,s,a);if(!c.selfClosing){l=Tt(e,t),i=function(e,t,n,o,r,s){K(e,t,25);const a=Nt(e,t,e.tokenPos,e.linePos,e.colPos);n?K(e,t,8456259):e.token=X(e,t);return re(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const r=se(i.name);se(c.name)!==r&&o(e,149,r)}return re(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Lt(e,t,n,o,r){return X(e,t),re(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Vt(e,t,n,o,r,s){return K(e,t,25),K(e,t,8456259),re(e,t,o,r,s,{type:"JSXClosingFragment"})}function Tt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Rt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Rt(e,t,n,r,s){return 138===e.token?function(e,t,n,o,r){X(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return re(e,t,n,o,r,s)}(e,t,n,r,s):2162700===e.token?Ot(e,t,0,0,n,r,s):8456258===e.token?Dt(e,t,0,n,r,s):void o(e,0)}function Nt(e,t,n,o,r){_(e);let s=Gt(e,t,n,o,r);if(21===e.token)return Bt(e,t,s,n,o,r);for(;W(e,t,67108877);)_(e),s=It(e,t,s,n,o,r);return s}function It(e,t,n,o,r,s){return re(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ut(e,t,n,r,s){if(2162700===e.token)return function(e,t,n,o,r){j(e,t),K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,n,r,s);_(e);let a=null,i=Gt(e,t,n,r,s);if(21===e.token&&(i=Bt(e,t,i,n,r,s)),1077936157===e.token){const n=z(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(n){case 134283267:a=ot(e,t);break;case 8456258:a=Dt(e,t,1,r,s,i);break;case 2162700:a=Ot(e,t,1,1,r,s,i);break;default:o(e,148)}}return re(e,t,n,r,s,{type:"JSXAttribute",value:a,name:i})}function Bt(e,t,n,o,r,s){K(e,t,21);return re(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ot(e,t,n,r,s,a,i){j(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&o(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ue(e,t,1,0,0,l,c,u),n?K(e,t,1074790415):X(e,t),re(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Gt(e,t,n,o,r){const{tokenValue:s}=e;return j(e,t),re(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var jt=Object.freeze({__proto__:null});e.ESTree=jt,e.parse=function(e,t){return me(e,t,0)},e.parseModule=function(e,t){return me(e,t,3072)},e.parseScript=function(e,t){return me(e,t,0)},e.version="4.2.0",Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/node_modules/meriyah/dist/meriyah.umd.min.js b/node_modules/meriyah/dist/meriyah.umd.min.js new file mode 100644 index 0000000..0595799 --- /dev/null +++ b/node_modules/meriyah/dist/meriyah.umd.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).meriyah={})}(this,(function(e){"use strict";const t={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class n extends SyntaxError{constructor(e,n,o,r,...s){const a="["+n+":"+o+"]: "+t[r].replace(/%(\d+)/g,((e,t)=>s[t]));super(`${a}`),this.index=e,this.line=n,this.column=o,this.description=a,this.loc={line:n,column:o}}}function o(e,t,...o){throw new n(e.index,e.line,e.column,t,...o)}function r(e){throw new n(e.index,e.line,e.column,e.type,e.params)}function s(e,t,o,r,...s){throw new n(e,t,o,r,...s)}function a(e,t,o,r){throw new n(e,t,o,r)}const i=((e,t)=>{const n=new Uint32Array(104448);let o=0,r=0;for(;o<3540;){const s=e[o++];if(s<0)r-=s;else{let a=e[o++];2&s&&(a=t[a]),1&s?n.fill(a,r,r+=e[o++]):n[r++]=a}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function l(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function c(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&i[0+(t>>>5)]>>>t)&&o(e,18,p(t)),e.index++,e.column++,1)}function u(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function d(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function f(e){return e<65?e-48:e-65+10&15}const k=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function b(e){return e<=127?g[e]:1&i[34816+(e>>>5)]>>>e}function h(e){return e<=127?m[e]:1&i[0+(e>>>5)]>>>e||8204===e||8205===e}const P=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function y(e,t,n,r,s,a,i,l){return 2048&r&&o(e,0),x(e,t,n,s,a,i,l)}function x(e,t,n,o,r,s,a){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return o(e,32)}const s=e.index-1;let a=0,i=e.currentChar;const{index:c}=e;for(;h(i);){switch(i){case 103:2&a&&o(e,34,"g"),a|=2;break;case 105:1&a&&o(e,34,"i"),a|=1;break;case 109:4&a&&o(e,34,"m"),a|=4;break;case 117:16&a&&o(e,34,"g"),a|=16;break;case 121:8&a&&o(e,34,"y"),a|=8;break;case 115:12&a&&o(e,34,"s"),a|=12;break;default:o(e,33)}i=l(e)}const u=e.source.slice(c,e.index),d=e.source.slice(n,s);return e.tokenRegExp={pattern:d,flags:u},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(t){o(e,32)}}(e,d,u),65540}function q(e,t,n){const{index:r}=e;let s="",a=l(e),i=e.index;for(;0==(8&k[a]);){if(a===n)return s+=e.source.slice(i,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=s,134283267;if(8==(8&a)&&92===a){if(s+=e.source.slice(i,e.index),a=l(e),a<127||8232===a||8233===a){const n=C(e,t,a);n>=0?s+=p(n):E(e,n,0)}else s+=p(a);i=e.index+1}e.index>=e.end&&o(e,14),a=l(e)}o(e,14)}function C(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&k[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&k[n]))return-4;const o=e.source.charCodeAt(e.index+2);if(0==(64&k[o]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&k[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),f(t)<<12|f(n)<<8|f(o)<<4|f(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function E(e,t,n){switch(t){case-1:return;case-2:o(e,n?2:1);case-3:o(e,13);case-4:o(e,6);case-5:o(e,101)}}function A(e,t){const{index:n}=e;let r=67174409,s="",a=l(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){l(e),r=67174408;break}if(8==(8&a)&&92===a)if(a=l(e),a>126)s+=p(a);else{const n=C(e,1024|t,a);if(n>=0)s+=p(n);else{if(-1!==n&&65536&t){s=void 0,a=S(e,a),a<0&&(r=67174408);break}E(e,n,1)}}else e.index=e.end&&o(e,15),a=l(e)}return l(e),e.tokenValue=s,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function S(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&o(e,15),t=l(e)}return t}function D(e,t){return e.index>=e.end&&o(e,0),e.index--,e.column--,A(e,t)}function L(e,t,n){let r=e.currentChar,s=0,i=9,c=64&n?0:1,u=0,d=0;if(64&n)s="."+V(e,r),r=e.currentChar,110===r&&o(e,11);else{if(48===r)if(r=l(e),120==(32|r)){for(n=136,r=l(e);4160&k[r];)95!==r?(d=1,s=16*s+f(r),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?19:147)}else if(111==(32|r)){for(n=132,r=l(e);4128&k[r];)95!==r?(d=1,s=8*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(98==(32|r)){for(n=130,r=l(e);4224&k[r];)95!==r?(d=1,s=2*s+(r-48),u++,r=l(e)):(d||o(e,146),d=0,r=l(e));(u<1||!d)&&o(e,u<1?0:147)}else if(32&k[r])for(1024&t&&o(e,1),n=1;16&k[r];){if(512&k[r]){n=32,c=0;break}s=8*s+(r-48),r=l(e)}else 512&k[r]?(1024&t&&o(e,1),e.flags|=64,n=32):95===r&&o(e,0);if(48&n){if(c){for(;i>=0&&4112&k[r];)95!==r?(d=0,s=10*s+(r-48),r=l(e),--i):(r=l(e),(95===r||32&n)&&a(e.index,e.line,e.index+1,146),d=1);if(d&&a(e.index,e.line,e.index+1,147),i>=0&&!b(r)&&46!==r)return e.tokenValue=s,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}s+=V(e,r),r=e.currentChar,46===r&&(95===l(e)&&o(e,0),n=64,s+="."+V(e,e.currentChar),r=e.currentChar)}}const p=e.index;let g=0;if(110===r&&128&n)g=1,r=l(e);else if(101==(32|r)){r=l(e),256&k[r]&&(r=l(e));const{index:t}=e;(16&k[r])<1&&o(e,10),s+=e.source.substring(p,t)+V(e,r),r=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],R=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function N(e,t,n){for(;m[l(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?R[e.tokenValue]||208897:U(e,t,0,n)}function I(e,t){const n=O(e);return h(n)||o(e,4),e.tokenValue=p(n),U(e,t,1,4&k[n])}function U(e,t,n,r){let s=e.index;for(;e.index=2&&a<=11){const o=R[e.tokenValue];return void 0===o?208897:n?1024&t?209008===o&&0==(4196352&t)?o:36972===o||36864==(36864&o)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&o)?o:241773===o?1073741824&t?143483:2097152&t?121:o:209007===o&&1073741824&t?143483:36864==(36864&o)||209008===o&&0==(4194304&t)?o:121:o}return 208897}function B(e){return b(l(e))||o(e,93),131}function O(e){return 117!==e.source.charCodeAt(e.index+1)&&o(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&k[l(e)];)t=t<<4|f(e.currentChar),t>1114111&&a(n,e.line,e.index+1,101);return 125!==e.currentChar&&a(n,e.line,e.index-1,6),l(e),t}0==(64&k[n])&&o(e,6);const r=e.source.charCodeAt(e.index+1);0==(64&k[r])&&o(e,6);const s=e.source.charCodeAt(e.index+2);0==(64&k[s])&&o(e,6);const i=e.source.charCodeAt(e.index+3);0==(64&k[i])&&o(e,6);return t=f(n)<<12|f(r)<<8|f(s)<<4|f(i),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function j(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=F(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function F(e,t,n){const r=0===e.index,s=e.source;let a=e.index,c=e.line,f=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(l(e),4194340):42!==t?8457014:61!==l(e)?8457273:(l(e),4194337)}case 8455497:return 61!==l(e)?8455497:(l(e),4194343);case 25233970:{l(e);const t=e.currentChar;return 43===t?(l(e),33619995):61===t?(l(e),4194338):25233970}case 25233971:{l(e);const i=e.currentChar;if(45===i){if(l(e),(1&n||r)&&62===e.currentChar){0==(256&t)&&o(e,108),l(e),n=y(e,s,n,t,3,a,c,f),a=e.tokenPos,c=e.linePos,f=e.colPos;continue}return 33619996}return 61===i?(l(e),4194339):25233971}case 8457016:if(l(e),e.index=48&&k<=57)return L(e,t,80);if(46===k){const t=e.index+1;if(t=48&&t<=57)))return l(e),67108991}return 22}}}else{if((8232^g)<=1){n=-5&n|1,d(e);continue}if(55296==(64512&g)||0!=(1&i[34816+(g>>>5)]>>>g))return 56320==(64512&g)&&(g=(1023&g)<<10|1023&g|65536,0==(1&i[0+(g>>>5)]>>>g)&&o(e,18,p(g)),e.index++,e.currentChar=g),e.column++,e.tokenValue="",U(e,t,0,0);if(160===(k=g)||65279===k||133===k||5760===k||k>=8192&&k<=8203||8239===k||8287===k||12288===k||8201===k||65519===k){l(e);continue}o(e,18,p(g))}}var k;return 1048576}const H={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},J={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function M(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(e=>{if("#"===e.charAt(1)){const t=e.charAt(2);return function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in J&&(e=J[e]);return String.fromCodePoint(e)}("X"===t||"x"===t?parseInt(e.slice(3),16):parseInt(e.slice(2),10))}return H[e.slice(1,-1)]||e}))}function z(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&k[e.currentChar]?function(e,t){const n=e.currentChar;let r=l(e);const s=e.index;for(;r!==n;)e.index>=e.end&&o(e,14),r=l(e);r!==n&&o(e,14);e.tokenValue=e.source.slice(s,e.index),l(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,t):F(e,t,0),e.token}function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:l(e),47===e.currentChar?(l(e),e.token=25):e.token=8456258;break;case 2162700:l(e),e.token=2162700;break;default:{let n=0;for(;e.index0&&W(e,t,209008);K(e,32768|t,67174411),n&&(n=le(n,1));let c,u=null,d=null,p=0,f=null,k=86090===e.token||241739===e.token||86092===e.token;const{token:g,tokenPos:m,linePos:b,colPos:h}=e;k?241739===g?(f=nt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&o(e,64):f=re(e,t,m,b,h,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?o(e,64):(k=!1,e.assignable=1,f=ze(e,t,f,0,0,m,b,h),274549===e.token&&o(e,111))):(j(e,t),f=re(e,t,m,b,h,86090===g?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===g?l&&o(e,79):2097152==(2097152&g)?(f=2162700===g?ut(e,t,void 0,1,0,0,2,32,m,b,h):at(e,t,void 0,1,0,0,2,32,m,b,h),p=e.destructible,256&t&&64&p&&o(e,60),e.assignable=16&p?2:1,f=ze(e,134217728|t,f,0,0,e.tokenPos,e.linePos,e.colPos)):f=Me(e,134217728|t,1,0,1,m,b,h);if(262144==(262144&e.token)){if(274549===e.token){2&e.assignable&&o(e,77,l?"await":"of"),Q(e,f),j(e,32768|t),c=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForOfStatement",left:f,right:c,body:Ee(e,t,n,r),await:l})}2&e.assignable&&o(e,77,"in"),Q(e,f),j(e,32768|t),l&&o(e,79),c=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),K(e,32768|t,16);return re(e,t,s,a,i,{type:"ForInStatement",body:Ee(e,t,n,r),left:f,right:c})}l&&o(e,79);k||(8&p&&1077936157!==e.token&&o(e,77,"loop"),f=Ge(e,134217728|t,0,0,m,b,h,f));18===e.token&&(f=Be(e,t,0,e.tokenPos,e.linePos,e.colPos,f));K(e,32768|t,1074790417),1074790417!==e.token&&(u=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,1074790417),16!==e.token&&(d=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos));K(e,32768|t,16);const P=Ee(e,t,n,r);return re(e,t,s,a,i,{type:"ForStatement",init:f,test:u,update:d,body:P})}(e,t,n,s,i,l,c);case 20564:return function(e,t,n,o,r,s,a){j(e,32768|t);const i=Ee(e,t,n,o);K(e,t,20580),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return K(e,32768|t,16),W(e,t,1074790417),re(e,t,r,s,a,{type:"DoWhileStatement",body:i,test:l})}(e,t,n,s,i,l,c);case 20580:return function(e,t,n,o,r,s,a){j(e,t),K(e,32768|t,67174411);const i=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const l=Ee(e,t,n,o);return re(e,t,r,s,a,{type:"WhileStatement",test:i,body:l})}(e,t,n,s,i,l,c);case 86112:return function(e,t,n,r,s,a,i){j(e,t),K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,t,16),K(e,t,2162700);const c=[];let u=0;n&&(n=le(n,8));for(;1074790415!==e.token;){const{tokenPos:s,linePos:a,colPos:i}=e;let l=null;const d=[];for(W(e,32768|t,20558)?l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):(K(e,32768|t,20563),u&&o(e,86),u=1),K(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)d.push(he(e,4096|t,n,2,{$:r}));c.push(re(e,t,s,a,i,{type:"SwitchCase",test:l,consequent:d}))}return K(e,32768|t,1074790415),re(e,t,s,a,i,{type:"SwitchStatement",discriminant:l,cases:c})}(e,t,n,s,i,l,c);case 1074790417:return function(e,t,n,o,r){return j(e,32768|t),re(e,t,n,o,r,{type:"EmptyStatement"})}(e,t,i,l,c);case 2162700:return ye(e,t,n?le(n,2):n,s,i,l,c);case 86114:return function(e,t,n,r,s){j(e,32768|t),1&e.flags&&o(e,87);const a=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t),re(e,t,n,r,s,{type:"ThrowStatement",argument:a})}(e,t,i,l,c);case 20557:return function(e,t,n,r,s,a){j(e,32768|t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,0)||o(e,134,r)}else(135168&t)<1&&o(e,66);return $(e,32768|t),re(e,t,r,s,a,{type:"BreakStatement",label:i})}(e,t,s,i,l,c);case 20561:return function(e,t,n,r,s,a){(131072&t)<1&&o(e,65);j(e,t);let i=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:r}=e;i=nt(e,32768|t,0),oe(e,n,r,1)||o(e,134,r)}return $(e,32768|t),re(e,t,r,s,a,{type:"ContinueStatement",label:i})}(e,t,s,i,l,c);case 20579:return function(e,t,n,r,s,a,i){j(e,32768|t);const l=n?le(n,32):void 0,c=ye(e,t,l,{$:r},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:d,colPos:p}=e,f=W(e,32768|t,20559)?function(e,t,n,r,s,a,i){let l=null,c=n;W(e,t,67174411)&&(n&&(n=le(n,4)),l=At(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?o(e,83):1077936157===e.token&&o(e,84),K(e,32768|t,16),n&&(c=le(n,64)));const u=ye(e,t,c,{$:r},e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"CatchClause",param:l,body:u})}(e,t,n,r,u,d,p):null;let k=null;if(20568===e.token){j(e,32768|t);k=ye(e,t,l?le(n,4):void 0,{$:r},e.tokenPos,e.linePos,e.colPos)}f||k||o(e,85);return re(e,t,s,a,i,{type:"TryStatement",block:c,handler:f,finalizer:k})}(e,t,n,s,i,l,c);case 20581:return function(e,t,n,r,s,a,i){j(e,t),1024&t&&o(e,88);K(e,32768|t,67174411);const l=Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,16);const c=Pe(e,t,n,2,r,0,e.tokenPos,e.linePos,e.colPos);return re(e,t,s,a,i,{type:"WithStatement",object:l,body:c})}(e,t,n,s,i,l,c);case 20562:return function(e,t,n,o,r){return j(e,32768|t),$(e,32768|t),re(e,t,n,o,r,{type:"DebuggerStatement"})}(e,t,i,l,c);case 209007:return we(e,t,n,r,s,0,i,l,c);case 20559:o(e,156);case 20568:o(e,157);case 86106:o(e,1024&t?73:(256&t)<1?75:74);case 86096:o(e,76);default:return function(e,t,n,r,s,a,i,l,c){const{tokenValue:u,token:d}=e;let p;switch(d){case 241739:p=nt(e,t,0),1024&t&&o(e,82),69271571===e.token&&o(e,81);break;default:p=_e(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&d&&21===e.token)return ve(e,t,n,r,s,u,p,d,a,i,l,c);p=ze(e,t,p,0,0,i,l,c),p=Ge(e,t,0,0,i,l,c,p),18===e.token&&(p=Be(e,t,0,i,l,c,p));return xe(e,t,p,i,l,c)}(e,t,n,r,s,a,i,l,c)}}function ye(e,t,n,o,r,s,a){const i=[];for(K(e,32768|t,2162700);1074790415!==e.token;)i.push(he(e,t,n,2,{$:o}));return K(e,32768|t,1074790415),re(e,t,r,s,a,{type:"BlockStatement",body:i})}function xe(e,t,n,o,r,s){return $(e,32768|t),re(e,t,o,r,s,{type:"ExpressionStatement",expression:n})}function ve(e,t,n,r,s,a,i,l,c,u,d,p){ee(e,t,0,l,1),function(e,t,n){let r=t;for(;r;)r["$"+n]&&o(e,132,n),r=r.$;t["$"+n]=1}(e,s,a),j(e,32768|t);return re(e,t,u,d,p,{type:"LabeledStatement",label:i,body:c&&(1024&t)<1&&256&t&&86106===e.token?rt(e,t,le(n,2),r,0,0,0,e.tokenPos,e.linePos,e.colPos):Pe(e,t,n,r,s,c,e.tokenPos,e.linePos,e.colPos)})}function we(e,t,n,r,s,a,i,l,c){const{token:u,tokenValue:d}=e;let p=nt(e,t,0);if(21===e.token)return ve(e,t,n,r,s,d,p,u,1,i,l,c);const f=1&e.flags;if(!f){if(86106===e.token)return a||o(e,119),rt(e,t,n,r,1,0,1,i,l,c);if(143360==(143360&e.token))return p=ht(e,t,1,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),xe(e,t,p,i,l,c)}return 67174411===e.token?p=Pt(e,t,p,1,1,0,f,i,l,c):(10===e.token&&(ge(e,t,u,1),p=ft(e,t,e.tokenValue,p,0,1,0,i,l,c)),e.assignable=1),p=ze(e,t,p,0,0,i,l,c),18===e.token&&(p=Be(e,t,0,i,l,c,p)),p=Ge(e,t,0,0,i,l,c,p),e.assignable=1,xe(e,t,p,i,l,c)}function qe(e,t,n,o,r,s,a){return 1074790417!==o&&(e.assignable=2,n=ze(e,t,n,0,0,r,s,a),1074790417!==e.token&&(n=Ge(e,t,0,0,r,s,a,n),18===e.token&&(n=Be(e,t,0,r,s,a,n))),$(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,s,a,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,s,a,{type:"ExpressionStatement",expression:n})}function Ce(e,t,n,o,r,s,a){return 1024&t||(256&t)<1||86106!==e.token?Pe(e,t,n,0,{$:o},0,e.tokenPos,e.linePos,e.colPos):rt(e,t,le(n,2),0,0,0,0,r,s,a)}function Ee(e,t,n,o){return Pe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:o},0,e.tokenPos,e.linePos,e.colPos)}function Ae(e,t,n,o,r,s,a,i){j(e,t);const l=De(e,t,n,o,r);return $(e,32768|t),re(e,t,s,a,i,{type:"VariableDeclaration",kind:8&o?"let":"const",declarations:l})}function Se(e,t,n,o,r,s,a){j(e,t);const i=De(e,t,n,4,o);return $(e,32768|t),re(e,t,r,s,a,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,r,s){let a=1;const i=[Le(e,t,n,r,s)];for(;W(e,t,18);)a++,i.push(Le(e,t,n,r,s));return a>1&&32&s&&262144&e.token&&o(e,58,T[255&e.token]),i}function Le(e,t,n,r,a){const{token:i,tokenPos:l,linePos:c,colPos:u}=e;let d=null;const p=At(e,t,n,r,a,l,c,u);return 1077936157===e.token?(j(e,32768|t),d=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&a||(2097152&i)<1)&&(274549===e.token||8738868===e.token&&(2097152&i||(4&r)<1||1024&t))&&s(l,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&r||(2097152&i)>0)&&262144!=(262144&e.token)&&o(e,56,16&r?"const":"destructuring"),re(e,t,l,c,u,{type:"VariableDeclarator",id:p,init:d})}function Ve(e,t,n){return ke(t,e.token)||o(e,114),537079808==(537079808&e.token)&&o(e,115),n&&ue(e,t,n,e.tokenValue,8,0),nt(e,t,0)}function Te(e,t,n){const{tokenPos:o,linePos:r,colPos:a}=e;return j(e,t),K(e,t,77934),134217728==(134217728&e.token)&&s(o,e.line,e.index,28,T[255&e.token]),re(e,t,o,r,a,{type:"ImportNamespaceSpecifier",local:Ve(e,t,n)})}function Re(e,t,n,r){for(j(e,t);143360&e.token;){let{token:s,tokenValue:a,tokenPos:i,linePos:l,colPos:c}=e;const u=nt(e,t,0);let d;W(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?o(e,103):ee(e,t,16,e.token,0),a=e.tokenValue,d=nt(e,t,0)):(ee(e,t,16,s,0),d=u),n&&ue(e,t,n,a,8,0),r.push(re(e,t,i,l,c,{type:"ImportSpecifier",local:d,imported:u})),1074790415!==e.token&&K(e,t,18)}return K(e,t,1074790415),r}function Ne(e,t,n,o,r){let s=$e(e,t,re(e,t,n,o,r,{type:"Identifier",name:"import"}),n,o,r);return s=ze(e,t,s,0,0,n,o,r),s=Ge(e,t,0,0,n,o,r,s),xe(e,t,s,n,o,r)}function Ie(e,t,n,o,r){let s=Ye(e,t,0,n,o,r);return s=ze(e,t,s,0,0,n,o,r),xe(e,t,s,n,o,r)}function Ue(e,t,n,o,r,s,a,i){let l=_e(e,t,2,0,n,o,r,1,s,a,i);return l=ze(e,t,l,r,0,s,a,i),Ge(e,t,r,0,s,a,i,l)}function Be(e,t,n,o,r,s,a){const i=[a];for(;W(e,32768|t,18);)i.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,o,r,s,{type:"SequenceExpression",expressions:i})}function Oe(e,t,n,o,r,s,a){const i=Ue(e,t,o,0,n,r,s,a);return 18===e.token?Be(e,t,n,r,s,a,i):i}function Ge(e,t,n,r,s,a,i,l){const{token:c}=e;if(4194304==(4194304&c)){2&e.assignable&&o(e,24),(!r&&1077936157===c&&"ArrayExpression"===l.type||"ObjectExpression"===l.type)&&Q(e,l),j(e,32768|t);const u=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,a,i,r?{type:"AssignmentPattern",left:l,right:u}:{type:"AssignmentExpression",left:l,operator:T[255&c],right:u})}return 8454144==(8454144&c)&&(l=He(e,t,n,s,a,i,4,c,l)),W(e,32768|t,22)&&(l=Fe(e,t,l,s,a,i)),l}function je(e,t,n,o,r,s,a,i){const{token:l}=e;j(e,32768|t);const c=Ue(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,s,a,o?{type:"AssignmentPattern",left:i,right:c}:{type:"AssignmentExpression",left:i,operator:T[255&l],right:c}),e.assignable=2,i}function Fe(e,t,n,o,r,s){const a=Ue(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);K(e,32768|t,21),e.assignable=1;const i=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,o,r,s,{type:"ConditionalExpression",test:n,consequent:a,alternate:i})}function He(e,t,n,r,s,a,i,l,c){const u=8738868&-((134217728&t)>0);let d,p;for(e.assignable=2;8454144&e.token&&(d=e.token,p=3840&d,(524288&d&&268435456&l||524288&l&&268435456&d)&&o(e,159),!(p+((8457273===d)<<8)-((u===d)<<12)<=i));)j(e,32768|t),c=re(e,t,r,s,a,{type:524288&d||268435456&d?"LogicalExpression":"BinaryExpression",left:c,right:He(e,t,n,e.tokenPos,e.linePos,e.colPos,p,d,Me(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:T[255&d]});return 1077936157===e.token&&o(e,24),c}function Je(e,t,n,a,i,l){const{tokenPos:c,linePos:u,colPos:d}=e;K(e,32768|t,2162700);const p=[],f=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:o,tokenValue:r,token:a}=e,i=ot(e,t);Y(e,n,o,r)&&(t|=1024,128&e.flags&&s(e.index,e.line,e.tokenPos,63),64&e.flags&&s(e.index,e.line,e.tokenPos,8)),p.push(qe(e,t,i,a,o,e.linePos,e.colPos))}1024&t&&(i&&(537079808==(537079808&i)&&o(e,115),36864==(36864&i)&&o(e,38)),512&e.flags&&o(e,115),256&e.flags&&o(e,114)),64&t&&n&&void 0!==l&&(1024&f)<1&&(8192&t)<1&&r(l)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)p.push(he(e,t,n,4,{}));return K(e,24&a?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&o(e,24),re(e,t,c,u,d,{type:"BlockStatement",body:p})}function Me(e,t,n,o,r,s,a,i){return ze(e,t,_e(e,t,2,0,n,0,o,r,s,a,i),o,0,s,a,i)}function ze(e,t,n,r,s,a,i,l){if(33619968==(33619968&e.token)&&(1&e.flags)<1)n=function(e,t,n,r,s,a){2&e.assignable&&o(e,52);const{token:i}=e;return j(e,t),e.assignable=2,re(e,t,r,s,a,{type:"UpdateExpression",argument:n,operator:T[255&i],prefix:!1})}(e,t,n,a,i,l);else if(67108864==(67108864&e.token)){switch(t=134225920^(134225920|t),e.token){case 67108877:j(e,1073741824|t),e.assignable=1;n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!1,property:Xe(e,t)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),j(e,32768|t);const{tokenPos:s,linePos:c,colPos:u}=e,d=Oe(e,t,r,1,s,c,u);K(e,t,20),e.assignable=1,n=re(e,t,a,i,l,{type:"MemberExpression",object:n,computed:!0,property:d}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const s=tt(e,t,r);e.assignable=2,n=re(e,t,a,i,l,{type:"CallExpression",callee:n,arguments:s}),o&&(e.flags|=2048);break}case 67108991:j(e,t),e.flags|=2048,e.assignable=2,n=function(e,t,n,r,s,a){let i,l=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(l=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){j(e,32768|t);const{tokenPos:o,linePos:l,colPos:c}=e,u=Oe(e,t,0,1,o,l,c);K(e,t,20),e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const o=tt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"CallExpression",callee:n,arguments:o,optional:!0})}else{(143360&e.token)<1&&o(e,154);const l=nt(e,t,0);e.assignable=2,i=re(e,t,r,s,a,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:l})}l&&(e.flags|=2048);return i}(e,t,n,a,i,l);break;default:2048==(2048&e.flags)&&o(e,160),e.assignable=2,n=re(e,t,a,i,l,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Ke(e,65536|t):We(e,t,e.tokenPos,e.linePos,e.colPos)})}n=ze(e,t,n,0,1,a,i,l)}return 0===s&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,a,i,l,{type:"ChainExpression",expression:n})),n}function Xe(e,t){return(143360&e.token)<1&&131!==e.token&&o(e,154),1&t&&131===e.token?Ct(e,t,e.tokenPos,e.linePos,e.colPos):nt(e,t,0)}function _e(e,t,n,r,a,i,l,c,u,d,p){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,r,a,i,l){if(r&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&o(e,0),8388608&t&&s(e.index,e.line,e.index,29),j(e,32768|t);const r=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&o(e,31),e.assignable=2,re(e,t,a,i,l,{type:"AwaitExpression",argument:r})}return 2048&t&&o(e,95),pt(e,t,a,i,l)}(e,t,r,l,u,d,p);case 241773:return function(e,t,n,r,s,a,i){if(n&&(e.destructible|=256),2097152&t){j(e,32768|t),8388608&t&&o(e,30),r||o(e,24),22===e.token&&o(e,120);let n=null,l=!1;return(1&e.flags)<1&&(l=W(e,32768|t,8457014),(77824&e.token||l)&&(n=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,s,a,i,{type:"YieldExpression",argument:n,delegate:l})}return 1024&t&&o(e,94,"yield"),pt(e,t,s,a,i)}(e,t,l,a,u,d,p);case 209007:return function(e,t,n,r,s,a,i,l,c,u){const{token:d}=e,p=nt(e,t,a),{flags:f}=e;if((1&f)<1){if(86106===e.token)return st(e,t,1,n,l,c,u);if(143360==(143360&e.token))return r||o(e,0),ht(e,t,s,l,c,u)}return i||67174411!==e.token?10===e.token?(ge(e,t,d,1),i&&o(e,48),ft(e,t,e.tokenValue,p,i,s,0,l,c,u)):p:Pt(e,t,p,s,1,0,f,l,c,u)}(e,t,l,c,a,i,r,u,d,p)}const{token:f,tokenValue:k}=e,g=nt(e,65536|t,i);return 10===e.token?(c||o(e,0),ge(e,t,f,1),ft(e,t,k,g,r,a,0,u,d,p)):(16384&t&&537079928===f&&o(e,126),241739===f&&(1024&t&&o(e,109),24&n&&o(e,97)),e.assignable=1024&t&&537079808==(537079808&f)?2:1,g)}if(134217728==(134217728&e.token))return ot(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,r,s,a,i){n&&o(e,53),r||o(e,0);const{token:l}=e;j(e,32768|t);const c=Me(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&o(e,52),e.assignable=2,re(e,t,s,a,i,{type:"UpdateExpression",argument:c,operator:T[255&l],prefix:!0})}(e,t,r,c,u,d,p);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,r,s,a,i){n||o(e,0);const l=e.token;j(e,32768|t);const c=Me(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&o(e,31),1024&t&&16863278===l&&("Identifier"===c.type?o(e,117):(u=c).property&&"PrivateIdentifier"===u.property.type&&o(e,123)),e.assignable=2,re(e,t,r,s,a,{type:"UnaryExpression",operator:T[255&l],argument:c,prefix:!0})}(e,t,c,u,d,p,l);case 86106:return st(e,t,0,l,u,d,p);case 2162700:return function(e,t,n,r,s,a,i){const l=ut(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 69271571:return function(e,t,n,r,s,a,i){const l=at(e,t,void 0,n,r,0,2,0,s,a,i);256&t&&64&e.destructible&&o(e,60);8&e.destructible&&o(e,59);return l}(e,t,a?0:1,l,u,d,p);case 67174411:return function(e,t,n,r,s,a,i,l){e.flags=128^(128|e.flags);const{tokenPos:c,linePos:u,colPos:d}=e;j(e,1073774592|t);const p=64&t?le({parent:void 0,type:2},1024):void 0;if(W(e,t=134217728^(134217728|t),16))return kt(e,t,p,[],n,0,a,i,l);let f,k=0;e.destructible&=-385;let g=[],m=0,b=0;const{tokenPos:h,linePos:P,colPos:y}=e;e.assignable=1;for(;16!==e.token;){const{token:n,tokenPos:a,linePos:i,colPos:l}=e;if(143360&n)p&&ue(e,t,p,e.tokenValue,1,0),f=_e(e,t,r,0,1,0,1,1,a,i,l),16===e.token||18===e.token?2&e.assignable?(k|=16,b=1):537079808!=(537079808&n)&&36864!=(36864&n)||(b=1):(1077936157===e.token?b=1:k|=16,f=ze(e,t,f,1,0,a,i,l),16!==e.token&&18!==e.token&&(f=Ge(e,t,1,0,a,i,l,f)));else{if(2097152!=(2097152&n)){if(14===n){f=lt(e,t,p,16,r,s,0,1,0,a,i,l),16&e.destructible&&o(e,71),b=1,!m||16!==e.token&&18!==e.token||g.push(f),k|=8;break}if(k|=16,f=Ue(e,t,1,0,1,a,i,l),!m||16!==e.token&&18!==e.token||g.push(f),18===e.token&&(m||(m=1,g=[f])),m){for(;W(e,32768|t,18);)g.push(Ue(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g})}return K(e,t,16),e.destructible=k,f}f=2162700===n?ut(e,1073741824|t,p,0,1,0,r,s,a,i,l):at(e,1073741824|t,p,0,1,0,r,s,a,i,l),k|=e.destructible,b=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&k&&o(e,118),f=ze(e,t,f,0,0,a,i,l),k|=16,16!==e.token&&18!==e.token&&(f=Ge(e,t,0,0,a,i,l,f)))}if(!m||16!==e.token&&18!==e.token||g.push(f),!W(e,32768|t,18))break;if(m||(m=1,g=[f]),16===e.token){k|=8;break}}m&&(e.assignable=2,f=re(e,t,h,P,y,{type:"SequenceExpression",expressions:g}));K(e,t,16),16&k&&8&k&&o(e,145);if(k|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&k&&o(e,46),4196352&t&&128&k&&o(e,29),2098176&t&&256&k&&o(e,30),b&&(e.flags|=128),kt(e,t,p,m?g:[f],n,0,a,i,l);8&k&&o(e,139);return e.destructible=256^(256|e.destructible)|k,128&t?re(e,t,c,u,d,{type:"ParenthesizedExpression",expression:f}):f}(e,t,a,1,0,u,d,p);case 86021:case 86022:case 86023:return function(e,t,n,o,r){const s=T[255&e.token],a=86023===e.token?null:"true"===s;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,raw:s}:{type:"Literal",value:a})}(e,t,u,d,p);case 86113:return function(e,t){const{tokenPos:n,linePos:o,colPos:r}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,o,r){const{tokenRaw:s,tokenRegExp:a,tokenValue:i}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:i,regex:a,raw:s}:{type:"Literal",value:i,regex:a})}(e,t,u,d,p);case 133:case 86096:return function(e,t,n,r,s,a){let i=null,l=null;const c=xt(e,t=16777216^(16778240|t));c.length&&(r=e.tokenPos,s=e.linePos,a=e.colPos);j(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&o(e,114),537079808==(537079808&e.token)&&o(e,115),i=nt(e,t,0));let u=t;W(e,32768|t,20567)?(l=Me(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const d=wt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,r,s,a,1&t?{type:"ClassExpression",id:i,superClass:l,decorators:c,body:d}:{type:"ClassExpression",id:i,superClass:l,body:d})}(e,t,l,u,d,p);case 86111:return function(e,t,n,r,s){switch(j(e,t),e.token){case 67108991:o(e,161);case 67174411:(524288&t)<1&&o(e,26),16384&t&&o(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&t)<1&&o(e,27),16384&t&&o(e,143),e.assignable=1;break;default:o(e,28,"super")}return re(e,t,n,r,s,{type:"Super"})}(e,t,u,d,p);case 67174409:return We(e,t,u,d,p);case 67174408:return Ke(e,t);case 86109:return function(e,t,n,r,s,a){const i=nt(e,32768|t,0),{tokenPos:l,linePos:c,colPos:u}=e;if(W(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,o,r,s){const a=nt(e,t,0);return re(e,t,o,r,s,{type:"MetaProperty",meta:n,property:a})}(e,t,i,r,s,a);o(e,91)}e.assignable=2,16842752==(16842752&e.token)&&o(e,62,T[255&e.token]);const d=_e(e,t,2,1,0,0,n,1,l,c,u);t=134217728^(134217728|t),67108991===e.token&&o(e,162);const p=bt(e,t,d,n,l,c,u);return e.assignable=2,re(e,t,r,s,a,{type:"NewExpression",callee:p,arguments:67174411===e.token?tt(e,t,n):[]})}(e,t,l,u,d,p);case 134283389:return Ze(e,t,u,d,p);case 131:return Ct(e,t,u,d,p);case 86108:return function(e,t,n,r,s,a,i){let l=nt(e,t,0);if(67108877===e.token)return $e(e,t,l,s,a,i);n&&o(e,137);return l=Ye(e,t,r,s,a,i),e.assignable=2,ze(e,t,l,r,0,s,a,i)}(e,t,r,l,u,d,p);case 8456258:if(16&t)return Dt(e,t,1,u,d,p);default:if(ke(t,e.token))return pt(e,t,u,d,p);o(e,28,T[255&e.token])}}function $e(e,t,n,r,s,a){return 0==(2048&t)&&o(e,163),j(e,t),143495!==e.token&&"meta"!==e.tokenValue&&o(e,28,T[255&e.token]),e.assignable=2,re(e,t,r,s,a,{type:"MetaProperty",meta:n,property:nt(e,t,0)})}function Ye(e,t,n,r,s,a){K(e,32768|t,67174411),14===e.token&&o(e,138);const i=Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,16),re(e,t,r,s,a,{type:"ImportExpression",source:i})}function Ze(e,t,n,o,r){const{tokenRaw:s,tokenValue:a}=e;return j(e,t),e.assignable=2,re(e,t,n,o,r,512&t?{type:"Literal",value:a,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:a,bigint:s.slice(0,-1)})}function We(e,t,n,o,r){e.assignable=2;const{tokenValue:s,tokenRaw:a,tokenPos:i,linePos:l,colPos:c}=e;K(e,t,67174409);return re(e,t,n,o,r,{type:"TemplateLiteral",expressions:[],quasis:[Qe(e,t,s,a,i,l,c,!0)]})}function Ke(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408);const l=[Qe(e,t,n,r,s,a,i,!1)],c=[Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&o(e,80);67174409!==(e.token=D(e,t));){const{tokenValue:n,tokenRaw:r,tokenPos:s,linePos:a,colPos:i}=e;K(e,32768|t,67174408),l.push(Qe(e,t,n,r,s,a,i,!1)),c.push(Oe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&o(e,80)}{const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;K(e,t,67174409),l.push(Qe(e,t,n,o,r,s,a,!0))}return re(e,t,s,a,i,{type:"TemplateLiteral",expressions:c,quasis:l})}function Qe(e,t,n,o,r,s,a,i){const l=re(e,t,r,s,a,{type:"TemplateElement",value:{cooked:n,raw:o},tail:i}),c=i?1:2;return 2&t&&(l.start+=1,l.range[0]+=1,l.end-=c,l.range[1]-=c),4&t&&(l.loc.start.column+=1,l.loc.end.column-=c),l}function et(e,t,n,o,r){K(e,32768|(t=134217728^(134217728|t)),14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,o,r,{type:"SpreadElement",argument:s})}function tt(e,t,n){j(e,32768|t);const o=[];if(16===e.token)return j(e,t),o;for(;16!==e.token&&(14===e.token?o.push(et(e,t,e.tokenPos,e.linePos,e.colPos)):o.push(Ue(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(j(e,32768|t),16!==e.token););return K(e,t,16),o}function nt(e,t,n){const{tokenValue:o,tokenPos:r,linePos:s,colPos:a}=e;return j(e,t),re(e,t,r,s,a,268435456&t?{type:"Identifier",name:o,pattern:1===n}:{type:"Identifier",name:o})}function ot(e,t){const{tokenValue:n,tokenRaw:o,tokenPos:r,linePos:s,colPos:a}=e;return 134283389===e.token?Ze(e,t,r,s,a):(j(e,t),e.assignable=2,re(e,t,r,s,a,512&t?{type:"Literal",value:n,raw:o}:{type:"Literal",value:n}))}function rt(e,t,n,r,s,a,i,l,c,u){j(e,32768|t);const d=s?Z(e,t,8457014):0;let p,f=null,k=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&a)<1&&o(e,37,"Function");else{const s=4&r&&((8192&t)<1||(2048&t)<1)?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&s?de(e,t,n,e.tokenValue,s):ue(e,t,n,e.tokenValue,s,r),k=le(k,256),a&&2&a&&pe(e,e.tokenValue)),p=e.token,143360&e.token?f=nt(e,t,0):o(e,28,T[255&e.token])}t=32243712^(32243712|t)|67108864|2*i+d<<21|(d?0:1073741824),n&&(k=le(k,512));return re(e,t,l,c,u,{type:"FunctionDeclaration",id:f,params:mt(e,8388608|t,k,0,1),body:Je(e,143360^(143360|t),n?le(k,128):k,8,p,n?k.scopeError:void 0),async:1===i,generator:1===d})}function st(e,t,n,o,r,s,a){j(e,32768|t);const i=Z(e,t,8457014),l=2*n+i<<21;let c,u=null,d=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|l,e.token),d&&(d=le(d,256)),c=e.token,u=nt(e,t,0)),t=32243712^(32243712|t)|67108864|l|(i?0:1073741824),d&&(d=le(d,512));const p=mt(e,8388608|t,d,o,1),f=Je(e,-134377473&t,d?le(d,128):d,0,c,void 0);return e.assignable=2,re(e,t,r,s,a,{type:"FunctionExpression",id:u,params:p,body:f,async:1===n,generator:1===i})}function at(e,t,n,r,s,a,i,l,c,u,d){j(e,32768|t);const p=[];let f=0;for(t=134217728^(134217728|t);20!==e.token;)if(W(e,32768|t,18))p.push(null);else{let r;const{token:c,tokenPos:u,linePos:d,colPos:k,tokenValue:g}=e;if(143360&c)if(r=_e(e,t,i,0,1,0,s,1,u,d,k),1077936157===e.token){2&e.assignable&&o(e,24),j(e,32768|t),n&&ce(e,t,n,g,i,l);const c=Ue(e,t,1,1,s,e.tokenPos,e.linePos,e.colPos);r=re(e,t,u,d,k,a?{type:"AssignmentPattern",left:r,right:c}:{type:"AssignmentExpression",operator:"=",left:r,right:c}),f|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?f|=16:n&&ce(e,t,n,g,i,l),f|=256&e.destructible?256:0|128&e.destructible?128:0):(f|=1&i?32:(2&i)<1?16:0,r=ze(e,t,r,s,0,u,d,k),18!==e.token&&20!==e.token?(1077936157!==e.token&&(f|=16),r=Ge(e,t,s,a,u,d,k,r)):1077936157!==e.token&&(f|=2&e.assignable?16:32));else 2097152&c?(r=2162700===e.token?ut(e,t,n,0,s,a,i,l,u,d,k):at(e,t,n,0,s,a,i,l,u,d,k),f|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(f|=16):8&e.destructible?o(e,68):(r=ze(e,t,r,s,0,u,d,k),f=2&e.assignable?16:0,18!==e.token&&20!==e.token?r=Ge(e,t,s,a,u,d,k,r):1077936157!==e.token&&(f|=2&e.assignable?16:32))):14===c?(r=lt(e,t,n,20,i,l,0,s,a,u,d,k),f|=e.destructible,18!==e.token&&20!==e.token&&o(e,28,T[255&e.token])):(r=Me(e,t,1,0,1,u,d,k),18!==e.token&&20!==e.token?(r=Ge(e,t,s,a,u,d,k,r),(3&i)<1&&67174411===c&&(f|=16)):2&e.assignable?f|=16:67174411===c&&(f|=1&e.assignable&&3&i?32:16));if(p.push(r),!W(e,32768|t,18))break;if(20===e.token)break}K(e,t,20);const k=re(e,t,c,u,d,{type:a?"ArrayPattern":"ArrayExpression",elements:p});return!r&&4194304&e.token?it(e,t,f,s,a,c,u,d,k):(e.destructible=f,k)}function it(e,t,n,r,s,a,i,l,c){1077936157!==e.token&&o(e,24),j(e,32768|t),16&n&&o(e,24),s||Q(e,c);const{tokenPos:u,linePos:d,colPos:p}=e,f=Ue(e,t,1,1,r,u,d,p);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,a,i,l,s?{type:"AssignmentPattern",left:c,right:f}:{type:"AssignmentExpression",left:c,operator:"=",right:f})}function lt(e,t,n,r,s,a,i,l,c,u,d,p){j(e,32768|t);let f=null,k=0,{token:g,tokenValue:m,tokenPos:b,linePos:h,colPos:P}=e;if(143360&g)e.assignable=1,f=_e(e,t,s,0,1,0,l,1,b,h,P),g=e.token,f=ze(e,t,f,l,0,b,h,P),18!==e.token&&e.token!==r&&(2&e.assignable&&1077936157===e.token&&o(e,68),k|=16,f=Ge(e,t,l,c,b,h,P,f)),2&e.assignable?k|=16:g===r||18===g?n&&ce(e,t,n,m,s,a):k|=32,k|=128&e.destructible?128:0;else if(g===r)o(e,39);else{if(!(2097152&g)){k|=32,f=Me(e,t,1,l,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:s,linePos:a,colPos:i}=e;return 1077936157===n&&n!==r&&18!==n?(2&e.assignable&&o(e,24),f=Ge(e,t,l,c,s,a,i,f),k|=16):(18===n?k|=16:n!==r&&(f=Ge(e,t,l,c,s,a,i,f)),k|=1&e.assignable?32:16),e.destructible=k,e.token!==r&&18!==e.token&&o(e,155),re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}f=2162700===e.token?ut(e,t,n,1,l,c,s,a,b,h,P):at(e,t,n,1,l,c,s,a,b,h,P),g=e.token,1077936157!==g&&g!==r&&18!==g?(8&e.destructible&&o(e,68),f=ze(e,t,f,l,0,b,h,P),k|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),f=Ge(e,t,l,c,b,h,P,f)):(8454144==(8454144&e.token)&&(f=He(e,t,1,b,h,P,4,g,f)),W(e,32768|t,22)&&(f=Fe(e,t,f,b,h,P)),k|=2&e.assignable?16:32)):k|=1074790415===r&&1077936157!==g?16:e.destructible}if(e.token!==r)if(1&s&&(k|=i?16:32),W(e,32768|t,1077936157)){16&k&&o(e,24),Q(e,f);const n=Ue(e,t,1,1,l,e.tokenPos,e.linePos,e.colPos);f=re(e,t,b,h,P,c?{type:"AssignmentPattern",left:f,right:n}:{type:"AssignmentExpression",left:f,operator:"=",right:n}),k=16}else k|=16;return e.destructible=k,re(e,t,u,d,p,{type:c?"RestElement":"SpreadElement",argument:f})}function ct(e,t,n,s,a,i,l){const c=(64&n)<1?31981568:14680064;let u=64&(t=(t|c)^c|(88&n)<<18|100925440)?le({parent:void 0,type:2},512):void 0;const d=function(e,t,n,s,a,i){K(e,t,67174411);const l=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&o(e,35,"Setter","one",""),j(e,t),l;256&s&&o(e,35,"Getter","no","s");512&s&&14===e.token&&o(e,36);t=134217728^(134217728|t);let c=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:d,linePos:p,colPos:f}=e;if(143360&e.token?((1024&t)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=St(e,t,n,1|s,0,d,p,f)):(2162700===e.token?r=ut(e,t,n,1,i,1,a,0,d,p,f):69271571===e.token?r=at(e,t,n,1,i,1,a,0,d,p,f):14===e.token&&(r=lt(e,t,n,16,a,0,0,i,1,d,p,f)),u=1,48&e.destructible&&o(e,47)),1077936157===e.token){j(e,32768|t),u=1;r=re(e,t,d,p,f,{type:"AssignmentPattern",left:r,right:Ue(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(c++,l.push(r),!W(e,t,18))break;if(16===e.token)break}512&s&&1!==c&&o(e,35,"Setter","one","");n&&void 0!==n.scopeError&&r(n.scopeError);u&&(e.flags|=128);return K(e,t,16),l}(e,8388608|t,u,n,1,s);u&&(u=le(u,128));return re(e,t,a,i,l,{type:"FunctionExpression",params:d,body:Je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function ut(e,t,n,r,a,i,l,c,u,d,p){j(e,t);const f=[];let k=0,g=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:r,tokenValue:u,linePos:d,colPos:p,tokenPos:m}=e;if(14===r)f.push(lt(e,t,n,1074790415,l,c,0,a,i,m,d,p));else{let b,h=0,P=null;const y=e.token;if(143360&e.token||121===e.token)if(P=nt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(h|=4,1024&t&&537079808==(537079808&r)?k|=16:ee(e,t,l,r,0),n&&ce(e,t,n,u,l,c),W(e,32768|t,1077936157)){k|=8;const n=Ue(e,t,1,1,a,e.tokenPos,e.linePos,e.colPos);k|=256&e.destructible?256:0|128&e.destructible?128:0,b=re(e,t,m,d,p,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},P):P,right:n})}else k|=(209008===r?128:0)|(121===r?16:0),b=-2147483648&t?Object.assign({},P):P;else if(W(e,32768|t,21)){const{tokenPos:s,linePos:d,colPos:p}=e;if("__proto__"===u&&g++,143360&e.token){const o=e.token,r=e.tokenValue;k|=121===y?16:0,b=_e(e,t,l,0,1,0,a,1,s,d,p);const{token:u}=e;b=ze(e,t,b,a,0,s,d,p),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(k|=128&e.destructible?128:0,2&e.assignable?k|=16:n&&143360==(143360&o)&&ce(e,t,n,r,l,c)):k|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?k|=16:1077936157!==u?k|=32:n&&ce(e,t,n,r,l,c),b=Ge(e,t,a,i,s,d,p,b)):(k|=16,8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,u,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,d,p)))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,d,p):ut(e,t,n,0,a,i,l,c,s,d,p),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&e.destructible?o(e,68):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=je(e,t,a,i,s,d,p,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,d,p,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,d,p)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,a,1,s,d,p),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,d,p),k=2&e.assignable?16:0,18!==e.token&&1074790415!==r&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,d,p,b))))}else 69271571===e.token?(k|=16,209007===r&&(h|=16),h|=2|(12402===r?256:12403===r?512:1),P=dt(e,t,a),k|=e.assignable,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(k|=16,121===r&&o(e,92),209007===r&&(1&e.flags&&o(e,128),h|=16),P=nt(e,t,0),h|=12402===r?256:12403===r?512:1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(k|=16,h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(k|=16,12402===r||12403===r?o(e,40):143483===r&&o(e,92),j(e,t),h|=9|(209007===r?16:0),143360&e.token?P=nt(e,t,0):134217728==(134217728&e.token)?P=ot(e,t):69271571===e.token?(h|=2,P=dt(e,t,a),k|=e.assignable):o(e,28,T[255&e.token]),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===r&&(h|=16),h|=12402===r?256:12403===r?512:1,k|=16,P=ot(e,t),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,129);else if(134217728==(134217728&e.token))if(P=ot(e,t),21===e.token){K(e,32768|t,21);const{tokenPos:o,linePos:s,colPos:d}=e;if("__proto__"===u&&g++,143360&e.token){b=_e(e,t,l,0,1,0,a,1,o,s,d);const{token:r,tokenValue:u}=e;b=ze(e,t,b,a,0,o,s,d),18===e.token||1074790415===e.token?1077936157===r||1074790415===r||18===r?2&e.assignable?k|=16:n&&ce(e,t,n,u,l,c):k|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(k|=16),b=Ge(e,t,a,i,o,s,d,b)):(k|=16,b=Ge(e,t,a,i,o,s,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,o,s,d):ut(e,t,n,0,a,i,l,c,o,s,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8!=(8&e.destructible)&&(b=ze(e,t,b,a,0,o,s,d),k=2&e.assignable?16:0,4194304==(4194304&e.token)?b=je(e,t,a,i,o,s,d,b):(8454144==(8454144&e.token)&&(b=He(e,t,1,o,s,d,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,o,s,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,o,s,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,o,s,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,o,s,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos),k=16|e.assignable):o(e,130);else if(69271571===e.token)if(P=dt(e,t,a),k|=256&e.destructible?256:0,h|=2,21===e.token){j(e,32768|t);const{tokenPos:s,linePos:u,colPos:d,tokenValue:p,token:f}=e;if(143360&e.token){b=_e(e,t,l,0,1,0,a,1,s,u,d);const{token:o}=e;b=ze(e,t,b,a,0,s,u,d),4194304==(4194304&e.token)?(k|=2&e.assignable?16:1077936157===o?0:32,b=je(e,t,a,i,s,u,d,b)):18===e.token||1074790415===e.token?1077936157===o||1074790415===o||18===o?2&e.assignable?k|=16:n&&143360==(143360&f)&&ce(e,t,n,p,l,c):k|=1&e.assignable?32:16:(k|=16,b=Ge(e,t,a,i,s,u,d,b))}else 2097152==(2097152&e.token)?(b=69271571===e.token?at(e,t,n,0,a,i,l,c,s,u,d):ut(e,t,n,0,a,i,l,c,s,u,d),k=e.destructible,e.assignable=16&k?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):8&k?o(e,59):(b=ze(e,t,b,a,0,s,u,d),k=2&e.assignable?16|k:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(k|=16),b=je(e,t,a,i,s,u,d,b)):(8454144==(8454144&e.token)&&(b=He(e,t,1,s,u,d,4,r,b)),W(e,32768|t,22)&&(b=Fe(e,t,b,s,u,d)),k|=2&e.assignable?16:32))):(b=Me(e,t,1,0,1,s,u,d),k|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(k|=16):(b=ze(e,t,b,a,0,s,u,d),k=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(k|=16),b=Ge(e,t,a,i,s,u,d,b))))}else 67174411===e.token?(h|=1,b=ct(e,t,h,a,e.tokenPos,d,p),k=16):o(e,41);else if(8457014===r)if(K(e,32768|t,8457014),h|=8,143360&e.token){const{token:n,line:o,index:r}=e;P=nt(e,t,0),h|=1,67174411===e.token?(k|=16,b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):s(r,o,r,209007===n?43:12402===n||12403===e.token?42:44,T[255&n])}else 134217728==(134217728&e.token)?(k|=16,P=ot(e,t),h|=1,b=ct(e,t,h,a,m,d,p)):69271571===e.token?(k|=16,h|=3,P=dt(e,t,a),b=ct(e,t,h,a,e.tokenPos,e.linePos,e.colPos)):o(e,122);else o(e,28,T[255&r]);k|=128&e.destructible?128:0,e.destructible=k,f.push(re(e,t,m,d,p,{type:"Property",key:P,value:b,kind:768&h?512&h?"set":"get":"init",computed:(2&h)>0,method:(1&h)>0,shorthand:(4&h)>0}))}if(k|=e.destructible,18!==e.token)break;j(e,t)}K(e,t,1074790415),g>1&&(k|=64);const m=re(e,t,u,d,p,{type:i?"ObjectPattern":"ObjectExpression",properties:f});return!r&&4194304&e.token?it(e,t,k,a,i,u,d,p,m):(e.destructible=k,m)}function dt(e,t,n){j(e,32768|t);const o=Ue(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return K(e,t,20),o}function pt(e,t,n,o,r){const{tokenValue:s}=e,a=nt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=ae(e,t,s)),e.flags=128^(128|e.flags),gt(e,t,i,[a],0,n,o,r)}return a}function ft(e,t,n,r,s,a,i,l,c,u){a||o(e,54),s&&o(e,48),e.flags&=-129;return gt(e,t,64&t?ae(e,t,n):void 0,[r],i,l,c,u)}function kt(e,t,n,r,s,a,i,l,c){s||o(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&o(e,106),1074790415===e.token&&o(e,105),W(e,t,1074790417)?a>0&&o(e,116):d.push(qt(e,t,r,n,s,p,0,i,e.tokenPos,e.linePos,e.colPos))}return K(e,8&a?32768|t:t,1074790415),re(e,t,l,c,u,{type:"ClassBody",body:d})}function qt(e,t,n,r,s,a,i,l,c,u,d){let p=i?32:0,f=null;const{token:k,tokenPos:g,linePos:m,colPos:b}=e;if(176128&k)switch(f=nt(e,t,0),k){case 36972:if(!i&&67174411!==e.token)return qt(e,t,n,r,s,a,1,l,c,u,d);break;case 209007:if(67174411!==e.token&&(1&e.flags)<1){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=16|(Z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return Et(e,t,f,p,a,g,m,b);p|=512}}else 69271571===k?(p|=2,f=dt(e,r,l)):134217728==(134217728&k)?f=ot(e,t):8457014===k?(p|=8,j(e,t)):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b),t|=16384):1&t&&1073741824==(1073741824&e.token)?(p|=128,t|=16384):122===k?(f=nt(e,t,0),67174411!==e.token&&o(e,28,T[255&e.token])):o(e,28,T[255&e.token]);if(792&p&&(143360&e.token?f=nt(e,t,0):134217728==(134217728&e.token)?f=ot(e,t):69271571===e.token?(p|=2,f=dt(e,t,0)):122===e.token?f=nt(e,t,0):1&t&&131===e.token?(p|=4096,f=Ct(e,t,g,m,b)):o(e,131)),(2&p)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?o(e,125):(32&p)<1&&67174411===e.token&&(920&p?o(e,50,"accessor"):(524288&t)<1&&(32&e.flags?o(e,51):e.flags|=32)),p|=64):(4096&p)<1&&824&p&&"prototype"===e.tokenValue&&o(e,49)),1&t&&67174411!==e.token)return Et(e,t,f,p,a,g,m,b);const h=ct(e,t,p,l,e.tokenPos,e.linePos,e.colPos);return re(e,t,c,u,d,1&t?{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,decorators:a,value:h}:{type:"MethodDefinition",kind:(32&p)<1&&64&p?"constructor":256&p?"get":512&p?"set":"method",static:(32&p)>0,computed:(2&p)>0,key:f,value:h})}function Ct(e,t,n,r,s){j(e,t);const{tokenValue:a}=e;return"constructor"===a&&o(e,124),j(e,t),re(e,t,n,r,s,{type:"PrivateIdentifier",name:a})}function Et(e,t,n,r,s,a,i,l){let c=null;if(8&r&&o(e,0),1077936157===e.token){j(e,32768|t);const{tokenPos:n,linePos:r,colPos:s}=e;537079928===e.token&&o(e,115),c=_e(e,16384|t,2,0,1,0,0,1,n,r,s),1073741824!=(1073741824&e.token)&&(c=ze(e,16384|t,c,0,0,n,r,s),c=Ge(e,16384|t,0,0,n,r,s,c),18===e.token&&(c=Be(e,t,0,a,i,l,c)))}return re(e,t,a,i,l,{type:"PropertyDefinition",key:n,value:c,static:(32&r)>0,computed:(2&r)>0,decorators:s})}function At(e,t,n,r,s,a,i,l){if(143360&e.token)return St(e,t,n,r,s,a,i,l);2097152!=(2097152&e.token)&&o(e,28,T[255&e.token]);const c=69271571===e.token?at(e,t,n,1,0,1,r,s,a,i,l):ut(e,t,n,1,0,1,r,s,a,i,l);return 16&e.destructible&&o(e,47),32&e.destructible&&o(e,47),c}function St(e,t,n,r,s,a,i,l){const{tokenValue:c,token:u}=e;return 1024&t&&(537079808==(537079808&u)?o(e,115):36864==(36864&u)&&o(e,114)),20480==(20480&u)&&o(e,99),2099200&t&&241773===u&&o(e,30),241739===u&&24&r&&o(e,97),4196352&t&&209008===u&&o(e,95),j(e,t),n&&ce(e,t,n,c,r,s),re(e,t,a,i,l,{type:"Identifier",name:c})}function Dt(e,t,n,r,s,a){if(j(e,t),8456259===e.token)return re(e,t,r,s,a,{type:"JSXFragment",openingFragment:Lt(e,t,r,s,a),children:Tt(e,t),closingFragment:Vt(e,t,n,e.tokenPos,e.linePos,e.colPos)});let i=null,l=[];const c=function(e,t,n,r,s,a){143360!=(143360&e.token)&&4096!=(4096&e.token)&&o(e,0);const i=Nt(e,t,e.tokenPos,e.linePos,e.colPos),l=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Ut(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),c=8457016===e.token;8456259===e.token?X(e,t):(K(e,t,8457016),n?K(e,t,8456259):X(e,t));return re(e,t,r,s,a,{type:"JSXOpeningElement",name:i,attributes:l,selfClosing:c})}(e,t,n,r,s,a);if(!c.selfClosing){l=Tt(e,t),i=function(e,t,n,o,r,s){K(e,t,25);const a=Nt(e,t,e.tokenPos,e.linePos,e.colPos);n?K(e,t,8456259):e.token=X(e,t);return re(e,t,o,r,s,{type:"JSXClosingElement",name:a})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const r=se(i.name);se(c.name)!==r&&o(e,149,r)}return re(e,t,r,s,a,{type:"JSXElement",children:l,openingElement:c,closingElement:i})}function Lt(e,t,n,o,r){return X(e,t),re(e,t,n,o,r,{type:"JSXOpeningFragment"})}function Vt(e,t,n,o,r,s){return K(e,t,25),K(e,t,8456259),re(e,t,o,r,s,{type:"JSXClosingFragment"})}function Tt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Rt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Rt(e,t,n,r,s){return 138===e.token?function(e,t,n,o,r){X(e,t);const s={type:"JSXText",value:e.tokenValue};512&t&&(s.raw=e.tokenRaw);return re(e,t,n,o,r,s)}(e,t,n,r,s):2162700===e.token?Ot(e,t,0,0,n,r,s):8456258===e.token?Dt(e,t,0,n,r,s):void o(e,0)}function Nt(e,t,n,o,r){_(e);let s=Gt(e,t,n,o,r);if(21===e.token)return Bt(e,t,s,n,o,r);for(;W(e,t,67108877);)_(e),s=It(e,t,s,n,o,r);return s}function It(e,t,n,o,r,s){return re(e,t,o,r,s,{type:"JSXMemberExpression",object:n,property:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ut(e,t,n,r,s){if(2162700===e.token)return function(e,t,n,o,r){j(e,t),K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadAttribute",argument:s})}(e,t,n,r,s);_(e);let a=null,i=Gt(e,t,n,r,s);if(21===e.token&&(i=Bt(e,t,i,n,r,s)),1077936157===e.token){const n=z(e,t),{tokenPos:r,linePos:s,colPos:i}=e;switch(n){case 134283267:a=ot(e,t);break;case 8456258:a=Dt(e,t,1,r,s,i);break;case 2162700:a=Ot(e,t,1,1,r,s,i);break;default:o(e,148)}}return re(e,t,n,r,s,{type:"JSXAttribute",value:a,name:i})}function Bt(e,t,n,o,r,s){K(e,t,21);return re(e,t,o,r,s,{type:"JSXNamespacedName",namespace:n,name:Gt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Ot(e,t,n,r,s,a,i){j(e,t);const{tokenPos:l,linePos:c,colPos:u}=e;if(14===e.token)return function(e,t,n,o,r){K(e,t,14);const s=Ue(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return K(e,t,1074790415),re(e,t,n,o,r,{type:"JSXSpreadChild",expression:s})}(e,t,l,c,u);let d=null;return 1074790415===e.token?(r&&o(e,151),d=function(e,t,n,o,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,o,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):d=Ue(e,t,1,0,0,l,c,u),n?K(e,t,1074790415):X(e,t),re(e,t,s,a,i,{type:"JSXExpressionContainer",expression:d})}function Gt(e,t,n,o,r){const{tokenValue:s}=e;return j(e,t),re(e,t,n,o,r,{type:"JSXIdentifier",name:s})}var jt=Object.freeze({__proto__:null});e.ESTree=jt,e.parse=function(e,t){return me(e,t,0)},e.parseModule=function(e,t){return me(e,t,3072)},e.parseScript=function(e,t){return me(e,t,0)},e.version="4.2.0",Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/node_modules/meriyah/dist/src/chars.d.ts b/node_modules/meriyah/dist/src/chars.d.ts new file mode 100644 index 0000000..ad60601 --- /dev/null +++ b/node_modules/meriyah/dist/src/chars.d.ts @@ -0,0 +1,136 @@ +export declare const enum Chars { + Null = 0, + Backspace = 8, + Tab = 9, + LineFeed = 10, + VerticalTab = 11, + FormFeed = 12, + CarriageReturn = 13, + Space = 32, + Exclamation = 33, + DoubleQuote = 34, + Hash = 35, + Dollar = 36, + Percent = 37, + Ampersand = 38, + SingleQuote = 39, + LeftParen = 40, + RightParen = 41, + Asterisk = 42, + Plus = 43, + Comma = 44, + Hyphen = 45, + Period = 46, + Slash = 47, + Zero = 48, + One = 49, + Two = 50, + Three = 51, + Four = 52, + Five = 53, + Six = 54, + Seven = 55, + Eight = 56, + Nine = 57, + Colon = 58, + Semicolon = 59, + LessThan = 60, + EqualSign = 61, + GreaterThan = 62, + QuestionMark = 63, + UpperA = 65, + UpperB = 66, + UpperC = 67, + UpperD = 68, + UpperE = 69, + UpperF = 70, + UpperG = 71, + UpperH = 72, + UpperI = 73, + UpperJ = 74, + UpperK = 75, + UpperL = 76, + UpperM = 77, + UpperN = 78, + UpperO = 79, + UpperP = 80, + UpperQ = 81, + UpperR = 82, + UpperS = 83, + UpperT = 84, + UpperU = 85, + UpperV = 86, + UpperW = 87, + UpperX = 88, + UpperY = 89, + UpperZ = 90, + LeftBracket = 91, + Backslash = 92, + RightBracket = 93, + Caret = 94, + Underscore = 95, + Backtick = 96, + LowerA = 97, + LowerB = 98, + LowerC = 99, + LowerD = 100, + LowerE = 101, + LowerF = 102, + LowerG = 103, + LowerH = 104, + LowerI = 105, + LowerJ = 106, + LowerK = 107, + LowerL = 108, + LowerM = 109, + LowerN = 110, + LowerO = 111, + LowerP = 112, + LowerQ = 113, + LowerR = 114, + LowerS = 115, + LowerT = 116, + LowerU = 117, + LowerV = 118, + LowerW = 119, + LowerX = 120, + LowerY = 121, + LowerZ = 122, + LeftBrace = 123, + VerticalBar = 124, + RightBrace = 125, + Tilde = 126, + Delete = 127, + NextLine = 133, + NonBreakingSpace = 160, + Ogham = 5760, + EnQuad = 8192, + EmQuad = 8193, + EnSpace = 8194, + EmSpace = 8195, + ThreePerEmSpace = 8196, + FourPerEmSpace = 8197, + SixPerEmSpace = 8198, + FigureSpace = 8199, + PunctuationSpace = 8200, + ThinSpace = 8201, + HairSpace = 8202, + ZeroWidthSpace = 8203, + ZeroWidthJoiner = 8204, + ZeroWidthNonJoiner = 8205, + LineSeparator = 8232, + ParagraphSeparator = 8233, + NarrowNoBreakSpace = 8239, + MathematicalSpace = 8287, + IdeographicSpace = 12288, + ZeroWidthNoBreakSpace = 65279, + ByteOrderMark = 65519, + NonBMPMax = 1114111, + LeadSurrogateMin = 55296, + LeadSurrogateMax = 56319, + TrailSurrogateMin = 56320, + TrailSurrogateMax = 57343, + UTF16Max = 65535, + NonBMPMin = 65536 +} +//# sourceMappingURL=chars.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/chars.d.ts.map b/node_modules/meriyah/dist/src/chars.d.ts.map new file mode 100644 index 0000000..a724b34 --- /dev/null +++ b/node_modules/meriyah/dist/src/chars.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"chars.d.ts","sourceRoot":"","sources":["../../src/chars.ts"],"names":[],"mappings":"AAGA,0BAAkB,KAAK;IAEnB,IAAI,IAAO;IAEX,SAAS,IAAY;IACrB,GAAG,IAAkB;IACrB,QAAQ,KAAa;IACrB,WAAW,KAAU;IACrB,QAAQ,KAAa;IACrB,cAAc,KAAO;IAErB,KAAK,KAAa;IAClB,WAAW,KAAO;IAClB,WAAW,KAAO;IAClB,IAAI,KAAc;IAClB,MAAM,KAAY;IAClB,OAAO,KAAW;IAClB,SAAS,KAAS;IAClB,WAAW,KAAO;IAClB,SAAS,KAAS;IAClB,UAAU,KAAQ;IAClB,QAAQ,KAAU;IAClB,IAAI,KAAc;IAClB,KAAK,KAAa;IAClB,MAAM,KAAY;IAClB,MAAM,KAAY;IAClB,KAAK,KAAa;IAElB,IAAI,KAAe;IACnB,GAAG,KAAgB;IACnB,GAAG,KAAgB;IACnB,KAAK,KAAc;IACnB,IAAI,KAAe;IACnB,IAAI,KAAe;IACnB,GAAG,KAAgB;IACnB,KAAK,KAAc;IACnB,KAAK,KAAc;IACnB,IAAI,KAAe;IACnB,KAAK,KAAc;IACnB,SAAS,KAAU;IACnB,QAAQ,KAAW;IACnB,SAAS,KAAU;IACnB,WAAW,KAAQ;IACnB,YAAY,KAAO;IAEnB,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IACb,MAAM,KAAO;IAEb,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,MAAM,KAAa;IACnB,WAAW,KAAQ;IACnB,SAAS,KAAU;IACnB,YAAY,KAAO;IACnB,KAAK,KAAc;IACnB,UAAU,KAAS;IAEnB,QAAQ,KAAO;IACf,MAAM,KAAS;IACf,MAAM,KAAS;IACf,MAAM,KAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IACf,MAAM,MAAS;IAEf,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,MAAM,MAAY;IAClB,SAAS,MAAS;IAClB,WAAW,MAAO;IAClB,UAAU,MAAQ;IAClB,KAAK,MAAa;IAClB,MAAM,MAAY;IAElB,QAAQ,MAAe;IACvB,gBAAgB,MAAO;IAEvB,KAAK,OAAS;IAEd,MAAM,OAAqB;IAC3B,MAAM,OAAqB;IAC3B,OAAO,OAAoB;IAC3B,OAAO,OAAoB;IAC3B,eAAe,OAAY;IAC3B,cAAc,OAAa;IAC3B,aAAa,OAAc;IAC3B,WAAW,OAAgB;IAC3B,gBAAgB,OAAW;IAC3B,SAAS,OAAkB;IAC3B,SAAS,OAAkB;IAC3B,cAAc,OAAa;IAC3B,eAAe,OAAY;IAC3B,kBAAkB,OAAS;IAE3B,aAAa,OAAc;IAC3B,kBAAkB,OAAS;IAE3B,kBAAkB,OAAS;IAC3B,iBAAiB,OAAU;IAC3B,gBAAgB,QAAW;IAE3B,qBAAqB,QAAS;IAE9B,aAAa,QAAS;IAEtB,SAAS,UAAW;IAEpB,gBAAgB,QAAS;IACzB,gBAAgB,QAAS;IACzB,iBAAiB,QAAS;IAC1B,iBAAiB,QAAS;IAC1B,QAAQ,QAAS;IACjB,SAAS,QAAU;CACtB"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/common.d.ts b/node_modules/meriyah/dist/src/common.d.ts new file mode 100644 index 0000000..56ad5d2 --- /dev/null +++ b/node_modules/meriyah/dist/src/common.d.ts @@ -0,0 +1,201 @@ +import { Token } from './token'; +import { Errors } from './errors'; +import { Node, Comment, Decorator, SourceLocation } from './estree'; +export declare const enum Context { + None = 0, + OptionsNext = 1, + OptionsRanges = 2, + OptionsLoc = 4, + OptionsDirectives = 8, + OptionsJSX = 16, + OptionsGlobalReturn = 32, + OptionsLexical = 64, + OptionsPreserveParens = 128, + OptionsWebCompat = 256, + OptionsRaw = 512, + Strict = 1024, + Module = 2048, + InSwitch = 4096, + InGlobal = 8192, + InClass = 16384, + AllowRegExp = 32768, + TaggedTemplate = 65536, + InIteration = 131072, + SuperProperty = 262144, + SuperCall = 524288, + InYieldContext = 2097152, + InAwaitContext = 4194304, + InArgumentList = 8388608, + InConstructor = 16777216, + InMethod = 33554432, + AllowNewTarget = 67108864, + DisallowIn = 134217728, + OptionsIdentifierPattern = 268435456, + OptionsSpecDeviation = 536870912, + AllowEscapedKeyword = 1073741824, + OptionsUniqueKeyInPattern = -2147483648 +} +export declare const enum PropertyKind { + None = 0, + Method = 1, + Computed = 2, + Shorthand = 4, + Generator = 8, + Async = 16, + Static = 32, + Constructor = 64, + ClassField = 128, + Getter = 256, + Setter = 512, + Extends = 1024, + Literal = 2048, + PrivateField = 4096, + GetSet = 768 +} +export declare const enum BindingKind { + None = 0, + ArgumentList = 1, + Empty = 2, + Variable = 4, + Let = 8, + Const = 16, + Class = 32, + FunctionLexical = 64, + FunctionStatement = 128, + CatchPattern = 256, + CatchIdentifier = 512, + CatchIdentifierOrPattern = 768, + LexicalOrFunction = 68, + LexicalBinding = 248 +} +export declare const enum Origin { + None = 0, + Statement = 1, + BlockStatement = 2, + TopLevel = 4, + Declaration = 8, + Arrow = 16, + ForStatement = 32, + Export = 64 +} +export declare const enum AssignmentKind { + None = 0, + Assignable = 1, + CannotAssign = 2 +} +export declare const enum DestructuringKind { + None = 0, + HasToDestruct = 8, + CannotDestruct = 16, + Assignable = 32, + SeenProto = 64, + Await = 128, + Yield = 256 +} +export declare const enum Flags { + None = 0, + NewLine = 1, + HasConstructor = 32, + Octals = 64, + SimpleParameterList = 128, + HasStrictReserved = 256, + StrictEvalArguments = 512, + DisallowCall = 1024, + HasOptionalChaining = 2048 +} +export declare const enum HoistedClassFlags { + None = 0, + Hoisted = 1, + Export = 2 +} +export declare const enum HoistedFunctionFlags { + None = 0, + Hoisted = 1, + Export = 2 +} +export declare const enum ScopeKind { + None = 0, + ForStatement = 1, + Block = 2, + CatchStatement = 4, + SwitchStatement = 8, + ArgList = 16, + TryStatement = 32, + CatchBlock = 64, + FunctionBody = 128, + FunctionRoot = 256, + FunctionParams = 512, + ArrowParams = 1024, + CatchIdentifier = 2048 +} +export declare type OnComment = void | Comment[] | ((type: string, value: string, start: number, end: number, loc: SourceLocation) => any); +export declare type OnToken = void | Token[] | ((token: string, start: number, end: number, loc: SourceLocation) => any); +export interface ScopeState { + parent: ScopeState | undefined; + type: ScopeKind; + scopeError?: ScopeError | null; +} +export interface ScopeError { + type: Errors; + params: string[]; + index: number; + line: number; + column: number; +} +export interface ParserState { + source: string; + flags: Flags; + index: number; + line: number; + column: number; + tokenPos: number; + startPos: number; + startColumn: number; + startLine: number; + colPos: number; + linePos: number; + end: number; + token: Token; + onComment: any; + onToken: any; + tokenValue: any; + tokenRaw: string; + tokenRegExp: void | { + pattern: string; + flags: string; + }; + sourceFile: string | void; + assignable: AssignmentKind | DestructuringKind; + destructible: AssignmentKind | DestructuringKind; + currentChar: number; + exportedNames: any; + exportedBindings: any; + leadingDecorators: Decorator[]; +} +export declare function matchOrInsertSemicolon(parser: ParserState, context: Context, specDeviation?: number): void; +export declare function isValidStrictMode(parser: ParserState, index: number, tokenPos: number, tokenValue: string): 0 | 1; +export declare function optionalBit(parser: ParserState, context: Context, t: Token): 0 | 1; +export declare function consumeOpt(parser: ParserState, context: Context, t: Token): boolean; +export declare function consume(parser: ParserState, context: Context, t: Token): void; +export declare function reinterpretToPattern(state: ParserState, node: any): void; +export declare function validateBindingIdentifier(parser: ParserState, context: Context, kind: BindingKind, t: Token, skipEvalArgCheck: 0 | 1): void; +export declare function validateFunctionName(parser: ParserState, context: Context, t: Token): void; +export declare function isStrictReservedWord(parser: ParserState, context: Context, t: Token): boolean; +export declare function isPropertyWithPrivateFieldKey(expr: any): boolean; +export declare function isValidLabel(parser: ParserState, labels: any, name: string, isIterationStatement: 0 | 1): 0 | 1; +export declare function validateAndDeclareLabel(parser: ParserState, labels: any, name: string): void; +export declare function finishNode(parser: ParserState, context: Context, start: number, line: number, column: number, node: T): T; +export declare function createArrowHeadParsingScope(parser: ParserState, context: Context, value: string): ScopeState; +export declare function recordScopeError(parser: ParserState, type: Errors, ...params: string[]): ScopeError; +export declare function createScope(): ScopeState; +export declare function addChildScope(parent: ScopeState | undefined, type: ScopeKind): ScopeState; +export declare function addVarOrBlock(parser: ParserState, context: Context, scope: ScopeState, name: string, kind: BindingKind, origin: Origin): void; +export declare function addBlockName(parser: ParserState, context: Context, scope: any, name: string, kind: BindingKind, origin: Origin): void; +export declare function addVarName(parser: ParserState, context: Context, scope: ScopeState, name: string, kind: BindingKind): void; +export declare function declareUnboundVariable(parser: ParserState, name: string): void; +export declare function addBindingToExports(parser: ParserState, name: string): void; +export declare function pushComment(context: Context, array: any[]): any; +export declare function pushToken(context: Context, array: any[]): any; +export declare function isValidIdentifier(context: Context, t: Token): boolean; +export declare function classifyIdentifier(parser: ParserState, context: Context, t: Token, isArrow: 0 | 1): any; +//# sourceMappingURL=common.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/common.d.ts.map b/node_modules/meriyah/dist/src/common.d.ts.map new file mode 100644 index 0000000..81e34d9 --- /dev/null +++ b/node_modules/meriyah/dist/src/common.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAoB,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAAU,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMpE,0BAAkB,OAAO;IACvB,IAAI,IAAI;IACR,WAAW,IAAS;IACpB,aAAa,IAAS;IACtB,UAAU,IAAS;IACnB,iBAAiB,IAAS;IAC1B,UAAU,KAAS;IACnB,mBAAmB,KAAS;IAC5B,cAAc,KAAS;IACvB,qBAAqB,MAAS;IAC9B,gBAAgB,MAAS;IACzB,UAAU,MAAS;IACnB,MAAM,OAAU;IAChB,MAAM,OAAU;IAChB,QAAQ,OAAU;IAClB,QAAQ,OAAU;IAClB,OAAO,QAAU;IACjB,WAAW,QAAU;IACrB,cAAc,QAAU;IACxB,WAAW,SAAU;IACrB,aAAa,SAAU;IACvB,SAAS,SAAU;IACnB,cAAc,UAAU;IACxB,cAAc,UAAU;IACxB,cAAc,UAAU;IACxB,aAAa,WAAU;IACvB,QAAQ,WAAU;IAClB,cAAc,WAAU;IACxB,UAAU,YAAU;IACpB,wBAAwB,YAAU;IAClC,oBAAoB,YAAU;IAC9B,mBAAmB,aAAU;IAC7B,yBAAyB,cAAU;CACpC;AAKD,0BAAkB,YAAY;IAC5B,IAAI,IAAI;IACR,MAAM,IAAS;IACf,QAAQ,IAAS;IACjB,SAAS,IAAS;IAClB,SAAS,IAAS;IAClB,KAAK,KAAS;IACd,MAAM,KAAS;IACf,WAAW,KAAS;IACpB,UAAU,MAAS;IACnB,MAAM,MAAS;IACf,MAAM,MAAS;IACf,OAAO,OAAU;IACjB,OAAO,OAAU;IACjB,YAAY,OAAU;IACtB,MAAM,MAAkB;CACzB;AAKD,0BAAkB,WAAW;IAC3B,IAAI,IAAI;IACR,YAAY,IAAS;IACrB,KAAK,IAAS;IACd,QAAQ,IAAS;IACjB,GAAG,IAAS;IACZ,KAAK,KAAS;IACd,KAAK,KAAS;IACd,eAAe,KAAS;IACxB,iBAAiB,MAAS;IAC1B,YAAY,MAAS;IACrB,eAAe,MAAS;IACxB,wBAAwB,MAAiC;IACzD,iBAAiB,KAA6B;IAC9C,cAAc,MAA4D;CAC3E;AAKD,0BAAkB,MAAM;IACtB,IAAI,IAAI;IACR,SAAS,IAAS;IAClB,cAAc,IAAS;IACvB,QAAQ,IAAS;IACjB,WAAW,IAAS;IACpB,KAAK,KAAS;IACd,YAAY,KAAS;IACrB,MAAM,KAAS;CAChB;AAKD,0BAAkB,cAAc;IAC9B,IAAI,IAAI;IACR,UAAU,IAAS;IACnB,YAAY,IAAS;CACtB;AAKD,0BAAkB,iBAAiB;IACjC,IAAI,IAAI;IACR,aAAa,IAAS;IAGtB,cAAc,KAAS;IAEvB,UAAU,KAAS;IAEnB,SAAS,KAAS;IAClB,KAAK,MAAS;IACd,KAAK,MAAS;CACf;AAKD,0BAAkB,KAAK;IACrB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,cAAc,KAAS;IACvB,MAAM,KAAS;IACf,mBAAmB,MAAS;IAC5B,iBAAiB,MAAS;IAC1B,mBAAmB,MAAS;IAC5B,YAAY,OAAY;IACxB,mBAAmB,OAAU;CAC9B;AAED,0BAAkB,iBAAiB;IACjC,IAAI,IAAA;IACJ,OAAO,IAAS;IAChB,MAAM,IAAS;CAChB;AAED,0BAAkB,oBAAoB;IACpC,IAAI,IAAA;IACJ,OAAO,IAAS;IAChB,MAAM,IAAS;CAChB;AAKD,0BAAkB,SAAS;IACzB,IAAI,IAAI;IACR,YAAY,IAAS;IACrB,KAAK,IAAS;IACd,cAAc,IAAS;IACvB,eAAe,IAAS;IACxB,OAAO,KAAS;IAChB,YAAY,KAAS;IACrB,UAAU,KAAS;IACnB,YAAY,MAAS;IACrB,YAAY,MAAS;IACrB,cAAc,MAAS;IACvB,WAAW,OAAU;IACrB,eAAe,OAAU;CAC1B;AAKD,oBAAY,SAAS,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,GAAG,CAAC,CAAC;AAKnI,oBAAY,OAAO,GAAG,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,GAAG,CAAC,CAAC;AAKjH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAChC;AAGD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,IAAI,GAAG;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,cAAc,GAAG,iBAAiB,CAAC;IAC/C,YAAY,EAAE,cAAc,GAAG,iBAAiB,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,iBAAiB,EAAE,SAAS,EAAE,CAAC;CAChC;AAUD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAU1G;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAOjH;AAUD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAIlF;AAUD,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAInF;AAUD,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAG7E;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CA+BxE;AAWD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,KAAK,EACR,gBAAgB,EAAE,CAAC,GAAG,CAAC,GACtB,IAAI,CA+BN;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,KAAK,GACP,IAAI,CAgCN;AAUD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAa7F;AAQD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAEhE;AAUD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAW/G;AAUD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ5F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,IAAI,EACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,GACN,CAAC,CAyBH;AAwBD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAI5G;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CASnG;AAKD,wBAAgB,WAAW,IAAI,UAAU,CAKxC;AAQD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,UAAU,CAMzF;AAYD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,QAUf;AAYD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,QAoCf;AAWD,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAChB,IAAI,CAoCN;AAWD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9E;AAUD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI3E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAiB/D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAgB7D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAarE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,KAAK,EACR,OAAO,EAAE,CAAC,GAAG,CAAC,GACb,GAAG,CAOL"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/errors.d.ts b/node_modules/meriyah/dist/src/errors.d.ts new file mode 100644 index 0000000..489b664 --- /dev/null +++ b/node_modules/meriyah/dist/src/errors.d.ts @@ -0,0 +1,187 @@ +import { ParserState } from './common'; +export declare const enum Errors { + Unexpected = 0, + StrictOctalEscape = 1, + TemplateOctalLiteral = 2, + InvalidPrivateIdentifier = 3, + InvalidUnicodeEscapeSequence = 4, + InvalidCodePoint = 5, + InvalidHexEscapeSequence = 6, + StrictDecimalWithLeadingZero = 7, + StrictOctalLiteral = 8, + ExpectedNumberInRadix = 9, + MissingExponent = 10, + InvalidBigInt = 11, + IDStartAfterNumber = 12, + InvalidEightAndNine = 13, + UnterminatedString = 14, + UnterminatedTemplate = 15, + UnterminatedComment = 16, + InvalidDynamicUnicode = 17, + IllegalCharacter = 18, + MissingHexDigits = 19, + InvalidImplicitOctals = 20, + InvalidStringLT = 21, + InvalidEscapeIdentifier = 22, + ExpectedToken = 23, + CantAssignTo = 24, + InvalidLHSAsyncArrow = 25, + SuperNoConstructor = 26, + InvalidSuperProperty = 27, + UnexpectedToken = 28, + AwaitInParameter = 29, + YieldInParameter = 30, + InvalidExponentiationLHS = 31, + UnterminatedRegExp = 32, + UnexpectedTokenRegExpFlag = 33, + DuplicateRegExpFlag = 34, + AccessorWrongArgs = 35, + BadSetterRestParameter = 36, + DeclNoName = 37, + StrictFunctionName = 38, + RestMissingArg = 39, + InvalidGeneratorGetter = 40, + InvalidComputedPropName = 41, + InvalidGetSetGenerator = 42, + InvalidAsyncGetter = 43, + InvalidGenMethodShorthand = 44, + InvalidLineBreak = 45, + InvalidArrowDestructLHS = 46, + InvalidBindingDestruct = 47, + InvalidAsyncArrow = 48, + StaticPrototype = 49, + InvalidConstructor = 50, + DuplicateConstructor = 51, + InvalidIncDecTarget = 52, + InvalidIncDecNew = 53, + InvalidAssignmentTarget = 54, + InvalidRestTrailing = 55, + DeclarationMissingInitializer = 56, + ForInOfLoopInitializer = 57, + ForInOfLoopMultiBindings = 58, + InvalidShorthandPropInit = 59, + DuplicateProto = 60, + InvalidLetBoundName = 61, + InvalidNewUnary = 62, + IllegalUseStrict = 63, + DisallowedLetInStrict = 64, + IllegalContinue = 65, + IllegalBreak = 66, + InvalidLetBracket = 67, + InvalidDestructuringTarget = 68, + RestDefaultInitializer = 69, + InvalidRestNotLast = 70, + InvalidRestArg = 71, + InvalidRestDefault = 72, + StrictFunction = 73, + SloppyFunction = 74, + WebCompatFunction = 75, + ClassForbiddenAsStatement = 76, + CantAssignToInOfForLoop = 77, + InvalidAssignmentInOfForLoop = 78, + InvalidForAwait = 79, + InvalidTemplateContinuation = 80, + RestrictedLetProduction = 81, + UnexpectedLetStrictReserved = 82, + InvalidCatchParams = 83, + InvalidCatchParamDefault = 84, + NoCatchOrFinally = 85, + MultipleDefaultsInSwitch = 86, + NewlineAfterThrow = 87, + StrictWith = 88, + IllegalReturn = 89, + InvalidForLHSBinding = 90, + InvalidNewTarget = 91, + InvalidEscapedKeyword = 92, + MissingPrivateIdentifier = 93, + DisallowedInContext = 94, + AwaitOutsideAsync = 95, + InvalidStrictLet = 96, + InvalidLetConstBinding = 97, + InvalidLetClassName = 98, + KeywordNotId = 99, + InvalidImportExportSloppy = 100, + UnicodeOverflow = 101, + InvalidExportImportSource = 102, + InvalidKeywordAsAlias = 103, + InvalidDefaultImport = 104, + TrailingDecorators = 105, + GeneratorConstructor = 106, + AwaitOrYieldIdentInModule = 107, + HtmlCommentInWebCompat = 108, + StrictInvalidLetInExprPos = 109, + NotAssignableLetArgs = 110, + ForOfLet = 111, + InvalidInvokedBlockBodyArrow = 112, + InvalidAccessedBlockBodyArrow = 113, + UnexpectedStrictReserved = 114, + StrictEvalArguments = 115, + InvalidDecoratorSemicolon = 116, + StrictDelete = 117, + InvalidPatternTail = 118, + AsyncFunctionInSingleStatementContext = 119, + InvalidTernaryYield = 120, + InvalidArrowPostfix = 121, + InvalidObjLitKeyStar = 122, + DeletePrivateField = 123, + InvalidStaticClassFieldConstructor = 124, + InvalidClassFieldConstructor = 125, + InvalidClassFieldArgEval = 126, + InvalidGeneratorFunction = 127, + AsyncRestrictedProd = 128, + UnexpectedCharAfterObjLit = 129, + InvalidObjLitKey = 130, + InvalidKeyToken = 131, + LabelRedeclaration = 132, + InvalidNestedStatement = 133, + UnknownLabel = 134, + InvalidImportTail = 135, + ImportNotOneArg = 136, + InvalidImportNew = 137, + InvalidSpreadInImport = 138, + UncompleteArrow = 139, + DuplicateBinding = 140, + DuplicateExportBinding = 141, + UndeclaredExportedBinding = 142, + UnexpectedPrivateField = 143, + DuplicateLetConstBinding = 144, + CantAssignToValidRHS = 145, + ContinuousNumericSeparator = 146, + TrailingNumericSeparator = 147, + InvalidJSXAttributeValue = 148, + ExpectedJSXClosingTag = 149, + AdjacentJSXElements = 150, + InvalidNonEmptyJSXExpr = 151, + DuplicateIdentifier = 152, + ShadowedCatchClause = 153, + InvalidDotProperty = 154, + UnclosedSpreadElement = 155, + CatchWithoutTry = 156, + FinallyWithoutTry = 157, + UnCorrespondingFragmentTag = 158, + InvalidCoalescing = 159, + OptionalChainingNoTemplate = 160, + OptionalChainingNoSuper = 161, + OptionalChainingNoNew = 162, + ImportMetaOutsideModule = 163, + InvalidLeadingDecorator = 164 +} +export declare const errorMessages: { + [key: string]: string; +}; +export declare class ParseError extends SyntaxError { + loc: { + line: ParseError['line']; + column: ParseError['column']; + }; + index: number; + line: number; + column: number; + description: string; + constructor(startindex: number, line: number, column: number, type: Errors, ...params: string[]); +} +export declare function report(parser: ParserState, type: Errors, ...params: string[]): never; +export declare function reportScopeError(scope: any): never; +export declare function reportMessageAt(index: number, line: number, column: number, type: Errors, ...params: string[]): never; +export declare function reportScannerError(index: number, line: number, column: number, type: Errors): never; +//# sourceMappingURL=errors.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/errors.d.ts.map b/node_modules/meriyah/dist/src/errors.d.ts.map new file mode 100644 index 0000000..6427dd8 --- /dev/null +++ b/node_modules/meriyah/dist/src/errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,0BAAkB,MAAM;IACtB,UAAU,IAAA;IACV,iBAAiB,IAAA;IACjB,oBAAoB,IAAA;IACpB,wBAAwB,IAAA;IACxB,4BAA4B,IAAA;IAC5B,gBAAgB,IAAA;IAChB,wBAAwB,IAAA;IACxB,4BAA4B,IAAA;IAC5B,kBAAkB,IAAA;IAClB,qBAAqB,IAAA;IACrB,eAAe,KAAA;IACf,aAAa,KAAA;IACb,kBAAkB,KAAA;IAClB,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,oBAAoB,KAAA;IACpB,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,qBAAqB,KAAA;IACrB,eAAe,KAAA;IACf,uBAAuB,KAAA;IACvB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,oBAAoB,KAAA;IACpB,kBAAkB,KAAA;IAClB,oBAAoB,KAAA;IACpB,eAAe,KAAA;IACf,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,wBAAwB,KAAA;IACxB,kBAAkB,KAAA;IAClB,yBAAyB,KAAA;IACzB,mBAAmB,KAAA;IACnB,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,UAAU,KAAA;IACV,kBAAkB,KAAA;IAClB,cAAc,KAAA;IACd,sBAAsB,KAAA;IACtB,uBAAuB,KAAA;IACvB,sBAAsB,KAAA;IACtB,kBAAkB,KAAA;IAClB,yBAAyB,KAAA;IACzB,gBAAgB,KAAA;IAChB,uBAAuB,KAAA;IACvB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,eAAe,KAAA;IACf,kBAAkB,KAAA;IAClB,oBAAoB,KAAA;IACpB,mBAAmB,KAAA;IACnB,gBAAgB,KAAA;IAChB,uBAAuB,KAAA;IACvB,mBAAmB,KAAA;IACnB,6BAA6B,KAAA;IAC7B,sBAAsB,KAAA;IACtB,wBAAwB,KAAA;IACxB,wBAAwB,KAAA;IACxB,cAAc,KAAA;IACd,mBAAmB,KAAA;IACnB,eAAe,KAAA;IACf,gBAAgB,KAAA;IAChB,qBAAqB,KAAA;IACrB,eAAe,KAAA;IACf,YAAY,KAAA;IACZ,iBAAiB,KAAA;IACjB,0BAA0B,KAAA;IAC1B,sBAAsB,KAAA;IACtB,kBAAkB,KAAA;IAClB,cAAc,KAAA;IACd,kBAAkB,KAAA;IAClB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,iBAAiB,KAAA;IACjB,yBAAyB,KAAA;IACzB,uBAAuB,KAAA;IACvB,4BAA4B,KAAA;IAC5B,eAAe,KAAA;IACf,2BAA2B,KAAA;IAC3B,uBAAuB,KAAA;IACvB,2BAA2B,KAAA;IAC3B,kBAAkB,KAAA;IAClB,wBAAwB,KAAA;IACxB,gBAAgB,KAAA;IAChB,wBAAwB,KAAA;IACxB,iBAAiB,KAAA;IACjB,UAAU,KAAA;IACV,aAAa,KAAA;IACb,oBAAoB,KAAA;IACpB,gBAAgB,KAAA;IAChB,qBAAqB,KAAA;IACrB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,iBAAiB,KAAA;IACjB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,YAAY,KAAA;IACZ,yBAAyB,MAAA;IACzB,eAAe,MAAA;IACf,yBAAyB,MAAA;IACzB,qBAAqB,MAAA;IACrB,oBAAoB,MAAA;IACpB,kBAAkB,MAAA;IAClB,oBAAoB,MAAA;IACpB,yBAAyB,MAAA;IACzB,sBAAsB,MAAA;IACtB,yBAAyB,MAAA;IACzB,oBAAoB,MAAA;IACpB,QAAQ,MAAA;IACR,4BAA4B,MAAA;IAC5B,6BAA6B,MAAA;IAC7B,wBAAwB,MAAA;IACxB,mBAAmB,MAAA;IACnB,yBAAyB,MAAA;IACzB,YAAY,MAAA;IACZ,kBAAkB,MAAA;IAClB,qCAAqC,MAAA;IACrC,mBAAmB,MAAA;IACnB,mBAAmB,MAAA;IACnB,oBAAoB,MAAA;IACpB,kBAAkB,MAAA;IAClB,kCAAkC,MAAA;IAClC,4BAA4B,MAAA;IAC5B,wBAAwB,MAAA;IACxB,wBAAwB,MAAA;IACxB,mBAAmB,MAAA;IACnB,yBAAyB,MAAA;IACzB,gBAAgB,MAAA;IAChB,eAAe,MAAA;IACf,kBAAkB,MAAA;IAClB,sBAAsB,MAAA;IACtB,YAAY,MAAA;IACZ,iBAAiB,MAAA;IACjB,eAAe,MAAA;IACf,gBAAgB,MAAA;IAChB,qBAAqB,MAAA;IACrB,eAAe,MAAA;IACf,gBAAgB,MAAA;IAChB,sBAAsB,MAAA;IACtB,yBAAyB,MAAA;IACzB,sBAAsB,MAAA;IACtB,wBAAwB,MAAA;IACxB,oBAAoB,MAAA;IACpB,0BAA0B,MAAA;IAC1B,wBAAwB,MAAA;IACxB,wBAAwB,MAAA;IACxB,qBAAqB,MAAA;IACrB,mBAAmB,MAAA;IACnB,sBAAsB,MAAA;IACtB,mBAAmB,MAAA;IACnB,mBAAmB,MAAA;IACnB,kBAAkB,MAAA;IAClB,qBAAqB,MAAA;IACrB,eAAe,MAAA;IACf,iBAAiB,MAAA;IACjB,0BAA0B,MAAA;IAC1B,iBAAiB,MAAA;IACjB,0BAA0B,MAAA;IAC1B,uBAAuB,MAAA;IACvB,qBAAqB,MAAA;IACrB,uBAAuB,MAAA;IACvB,uBAAuB,MAAA;CACxB;AAED,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CA8KvB,CAAC;AAEF,qBAAa,UAAW,SAAQ,WAAW;IAClC,GAAG,EAAE;QACV,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC;IACK,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;gBAEf,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE;CAchG;AAUD,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAEpF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAElD;AAaD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAErH;AAYD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAEnG"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/estree.d.ts b/node_modules/meriyah/dist/src/estree.d.ts new file mode 100644 index 0000000..08fed59 --- /dev/null +++ b/node_modules/meriyah/dist/src/estree.d.ts @@ -0,0 +1,503 @@ +export interface _Node { + start?: number; + end?: number; + range?: [number, number]; + loc?: SourceLocation | null; +} +export interface SourceLocation { + source?: string | null; + start: Position; + end: Position; +} +export interface Position { + line: number; + column: number; +} +export declare type Labels = any; +export declare type IdentifierOrExpression = Identifier | Expression | ArrowFunctionExpression; +export declare type ArgumentExpression = ArrayExpression | AssignmentExpression | ConditionalExpression | Literal | SpreadElement | BinaryExpression | LogicalExpression | SequenceExpression; +export declare type CommentType = 'SingleLine' | 'MultiLine' | 'HTMLOpen' | 'HTMLClose' | 'HashbangComment'; +export interface Comment { + type: CommentType; + value: string; + start?: number; + end?: number; + loc?: SourceLocation | null; +} +export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BlockStatement | BreakStatement | CallExpression | ChainExpression | ImportExpression | CatchClause | ClassBody | ClassDeclaration | ClassExpression | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | PropertyDefinition | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | Import | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | JSXNamespacedName | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXMemberExpression | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | ParenthesizedExpression | PrivateIdentifier | Program | Property | RegExpLiteral | RestElement | ReturnStatement | SequenceExpression | SpreadElement | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | UpdateExpression | UnaryExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; +export declare type BindingPattern = ArrayPattern | ObjectPattern | Identifier; +export declare type ClassElement = FunctionExpression | MethodDefinition; +export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportDefaultDeclaration | ExportAllDeclaration | ExportNamedDeclaration | FunctionDeclaration; +export declare type EntityName = Identifier; +export declare type ExportDeclaration = ClassDeclaration | ClassExpression | FunctionDeclaration | VariableDeclaration; +export declare type Expression = ArrowFunctionExpression | AssignmentExpression | BinaryExpression | ConditionalExpression | MetaProperty | ChainExpression | JSXClosingElement | JSXClosingFragment | JSXExpressionContainer | JSXOpeningElement | JSXOpeningFragment | JSXSpreadChild | LogicalExpression | NewExpression | RestElement | SequenceExpression | SpreadElement | AwaitExpression | LeftHandSideExpression | UnaryExpression | UpdateExpression | YieldExpression; +export declare type ForInitialiser = Expression | VariableDeclaration; +export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; +export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; +export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; +export declare type JSXExpression = JSXEmptyExpression | JSXSpreadChild | JSXExpressionContainer; +export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression | JSXNamespacedName; +export declare type LeftHandSideExpression = CallExpression | ChainExpression | ImportExpression | ClassExpression | ClassDeclaration | FunctionExpression | LiteralExpression | MemberExpression | PrimaryExpression | TaggedTemplateExpression; +export declare type LiteralExpression = Literal | TemplateLiteral; +export declare type ObjectLiteralElementLike = MethodDefinition | Property | RestElement | SpreadElement; +export declare type Parameter = AssignmentPattern | RestElement | ArrayPattern | ObjectPattern | Identifier; +export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | Import | JSXElement | JSXFragment | JSXOpeningElement | Literal | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression; +export declare type PrimaryExpressionExtended = ArrayExpression | ArrowFunctionExpression | ArrayPattern | AwaitExpression | Expression | ClassExpression | FunctionExpression | Identifier | Import | JSXElement | JSXFragment | JSXOpeningElement | Literal | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | PrivateIdentifier | NewExpression | Super | TemplateLiteral | ThisExpression | UnaryExpression | UpdateExpression; +export declare type PropertyName = Identifier | Literal; +export declare type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DeclarationStatement | EmptyStatement | ExpressionStatement | IfStatement | IterationStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WithStatement; +interface ClassDeclarationBase extends _Node { + id: Identifier | null; + body: ClassBody; + superClass: Expression | null; + decorators?: Decorator[]; +} +interface FunctionDeclarationBase extends _Node { + id: Identifier | null; + generator: boolean; + async: boolean; + params: Parameter[]; + body?: BlockStatement | null; +} +interface MethodDefinitionBase extends _Node { + key: Expression | PrivateIdentifier | null; + value: FunctionExpression; + computed: boolean; + static: boolean; + kind: 'method' | 'get' | 'set' | 'constructor'; + decorators?: Decorator[]; +} +export interface ArrayExpression extends _Node { + type: 'ArrayExpression'; + elements: (Expression | SpreadElement | null)[]; +} +export interface ArrayPattern extends _Node { + type: 'ArrayPattern'; + elements: Expression[]; +} +export interface ArrowFunctionExpression extends _Node { + type: 'ArrowFunctionExpression'; + params: Parameter[]; + body: Expression | BlockStatement; + async: boolean; + expression: boolean; +} +export interface AssignmentExpression extends _Node { + type: 'AssignmentExpression'; + operator: string; + left: Expression; + right: Expression; +} +export interface AssignmentPattern extends _Node { + type: 'AssignmentPattern'; + left: BindingPattern | Identifier; + right?: Expression; +} +export interface AwaitExpression extends _Node { + type: 'AwaitExpression'; + argument: Expression; +} +export interface BigIntLiteral extends Literal { + bigint: string; +} +export interface BinaryExpression extends _Node { + type: 'BinaryExpression'; + operator: string; + left: Expression; + right: Expression; +} +export interface BlockStatement extends _Node { + type: 'BlockStatement'; + body: Statement[]; +} +export interface BreakStatement extends _Node { + type: 'BreakStatement'; + label: Identifier | null; +} +export interface ImportExpression extends _Node { + type: 'ImportExpression'; + source: Expression; +} +export interface ChainExpression extends _Node { + type: 'ChainExpression'; + expression: CallExpression | MemberExpression; +} +export interface CallExpression extends _Node { + type: 'CallExpression'; + callee: any; + arguments: (Expression | SpreadElement)[]; + optional?: boolean; +} +export interface CatchClause extends _Node { + type: 'CatchClause'; + param: BindingPattern | Identifier | null; + body: BlockStatement; +} +export interface ClassBody extends _Node { + type: 'ClassBody'; + body: (ClassElement | PropertyDefinition)[]; +} +export interface PropertyDefinition extends _Node { + type: 'PropertyDefinition'; + key: PrivateIdentifier | Expression; + value: any; + decorators?: Decorator[] | null; + computed: boolean; + static: boolean; +} +export interface PrivateIdentifier extends _Node { + type: 'PrivateIdentifier'; + name: string; +} +export interface ClassDeclaration extends ClassDeclarationBase { + type: 'ClassDeclaration'; +} +export interface ClassExpression extends ClassDeclarationBase { + type: 'ClassExpression'; +} +export interface ConditionalExpression extends _Node { + type: 'ConditionalExpression'; + test: Expression; + consequent: Expression; + alternate: Expression; +} +export interface ContinueStatement extends _Node { + type: 'ContinueStatement'; + label: Identifier | null; +} +export interface DebuggerStatement extends _Node { + type: 'DebuggerStatement'; +} +export interface Decorator extends _Node { + type: 'Decorator'; + expression: LeftHandSideExpression; +} +export interface DoWhileStatement extends _Node { + type: 'DoWhileStatement'; + test: Expression; + body: Statement; +} +export interface EmptyStatement extends _Node { + type: 'EmptyStatement'; +} +export interface ExportAllDeclaration extends _Node { + type: 'ExportAllDeclaration'; + source: Literal; + exported: Identifier | null; +} +export interface ExportDefaultDeclaration extends _Node { + type: 'ExportDefaultDeclaration'; + declaration: ExportDeclaration | Expression; +} +export interface ExportNamedDeclaration extends _Node { + type: 'ExportNamedDeclaration'; + declaration: ExportDeclaration | null; + specifiers: ExportSpecifier[]; + source: Literal | null; +} +export interface ExportSpecifier extends _Node { + type: 'ExportSpecifier'; + local: Identifier; + exported: Identifier; +} +export interface ExpressionStatement extends _Node { + type: 'ExpressionStatement'; + expression: Expression; +} +export interface ForInStatement extends _Node { + type: 'ForInStatement'; + left: ForInitialiser; + right: Expression; + body: Statement; +} +export interface ForOfStatement extends _Node { + type: 'ForOfStatement'; + left: ForInitialiser; + right: Expression; + body: Statement; + await: boolean; +} +export interface ForStatement extends _Node { + type: 'ForStatement'; + init: Expression | ForInitialiser | null; + test: Expression | null; + update: Expression | null; + body: Statement; +} +export interface FunctionDeclaration extends FunctionDeclarationBase { + type: 'FunctionDeclaration'; +} +export interface FunctionExpression extends FunctionDeclarationBase { + type: 'FunctionExpression'; +} +export interface Identifier extends _Node { + type: 'Identifier'; + name: string; +} +export interface IfStatement extends _Node { + type: 'IfStatement'; + test: Expression; + consequent: Statement; + alternate: Statement | null; +} +export interface Import extends _Node { + type: 'Import'; +} +export interface ImportDeclaration extends _Node { + type: 'ImportDeclaration'; + source: Literal; + specifiers: ImportClause[]; +} +export interface ImportDefaultSpecifier extends _Node { + type: 'ImportDefaultSpecifier'; + local: Identifier; +} +export interface ImportNamespaceSpecifier extends _Node { + type: 'ImportNamespaceSpecifier'; + local: Identifier; +} +export interface ImportSpecifier extends _Node { + type: 'ImportSpecifier'; + local: Identifier; + imported: Identifier; +} +export interface JSXNamespacedName extends _Node { + type: 'JSXNamespacedName'; + namespace: JSXIdentifier | JSXMemberExpression; + name: JSXIdentifier; +} +export declare type JSXAttributeValue = JSXIdentifier | Literal | JSXElement | JSXFragment | JSXExpressionContainer | JSXSpreadChild | null; +export interface JSXAttribute extends _Node { + type: 'JSXAttribute'; + name: JSXNamespacedName | JSXIdentifier; + value: JSXAttributeValue; +} +export interface JSXClosingElement extends _Node { + type: 'JSXClosingElement'; + name: JSXTagNameExpression; +} +export interface JSXClosingFragment extends _Node { + type: 'JSXClosingFragment'; +} +export interface JSXElement extends _Node { + type: 'JSXElement'; + openingElement: JSXOpeningElement; + closingElement: JSXClosingElement | null; + children: JSXChild[]; +} +export interface JSXEmptyExpression extends _Node { + type: 'JSXEmptyExpression'; +} +export interface JSXExpressionContainer extends _Node { + type: 'JSXExpressionContainer'; + expression: Expression | JSXEmptyExpression; +} +export interface JSXFragment extends _Node { + type: 'JSXFragment'; + openingFragment: JSXOpeningFragment; + closingFragment: JSXClosingFragment; + children: JSXChild[]; +} +export interface JSXIdentifier extends _Node { + type: 'JSXIdentifier'; + name: string; +} +export interface JSXMemberExpression extends _Node { + type: 'JSXMemberExpression'; + object: JSXTagNameExpression; + property: JSXIdentifier; +} +export interface JSXOpeningElement extends _Node { + type: 'JSXOpeningElement'; + selfClosing: boolean; + name: JSXTagNameExpression; + attributes: (JSXAttribute | JSXSpreadAttribute)[]; +} +export interface JSXOpeningFragment extends _Node { + type: 'JSXOpeningFragment'; +} +export interface JSXSpreadAttribute extends _Node { + type: 'JSXSpreadAttribute'; + argument: Expression; +} +export interface JSXSpreadChild extends _Node { + type: 'JSXSpreadChild'; + expression: Expression | JSXEmptyExpression; +} +export interface JSXText extends _Node { + type: 'JSXText'; + value: string; + raw?: string; +} +export interface LabeledStatement extends _Node { + type: 'LabeledStatement'; + label: Identifier; + body: Statement; +} +export interface Literal extends _Node { + type: 'Literal'; + value: boolean | number | string | null | RegExp | bigint; + raw?: string; +} +export interface LogicalExpression extends _Node { + type: 'LogicalExpression'; + operator: string; + left: Expression; + right: Expression; +} +export interface MemberExpression extends _Node { + type: 'MemberExpression'; + object: Expression | Super; + property: Expression | PrivateIdentifier; + computed?: boolean; + optional?: boolean; +} +export declare type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression; +export interface MetaProperty extends _Node { + type: 'MetaProperty'; + meta: Identifier; + property: Identifier; +} +export interface MethodDefinition extends MethodDefinitionBase { + type: 'MethodDefinition'; +} +export interface NewExpression extends _Node { + type: 'NewExpression'; + callee: LeftHandSideExpression; + arguments: Expression[]; +} +export interface ObjectExpression extends _Node { + type: 'ObjectExpression'; + properties: ObjectLiteralElementLike[]; +} +export interface ObjectPattern extends _Node { + type: 'ObjectPattern'; + properties: ObjectLiteralElementLike[]; +} +export interface Program extends _Node { + type: 'Program'; + body: Statement[]; + sourceType: 'module' | 'script'; +} +export interface ParenthesizedExpression extends _Node { + type: 'ParenthesizedExpression'; + expression: Expression; +} +export interface Property extends _Node { + type: 'Property'; + key: Expression; + value: Expression | AssignmentPattern | BindingPattern | Identifier; + computed: boolean; + method: boolean; + shorthand: boolean; + kind: 'init' | 'get' | 'set'; +} +export interface RegExpLiteral extends Literal { + regex: { + pattern: string; + flags: string; + }; +} +export interface RestElement extends _Node { + type: 'RestElement'; + argument: BindingPattern | Identifier | Expression | PropertyName; + value?: AssignmentPattern; +} +export interface ReturnStatement extends _Node { + type: 'ReturnStatement'; + argument: Expression | null; +} +export interface SequenceExpression extends _Node { + type: 'SequenceExpression'; + expressions: Expression[]; +} +export declare type SpreadArgument = BindingPattern | Identifier | Expression | PropertyName | SpreadElement; +export interface SpreadElement extends _Node { + type: 'SpreadElement'; + argument: SpreadArgument; +} +export interface Super extends _Node { + type: 'Super'; +} +export interface SwitchCase extends _Node { + type: 'SwitchCase'; + test: Expression | null; + consequent: Statement[]; +} +export interface SwitchStatement extends _Node { + type: 'SwitchStatement'; + discriminant: Expression; + cases: SwitchCase[]; +} +export interface TaggedTemplateExpression extends _Node { + type: 'TaggedTemplateExpression'; + tag: Expression; + quasi: TemplateLiteral; +} +export interface TemplateElement extends _Node { + type: 'TemplateElement'; + value: { + raw: string; + cooked: string | null; + }; + tail: boolean; +} +export interface TemplateLiteral extends _Node { + type: 'TemplateLiteral'; + quasis: TemplateElement[]; + expressions: Expression[]; +} +export interface ThisExpression extends _Node { + type: 'ThisExpression'; +} +export interface ThrowStatement extends _Node { + type: 'ThrowStatement'; + argument: Expression; +} +export interface TryStatement extends _Node { + type: 'TryStatement'; + block: BlockStatement; + handler: CatchClause | null; + finalizer: BlockStatement | null; +} +export declare type UnaryOperator = '-' | '+' | '!' | '~' | 'typeof' | 'void' | 'delete'; +export declare type UpdateOperator = '++' | '--'; +export interface UpdateExpression extends _Node { + type: 'UpdateExpression'; + operator: UpdateOperator; + argument: Expression; + prefix: boolean; +} +export interface UnaryExpression extends _Node { + type: 'UnaryExpression'; + operator: UnaryOperator; + prefix: true; + argument: Expression; +} +export interface VariableDeclaration extends _Node { + type: 'VariableDeclaration'; + declarations: VariableDeclarator[]; + kind: 'let' | 'const' | 'var'; +} +export interface VariableDeclarator extends _Node { + type: 'VariableDeclarator'; + id: Expression | BindingPattern | Identifier; + init: Expression | null; + definite?: boolean; +} +export interface WhileStatement extends _Node { + type: 'WhileStatement'; + test: Expression; + body: Statement; +} +export interface WithStatement extends _Node { + type: 'WithStatement'; + object: Expression; + body: Statement; +} +export interface YieldExpression extends _Node { + type: 'YieldExpression'; + delegate: boolean; + argument?: Expression | null; +} +export {}; +//# sourceMappingURL=estree.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/estree.d.ts.map b/node_modules/meriyah/dist/src/estree.d.ts.map new file mode 100644 index 0000000..fe22f87 --- /dev/null +++ b/node_modules/meriyah/dist/src/estree.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"estree.d.ts","sourceRoot":"","sources":["../../src/estree.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IAEvB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,MAAM,GAAG,GAAG,CAAC;AAEzB,oBAAY,sBAAsB,GAAG,UAAU,GAAG,UAAU,GAAG,uBAAuB,CAAC;AAEvF,oBAAY,kBAAkB,GAC1B,eAAe,GACf,oBAAoB,GACpB,qBAAqB,GACrB,OAAO,GACP,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,CAAC;AAEvB,oBAAY,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEpG,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B;AAED,oBAAY,IAAI,GACZ,eAAe,GACf,YAAY,GACZ,uBAAuB,GACvB,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,cAAc,GACd,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,UAAU,GACV,WAAW,GACX,MAAM,GACN,iBAAiB,GACjB,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,UAAU,GACV,kBAAkB,GAClB,sBAAsB,GACtB,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,OAAO,GACP,gBAAgB,GAChB,OAAO,GACP,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,uBAAuB,GACvB,iBAAiB,GACjB,OAAO,GACP,QAAQ,GACR,aAAa,GACb,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,KAAK,GACL,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,eAAe,GACf,eAAe,GACf,cAAc,GACd,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,eAAe,CAAC;AACpB,oBAAY,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;AACvE,oBAAY,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AACjE,oBAAY,oBAAoB,GAC5B,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,CAAC;AACxB,oBAAY,UAAU,GAAG,UAAU,CAAC;AACpC,oBAAY,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAC/G,oBAAY,UAAU,GAClB,uBAAuB,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,aAAa,GACb,eAAe,GACf,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,eAAe,CAAC;AACpB,oBAAY,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAC9D,oBAAY,YAAY,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,eAAe,CAAC;AAC/F,oBAAY,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;AACpH,oBAAY,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;AAC1E,oBAAY,aAAa,GAAG,kBAAkB,GAAG,cAAc,GAAG,sBAAsB,CAAC;AACzF,oBAAY,oBAAoB,GAAG,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAC3F,oBAAY,sBAAsB,GAC9B,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,CAAC;AAC7B,oBAAY,iBAAiB,GAAG,OAAO,GAAG,eAAe,CAAC;AAC1D,oBAAY,wBAAwB,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AACjG,oBAAY,SAAS,GAAG,iBAAiB,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;AACpG,oBAAY,iBAAiB,GACzB,eAAe,GACf,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,UAAU,GACV,MAAM,GACN,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,KAAK,GACL,eAAe,GACf,cAAc,CAAC;AACnB,oBAAY,yBAAyB,GACjC,eAAe,GACf,uBAAuB,GACvB,YAAY,GACZ,eAAe,GACf,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,UAAU,GACV,MAAM,GACN,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,KAAK,GACL,eAAe,GACf,cAAc,GACd,eAAe,GACf,gBAAgB,CAAC;AACrB,oBAAY,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;AAChD,oBAAY,SAAS,GACjB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,cAAc,GACd,YAAY,GACZ,mBAAmB,GACnB,aAAa,CAAC;AAElB,UAAU,oBAAqB,SAAQ,KAAK;IAC1C,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,UAAU,uBAAwB,SAAQ,KAAK;IAC7C,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,oBAAqB,SAAQ,KAAK;IAC1C,GAAG,EAAE,UAAU,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK;IACpD,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,cAAc,GAAG,UAAU,CAAC;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,cAAc,GAAG,gBAAgB,CAAC;CAC/C;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,CAAC,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,iBAAiB,GAAG,UAAU,CAAC;IACpC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK;IAClD,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,IAAI,EAAE,0BAA0B,CAAC;IACjC,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAuB,SAAQ,KAAK;IACnD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IAChD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,MAAO,SAAQ,KAAK;IACnC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,KAAK;IACnD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,aAAa,GAAG,mBAAmB,CAAC;IAC/C,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,oBAAY,iBAAiB,GACzB,aAAa,GACb,OAAO,GACP,UAAU,GACV,WAAW,GACX,sBAAsB,GACtB,cAAc,GACd,IAAI,CAAC;AAET,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAAC;IACxC,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,KAAK;IACnD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,UAAU,EAAE,UAAU,GAAG,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,EAAE,kBAAkB,CAAC;IACpC,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IAChD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,CAAC,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,UAAU,GAAG,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B,QAAQ,EAAE,UAAU,GAAG,iBAAiB,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oBAAY,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAErH,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK;IACpD,IAAI,EAAE,yBAAyB,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,GAAG,UAAU,CAAC;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,oBAAY,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAErG,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,KAAM,SAAQ,KAAK;IAClC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,IAAI,EAAE,0BAA0B,CAAC;IACjC,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED,oBAAY,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACjF,oBAAY,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK;IAChD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts b/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts new file mode 100644 index 0000000..3c7b21e --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts @@ -0,0 +1,25 @@ +export declare const enum CharFlags { + None = 0, + IdentifierStart = 1, + IdentifierPart = 2, + KeywordCandidate = 4, + LineTerminator = 8, + Decimal = 16, + Octal = 32, + Hex = 64, + Binary = 128, + Exponent = 256, + ImplicitOctalDigits = 512, + CarriageReturn = 1024, + LineFeed = 2048, + Underscore = 4096, + StringLiteral = 8192, + JSXToken = 16384, + Hyphen = 32768 +} +export declare const CharTypes: (number | CharFlags)[]; +export declare const isIdStart: number[]; +export declare const isIdPart: number[]; +export declare function isIdentifierStart(code: number): number; +export declare function isIdentifierPart(code: number): any; +//# sourceMappingURL=charClassifier.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts.map b/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts.map new file mode 100644 index 0000000..0a48426 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/charClassifier.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"charClassifier.d.ts","sourceRoot":"","sources":["../../../src/lexer/charClassifier.ts"],"names":[],"mappings":"AAGA,0BAAkB,SAAS;IACzB,IAAI,IAAI;IACR,eAAe,IAAe;IAC9B,cAAc,IAAgB;IAC9B,gBAAgB,IAAc;IAC9B,cAAc,IAAgB;IAC9B,OAAO,KAAuB;IAC9B,KAAK,KAAyB;IAC9B,GAAG,KAA2B;IAC9B,MAAM,MAAwB;IAC9B,QAAQ,MAAsB;IAC9B,mBAAmB,MAAW;IAC9B,cAAc,OAAiB;IAC/B,QAAQ,OAAuB;IAC/B,UAAU,OAAqB;IAC/B,aAAa,OAAkB;IAC/B,QAAQ,QAAuB;IAC/B,MAAM,QAAyB;CAChC;AAKD,eAAO,MAAM,SAAS,wBAiIrB,CAAC;AAEF,eAAO,MAAM,SAAS,UAiIrB,CAAC;AAEF,eAAO,MAAM,QAAQ,UAiIpB,CAAC;AAGF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAclD"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/comments.d.ts b/node_modules/meriyah/dist/src/lexer/comments.d.ts new file mode 100644 index 0000000..6c46f07 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/comments.d.ts @@ -0,0 +1,15 @@ +import { LexerState } from './common'; +import { Context, ParserState } from '../common'; +export declare const enum CommentType { + Single = 0, + Multi = 1, + HTMLOpen = 2, + HTMLClose = 3, + HashBang = 4 +} +export declare const CommentTypes: string[]; +export declare function skipHashBang(parser: ParserState): void; +export declare function skipSingleHTMLComment(parser: ParserState, source: string, state: LexerState, context: Context, type: CommentType, start: number, line: number, column: number): LexerState; +export declare function skipSingleLineComment(parser: ParserState, source: string, state: LexerState, type: CommentType, start: number, line: number, column: number): LexerState; +export declare function skipMultiLineComment(parser: ParserState, source: string, state: LexerState): LexerState | void; +//# sourceMappingURL=comments.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/comments.d.ts.map b/node_modules/meriyah/dist/src/lexer/comments.d.ts.map new file mode 100644 index 0000000..20237b7 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/comments.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../src/lexer/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAgC,MAAM,UAAU,CAAC;AAGjF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGjD,0BAAkB,WAAW;IAC3B,MAAM,IAAA;IACN,KAAK,IAAA;IACL,QAAQ,IAAA;IACR,SAAS,IAAA;IACT,QAAQ,IAAA;CACT;AAED,eAAO,MAAM,YAAY,UAA0E,CAAC;AAOpG,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAiBtD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,UAAU,CAGZ;AAQD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,UAAU,CAsCZ;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CA+D9G"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/common.d.ts b/node_modules/meriyah/dist/src/lexer/common.d.ts new file mode 100644 index 0000000..01894f0 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/common.d.ts @@ -0,0 +1,27 @@ +import { Token } from '../token'; +import { ParserState } from '../common'; +export declare const enum LexerState { + None = 0, + NewLine = 1, + LastIsCR = 4 +} +export declare const enum NumberKind { + ImplicitOctal = 1, + Binary = 2, + Octal = 4, + Hex = 8, + Decimal = 16, + NonOctalDecimal = 32, + Float = 64, + ValidBigIntKind = 128, + DecimalNumberKind = 48 +} +export declare function advanceChar(parser: ParserState): number; +export declare function consumeMultiUnitCodePoint(parser: ParserState, hi: number): 0 | 1; +export declare function consumeLineFeed(parser: ParserState, state: LexerState): void; +export declare function scanNewLine(parser: ParserState): void; +export declare function isExoticECMAScriptWhitespace(ch: number): boolean; +export declare function fromCodePoint(codePoint: number): string; +export declare function toHex(code: number): number; +export declare function convertTokenType(t: Token): string; +//# sourceMappingURL=common.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/common.d.ts.map b/node_modules/meriyah/dist/src/lexer/common.d.ts.map new file mode 100644 index 0000000..fe2d42b --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/common.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/lexer/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAS,MAAM,WAAW,CAAC;AAI/C,0BAAkB,UAAU;IAC1B,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,QAAQ,IAAS;CAClB;AAED,0BAAkB,UAAU;IAC1B,aAAa,IAAS;IACtB,MAAM,IAAS;IACf,KAAK,IAAS;IACd,GAAG,IAAS;IACZ,OAAO,KAAS;IAChB,eAAe,KAAS;IACxB,KAAK,KAAS;IACd,eAAe,MAAS;IACxB,iBAAiB,KAA4B;CAC9C;AAOD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAGvD;AAQD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAYhF;AAKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAO5E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAKrD;AAID,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAahE;AAQD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAOD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAOD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAuBjD"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts b/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts new file mode 100644 index 0000000..82a45ae --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts @@ -0,0 +1,2 @@ +export declare function decodeHTMLStrict(text: string): string; +//# sourceMappingURL=decodeHTML.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts.map b/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts.map new file mode 100644 index 0000000..c691b66 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/decodeHTML.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeHTML.d.ts","sourceRoot":"","sources":["../../../src/lexer/decodeHTML.ts"],"names":[],"mappings":"AAinEA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYrD"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/identifier.d.ts b/node_modules/meriyah/dist/src/lexer/identifier.d.ts new file mode 100644 index 0000000..832f2bd --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/identifier.d.ts @@ -0,0 +1,9 @@ +import { ParserState, Context } from '../common'; +import { Token } from '../token'; +export declare function scanIdentifier(parser: ParserState, context: Context, isValidAsKeyword: 0 | 1): Token; +export declare function scanUnicodeIdentifier(parser: ParserState, context: Context): Token; +export declare function scanIdentifierSlowCase(parser: ParserState, context: Context, hasEscape: 0 | 1, isValidAsKeyword: number): Token; +export declare function scanPrivateIdentifier(parser: ParserState): Token; +export declare function scanIdentifierUnicodeEscape(parser: ParserState): number; +export declare function scanUnicodeEscape(parser: ParserState): number; +//# sourceMappingURL=identifier.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/identifier.d.ts.map b/node_modules/meriyah/dist/src/lexer/identifier.d.ts.map new file mode 100644 index 0000000..021a233 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/identifier.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../src/lexer/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,EAAoB,MAAM,UAAU,CAAC;AAYnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAOpG;AAQD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAKlF;AAUD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,gBAAgB,EAAE,MAAM,GACvB,KAAK,CA8DP;AAOD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAGhE;AAOD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAQvE;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAkC7D"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/index.d.ts b/node_modules/meriyah/dist/src/lexer/index.d.ts new file mode 100644 index 0000000..5c7892d --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/index.d.ts @@ -0,0 +1,10 @@ +export { scanSingleToken, nextToken, TokenLookup } from './scan'; +export { skipMultiLineComment, skipSingleLineComment, skipHashBang, skipSingleHTMLComment, CommentType } from './comments'; +export { advanceChar, consumeMultiUnitCodePoint, isExoticECMAScriptWhitespace, fromCodePoint, toHex, consumeLineFeed, scanNewLine, LexerState, NumberKind, convertTokenType } from './common'; +export { CharTypes, CharFlags, isIdentifierStart, isIdentifierPart } from './charClassifier'; +export { scanIdentifier, scanIdentifierSlowCase, scanUnicodeIdentifier, scanPrivateIdentifier, scanUnicodeEscape } from './identifier'; +export { scanString } from './string'; +export { scanNumber } from './numeric'; +export { scanTemplate, scanTemplateTail } from './template'; +export { scanRegularExpression } from './regexp'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/index.d.ts.map b/node_modules/meriyah/dist/src/lexer/index.d.ts.map new file mode 100644 index 0000000..1f78f2b --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lexer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,KAAK,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/jsx.d.ts b/node_modules/meriyah/dist/src/lexer/jsx.d.ts new file mode 100644 index 0000000..3287c45 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/jsx.d.ts @@ -0,0 +1,7 @@ +import { Token } from '../token'; +import { ParserState, Context } from '../common'; +export declare function scanJSXAttributeValue(parser: ParserState, context: Context): Token; +export declare function scanJSXString(parser: ParserState, context: Context): Token; +export declare function scanJSXToken(parser: ParserState, context: Context): Token; +export declare function scanJSXIdentifier(parser: ParserState): Token; +//# sourceMappingURL=jsx.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/jsx.d.ts.map b/node_modules/meriyah/dist/src/lexer/jsx.d.ts.map new file mode 100644 index 0000000..1b704f6 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/jsx.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../../src/lexer/jsx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWjD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CASlF;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAe1E;AAOD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAuDzE;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAW5D"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/numeric.d.ts b/node_modules/meriyah/dist/src/lexer/numeric.d.ts new file mode 100644 index 0000000..d9169a2 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/numeric.d.ts @@ -0,0 +1,6 @@ +import { ParserState, Context } from '../common'; +import { Token } from '../token'; +import { NumberKind } from './common'; +export declare function scanNumber(parser: ParserState, context: Context, kind: NumberKind): Token; +export declare function scanDecimalDigitsOrSeparator(parser: ParserState, char: number): string; +//# sourceMappingURL=numeric.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/numeric.d.ts.map b/node_modules/meriyah/dist/src/lexer/numeric.d.ts.map new file mode 100644 index 0000000..0986ccd --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/numeric.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../../src/lexer/numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAS,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAsB,UAAU,EAAE,MAAM,UAAU,CAAC;AAY1D,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,CA8MzF;AAQD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA8BtF"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/regexp.d.ts b/node_modules/meriyah/dist/src/lexer/regexp.d.ts new file mode 100644 index 0000000..e9712a0 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/regexp.d.ts @@ -0,0 +1,4 @@ +import { Context, ParserState } from '../common'; +import { Token } from '../token'; +export declare function scanRegularExpression(parser: ParserState, context: Context): Token; +//# sourceMappingURL=regexp.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/regexp.d.ts.map b/node_modules/meriyah/dist/src/lexer/regexp.d.ts.map new file mode 100644 index 0000000..67fb310 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/regexp.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"regexp.d.ts","sourceRoot":"","sources":["../../../src/lexer/regexp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAYjC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CA+GlF"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/scan.d.ts b/node_modules/meriyah/dist/src/lexer/scan.d.ts new file mode 100644 index 0000000..6a9177b --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/scan.d.ts @@ -0,0 +1,7 @@ +import { Token } from '../token'; +import { ParserState, Context } from '../common'; +import { LexerState } from './common'; +export declare const TokenLookup: Token[]; +export declare function nextToken(parser: ParserState, context: Context): void; +export declare function scanSingleToken(parser: ParserState, context: Context, state: LexerState): Token; +//# sourceMappingURL=scan.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/scan.d.ts.map b/node_modules/meriyah/dist/src/lexer/scan.d.ts.map new file mode 100644 index 0000000..0988895 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/scan.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/lexer/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAS,MAAM,WAAW,CAAC;AAGxD,OAAO,EAEL,UAAU,EAOX,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,WAAW,SAiIvB,CAAC;AAQF,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBrE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,CA4c/F"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/string.d.ts b/node_modules/meriyah/dist/src/lexer/string.d.ts new file mode 100644 index 0000000..bf9631c --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/string.d.ts @@ -0,0 +1,13 @@ +import { ParserState, Context } from '../common'; +import { Token } from '../token'; +export declare const enum Escape { + Empty = -1, + StrictOctal = -2, + EightOrNine = -3, + InvalidHex = -4, + OutOfRange = -5 +} +export declare function scanString(parser: ParserState, context: Context, quote: number): Token; +export declare function parseEscape(parser: ParserState, context: Context, first: number): number; +export declare function handleStringError(state: ParserState, code: Escape, isTemplate: 0 | 1): void; +//# sourceMappingURL=string.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/string.d.ts.map b/node_modules/meriyah/dist/src/lexer/string.d.ts.map new file mode 100644 index 0000000..af4594c --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/string.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/lexer/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAS,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAMjC,0BAAkB,MAAM;IACtB,KAAK,KAAK;IACV,WAAW,KAAK;IAChB,WAAW,KAAK;IAChB,UAAU,KAAK;IACf,UAAU,KAAK;CAChB;AAKD,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAoCtF;AAID,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkKxF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAmB3F"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/template.d.ts b/node_modules/meriyah/dist/src/lexer/template.d.ts new file mode 100644 index 0000000..bbcb08c --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/template.d.ts @@ -0,0 +1,5 @@ +import { ParserState, Context } from '../common'; +import { Token } from '../token'; +export declare function scanTemplate(parser: ParserState, context: Context): Token; +export declare function scanTemplateTail(parser: ParserState, context: Context): Token; +//# sourceMappingURL=template.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/lexer/template.d.ts.map b/node_modules/meriyah/dist/src/lexer/template.d.ts.map new file mode 100644 index 0000000..f187797 --- /dev/null +++ b/node_modules/meriyah/dist/src/lexer/template.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/lexer/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AASjC,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAuDzE;AAqCD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAK7E"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/meriyah.d.ts b/node_modules/meriyah/dist/src/meriyah.d.ts new file mode 100644 index 0000000..ba65769 --- /dev/null +++ b/node_modules/meriyah/dist/src/meriyah.d.ts @@ -0,0 +1,8 @@ +import { Options } from './parser'; +import * as ESTree from './estree'; +declare const version: string; +export declare function parseScript(source: string, options?: Options): ESTree.Program; +export declare function parseModule(source: string, options?: Options): ESTree.Program; +export declare function parse(source: string, options?: Options): ESTree.Program; +export { Options, ESTree, version }; +//# sourceMappingURL=meriyah.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/meriyah.d.ts.map b/node_modules/meriyah/dist/src/meriyah.d.ts.map new file mode 100644 index 0000000..e08a238 --- /dev/null +++ b/node_modules/meriyah/dist/src/meriyah.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"meriyah.d.ts","sourceRoot":"","sources":["../../src/meriyah.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,OAAO,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAGnC,QAAA,MAAM,OAAO,EAAE,MAAqB,CAAC;AAKrC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAE7E;AAKD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAE7E;AAKD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAEvE;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/parser.d.ts b/node_modules/meriyah/dist/src/parser.d.ts new file mode 100644 index 0000000..0b65a69 --- /dev/null +++ b/node_modules/meriyah/dist/src/parser.d.ts @@ -0,0 +1,119 @@ +import { Token } from './token'; +import * as ESTree from './estree'; +import { Context, ParserState, PropertyKind, Origin, Flags, OnComment, OnToken, BindingKind, HoistedClassFlags, HoistedFunctionFlags, ScopeState } from './common'; +export declare function create(source: string, sourceFile: string | void, onComment: OnComment | void, onToken: OnToken | void): ParserState; +export interface Options { + module?: boolean; + next?: boolean; + ranges?: boolean; + webcompat?: boolean; + loc?: boolean; + raw?: boolean; + directives?: boolean; + globalReturn?: boolean; + impliedStrict?: boolean; + preserveParens?: boolean; + lexical?: boolean; + source?: string; + identifierPattern?: boolean; + jsx?: boolean; + specDeviation?: boolean; + onComment?: OnComment; + onToken?: OnToken; + uniqueKeyInPattern?: boolean; +} +export declare function parseSource(source: string, options: Options | void, context: Context): ESTree.Program; +export declare function parseStatementList(parser: ParserState, context: Context, scope: ScopeState | undefined): ESTree.Statement[]; +export declare function parseModuleItemList(parser: ParserState, context: Context, scope: ScopeState | undefined): ReturnType[]; +export declare function parseModuleItem(parser: ParserState, context: Context, scope: ScopeState | undefined): any; +export declare function parseStatementListItem(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, labels: ESTree.Labels): ESTree.Statement | ESTree.Decorator[]; +export declare function parseStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, labels: ESTree.Labels, allowFuncDecl: 0 | 1, start: number, line: number, column: number): ESTree.Statement; +export declare function parseExpressionOrLabelledStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, labels: ESTree.Labels, allowFuncDecl: 0 | 1, start: number, line: number, column: number): ESTree.ExpressionStatement | ESTree.LabeledStatement; +export declare function parseBlock(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.BlockStatement; +export declare function parseReturnStatement(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.ReturnStatement; +export declare function parseExpressionStatement(parser: ParserState, context: Context, expression: ESTree.Expression, start: number, line: number, column: number): ESTree.ExpressionStatement; +export declare function parseLabelledStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, labels: ESTree.Labels, value: string, expr: ESTree.Identifier | ESTree.Expression, token: Token, allowFuncDecl: 0 | 1, start: number, line: number, column: number): ESTree.LabeledStatement; +export declare function parseAsyncArrowOrAsyncFunctionDeclaration(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, labels: ESTree.Labels, allowFuncDecl: 0 | 1, start: number, line: number, column: number): ESTree.ExpressionStatement | ESTree.LabeledStatement | ESTree.FunctionDeclaration; +export declare function parseDirective(parser: ParserState, context: Context, expression: ESTree.ArgumentExpression | ESTree.SequenceExpression | ESTree.Expression, token: Token, start: number, line: number, column: number): ESTree.ExpressionStatement; +export declare function parseEmptyStatement(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.EmptyStatement; +export declare function parseThrowStatement(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.ThrowStatement; +export declare function parseIfStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.IfStatement; +export declare function parseConsequentOrAlternative(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.Statement | ESTree.FunctionDeclaration; +export declare function parseSwitchStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.SwitchStatement; +export declare function parseWhileStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.WhileStatement; +export declare function parseIterationStatementBody(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels): ESTree.Statement; +export declare function parseContinueStatement(parser: ParserState, context: Context, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.ContinueStatement; +export declare function parseBreakStatement(parser: ParserState, context: Context, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.BreakStatement; +export declare function parseWithStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.WithStatement; +export declare function parseDebuggerStatement(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.DebuggerStatement; +export declare function parseTryStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.TryStatement; +export declare function parseCatchBlock(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.CatchClause; +export declare function parseDoWhileStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.DoWhileStatement; +export declare function parseLetIdentOrVarDeclarationStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, start: number, line: number, column: number): ESTree.VariableDeclaration | ESTree.LabeledStatement | ESTree.ExpressionStatement; +export declare function parseVariableStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, start: number, line: number, column: number): ESTree.VariableDeclaration; +export declare function parseVariableDeclarationList(parser: ParserState, context: Context, scope: ScopeState | undefined, kind: BindingKind, origin: Origin): ESTree.VariableDeclarator[]; +export declare function parseForStatement(parser: ParserState, context: Context, scope: ScopeState | undefined, labels: ESTree.Labels, start: number, line: number, column: number): ESTree.ForStatement | ESTree.ForInStatement | ESTree.ForOfStatement; +export declare function parseRestrictedIdentifier(parser: ParserState, context: Context, scope: ScopeState | undefined): ESTree.Identifier; +export declare function parseImportMetaDeclaration(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.ExpressionStatement; +export declare function parseExpression(parser: ParserState, context: Context, canAssign: 0 | 1, isPattern: 0 | 1, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.Expression; +export declare function parseSequenceExpression(parser: ParserState, context: Context, inGroup: 0 | 1, start: number, line: number, column: number, expr: ESTree.AssignmentExpression | ESTree.Expression): ESTree.SequenceExpression; +export declare function parseExpressions(parser: ParserState, context: Context, inGroup: 0 | 1, canAssign: 0 | 1, start: number, line: number, column: number): ESTree.SequenceExpression | ESTree.Expression; +export declare function parseAssignmentExpression(parser: ParserState, context: Context, inGroup: 0 | 1, isPattern: 0 | 1, start: number, line: number, column: number, left: ESTree.ArgumentExpression | ESTree.Expression | null): ESTree.ArgumentExpression | ESTree.Expression; +export declare function parseAssignmentExpressionOrPattern(parser: ParserState, context: Context, inGroup: 0 | 1, isPattern: 0 | 1, start: number, line: number, column: number, left: any): any; +export declare function parseConditionalExpression(parser: ParserState, context: Context, test: ESTree.Expression, start: number, line: number, column: number): ESTree.ConditionalExpression; +export declare function parseBinaryExpression(parser: ParserState, context: Context, inGroup: 0 | 1, start: number, line: number, column: number, minPrec: number, operator: Token, left: ESTree.ArgumentExpression | ESTree.Expression): ESTree.ArgumentExpression | ESTree.Expression; +export declare function parseUnaryExpression(parser: ParserState, context: Context, isLHS: 0 | 1, start: number, line: number, column: number, inGroup: 0 | 1): ESTree.UnaryExpression; +export declare function parseAsyncExpression(parser: ParserState, context: Context, inGroup: 0 | 1, isLHS: 0 | 1, canAssign: 0 | 1, isPattern: 0 | 1, inNew: 0 | 1, start: number, line: number, column: number): ESTree.FunctionExpression | ESTree.ArrowFunctionExpression | ESTree.CallExpression | ESTree.Identifier; +export declare function parseYieldExpression(parser: ParserState, context: Context, inGroup: 0 | 1, canAssign: 0 | 1, start: number, line: number, column: number): ESTree.YieldExpression | ESTree.Identifier | ESTree.ArrowFunctionExpression; +export declare function parseAwaitExpression(parser: ParserState, context: Context, inNew: 0 | 1, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.IdentifierOrExpression | ESTree.AwaitExpression; +export declare function parseFunctionBody(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, firstRestricted: Token | undefined, scopeError: any): ESTree.BlockStatement; +export declare function parseSuperExpression(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.Super; +export declare function parseLeftHandSideExpression(parser: ParserState, context: Context, canAssign: 0 | 1, inGroup: 0 | 1, isLHS: 0 | 1, start: number, line: number, column: number): ESTree.Expression; +export declare function parseMemberOrUpdateExpression(parser: ParserState, context: Context, expr: ESTree.Expression, inGroup: 0 | 1, inChain: 0 | 1, start: number, line: number, column: number): any; +export declare function parseOptionalChain(parser: ParserState, context: Context, expr: ESTree.Expression, start: number, line: number, column: number): ESTree.MemberExpression | ESTree.CallExpression; +export declare function parsePropertyOrPrivatePropertyName(parser: ParserState, context: Context): any; +export declare function parseUpdateExpressionPrefixed(parser: ParserState, context: Context, inNew: 0 | 1, isLHS: 0 | 1, start: number, line: number, column: number): ESTree.UpdateExpression; +export declare function parsePrimaryExpression(parser: ParserState, context: Context, kind: BindingKind, inNew: 0 | 1, canAssign: 0 | 1, isPattern: 0 | 1, inGroup: 0 | 1, isLHS: 0 | 1, start: number, line: number, column: number): any; +export declare function parseImportMetaExpression(parser: ParserState, context: Context, meta: ESTree.Identifier, start: number, line: number, column: number): ESTree.MetaProperty; +export declare function parseImportExpression(parser: ParserState, context: Context, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.ImportExpression; +export declare function parseBigIntLiteral(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.BigIntLiteral; +export declare function parseTemplateLiteral(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.TemplateLiteral; +export declare function parseTemplate(parser: ParserState, context: Context): ESTree.TemplateLiteral; +export declare function parseTemplateElement(parser: ParserState, context: Context, cooked: string | null, raw: string, start: number, line: number, col: number, tail: boolean): ESTree.TemplateElement; +export declare function parseArguments(parser: ParserState, context: Context, inGroup: 0 | 1): (ESTree.SpreadElement | ESTree.Expression)[]; +export declare function parseIdentifier(parser: ParserState, context: Context, isPattern: 0 | 1): ESTree.Identifier; +export declare function parseLiteral(parser: ParserState, context: Context): ESTree.Literal; +export declare function parseNullOrTrueOrFalseLiteral(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.Literal; +export declare function parseThisExpression(parser: ParserState, context: Context): ESTree.ThisExpression; +export declare function parseFunctionDeclaration(parser: ParserState, context: Context, scope: ScopeState | undefined, origin: Origin, allowGen: 0 | 1, flags: HoistedFunctionFlags, isAsync: 0 | 1, start: number, line: number, column: number): ESTree.FunctionDeclaration; +export declare function parseFunctionExpression(parser: ParserState, context: Context, isAsync: 0 | 1, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.FunctionExpression; +export declare function parseArrayExpressionOrPattern(parser: ParserState, context: Context, scope: ScopeState | undefined, skipInitializer: 0 | 1, inGroup: 0 | 1, isPattern: 0 | 1, kind: BindingKind, origin: Origin, start: number, line: number, column: number): ESTree.ArrayExpression | ESTree.ArrayPattern | ESTree.AssignmentExpression; +export declare function parseMethodDefinition(parser: ParserState, context: Context, kind: PropertyKind, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.FunctionExpression; +export declare function parseObjectLiteralOrPattern(parser: ParserState, context: Context, scope: ScopeState | undefined, skipInitializer: 0 | 1, inGroup: 0 | 1, isPattern: 0 | 1, kind: BindingKind, origin: Origin, start: number, line: number, column: number): ESTree.ObjectExpression | ESTree.ObjectPattern | ESTree.AssignmentExpression; +export declare function parseMethodFormals(parser: ParserState, context: Context, scope: ScopeState | undefined, kind: PropertyKind, type: BindingKind, inGroup: 0 | 1): ESTree.Parameter[]; +export declare function parseComputedPropertyName(parser: ParserState, context: Context, inGroup: 0 | 1): ESTree.Expression; +export declare function parseParenthesizedExpression(parser: ParserState, context: Context, canAssign: 0 | 1, kind: BindingKind, origin: Origin, start: number, line: number, column: number): any; +export declare function parseIdentifierOrArrow(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.Identifier | ESTree.ArrowFunctionExpression; +export declare function parseArrowFunctionExpression(parser: ParserState, context: Context, scope: ScopeState | undefined, params: any, isAsync: 0 | 1, start: number, line: number, column: number): ESTree.ArrowFunctionExpression; +export declare function parseFormalParametersOrFormalList(parser: ParserState, context: Context, scope: ScopeState | undefined, inGroup: 0 | 1, kind: BindingKind): ESTree.Parameter[]; +export declare function parseMembeExpressionNoCall(parser: ParserState, context: Context, expr: ESTree.Expression, inGroup: 0 | 1, start: number, line: number, column: number): any; +export declare function parseNewExpression(parser: ParserState, context: Context, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.NewExpression | ESTree.Expression | ESTree.MetaProperty; +export declare function parseMetaProperty(parser: ParserState, context: Context, meta: ESTree.Identifier, start: number, line: number, column: number): ESTree.MetaProperty; +export declare function parseAsyncArrowOrCallExpression(parser: ParserState, context: Context, callee: ESTree.Identifier | void, canAssign: 0 | 1, kind: BindingKind, origin: Origin, flags: Flags, start: number, line: number, column: number): ESTree.CallExpression | ESTree.ArrowFunctionExpression; +export declare function parseRegExpLiteral(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.RegExpLiteral; +export declare function parseClassDeclaration(parser: ParserState, context: Context, scope: ScopeState | undefined, flags: HoistedClassFlags, start: number, line: number, column: number): ESTree.ClassDeclaration; +export declare function parseClassExpression(parser: ParserState, context: Context, inGroup: 0 | 1, start: number, line: number, column: number): ESTree.ClassExpression; +export declare function parseDecorators(parser: ParserState, context: Context): ESTree.Decorator[]; +export declare function parseDecoratorList(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.Decorator; +export declare function parseClassBody(parser: ParserState, context: Context, inheritedContext: Context, scope: ScopeState | undefined, kind: BindingKind, origin: Origin, inGroup: 0 | 1): ESTree.ClassBody; +export declare function parsePropertyDefinition(parser: ParserState, context: Context, key: ESTree.PrivateIdentifier | ESTree.Expression | null, state: PropertyKind, decorators: ESTree.Decorator[] | null, start: number, line: number, column: number): ESTree.PropertyDefinition; +export declare function parseBindingPattern(parser: ParserState, context: Context, scope: ScopeState | undefined, type: BindingKind, origin: Origin, start: number, line: number, column: number): ESTree.BindingPattern; +export declare function parseOpeningFragment(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.JSXOpeningFragment; +export declare function parseJSXClosingFragment(parser: ParserState, context: Context, inJSXChild: 0 | 1, start: number, line: number, column: number): ESTree.JSXClosingFragment; +export declare function parseJSXChildren(parser: ParserState, context: Context): ESTree.JSXChild[]; +export declare function parseJSXText(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.JSXText; +export declare function parseJSXMemberExpression(parser: ParserState, context: Context, object: ESTree.JSXIdentifier | ESTree.JSXMemberExpression, start: number, line: number, column: number): ESTree.JSXMemberExpression; +export declare function parseJSXAttributes(parser: ParserState, context: Context): (ESTree.JSXAttribute | ESTree.JSXSpreadAttribute)[]; +export declare function parseJSXSpreadAttribute(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.JSXSpreadAttribute; +export declare function parseJSXIdentifier(parser: ParserState, context: Context, start: number, line: number, column: number): ESTree.JSXIdentifier; +//# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/parser.d.ts.map b/node_modules/meriyah/dist/src/parser.d.ts.map new file mode 100644 index 0000000..41fd405 --- /dev/null +++ b/node_modules/meriyah/dist/src/parser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAoB,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,OAAO,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,MAAM,EAGN,KAAK,EACL,SAAS,EACT,OAAO,EAMP,WAAW,EAUX,iBAAiB,EACjB,oBAAoB,EAIpB,UAAU,EAWX,MAAM,UAAU,CAAC;AAMlB,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,SAAS,EAAE,SAAS,GAAG,IAAI,EAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,GACtB,WAAW,CAiIb;AAKD,MAAM,WAAW,OAAO;IAEtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAKD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAiFrG;AAQD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAAC,SAAS,EAAE,CAoBpB;AAUD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,UAAU,CAAC,OAAO,cAAc,GAAG,OAAO,eAAe,CAAC,EAAE,CA2B9D;AAYD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,GAAG,CA0BzG;AAUD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,GACpB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAoEvC;AAUD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,CAAC,GAAG,CAAC,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,SAAS,CAyGlB;AAUD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,CAAC,GAAG,CAAC,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAgHtD;AAiBD,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAevB;AAaD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,CAkBxB;AAcD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CAM5B;AAeD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAC3C,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,CAAC,GAAG,CAAC,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,CA8CzB;AAgBD,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,CAAC,GAAG,CAAC,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAiJnF;AAgBD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,EACrF,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CA4B5B;AAYD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAKvB;AAcD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAmBvB;AAeD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,WAAW,CAqCpB;AAWD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,mBAAmB,CA4B/C;AAaD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,CAqDxB;AAcD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAavB;AAaD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,GACpB,MAAM,CAAC,SAAS,CAYlB;AAUD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,iBAAiB,CAiB1B;AAaD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAmBvB;AAcD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,aAAa,CA2BtB;AAaD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,iBAAiB,CAQ1B;AAcD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,YAAY,CAgDrB;AAcD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,WAAW,CAqDpB;AAYD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,CAoBzB;AAiBD,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CA8FnF;AAwDD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CAa5B;AAYD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,EAAE,CAY7B;AAmFD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAgOrE;AAUD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAAC,UAAU,CAKnB;AAiOD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CA8C5B;AAwaD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,UAAU,CAsBnB;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,GACpD,MAAM,CAAC,kBAAkB,CAa3B;AASD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAK/C;AAgBD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,GACzD,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAoE/C;AAeD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,GACR,GAAG,CA8BL;AASD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,qBAAqB,CA2B9B;AAWD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,GAClD,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAyC/C;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,GAAG,CAAC,GACb,MAAM,CAAC,eAAe,CA4CxB;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAwCxG;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAmC7E;AASD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,eAAe,CAkCxD;AAYD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,KAAK,GAAG,SAAS,EAClC,UAAU,EAAE,GAAG,GACd,MAAM,CAAC,cAAc,CA2EvB;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,KAAK,CA2Bd;AAYD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,UAAU,CAmBnB;AA8CD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,GAAG,CA4HL;AASD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAkDjD;AAQD,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAQ7F;AAYD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,CAyBzB;AAkBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,GAAG,CAkIL;AAkDD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,YAAY,CAerB;AAaD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,CAazB;AAQD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,aAAa,CAuBtB;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,CA4CxB;AAQD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,eAAe,CAqC3F;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,eAAe,CA+BxB;AA+BD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,GACb,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CA6B9C;AAQD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAqB1G;AAQD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAyBlF;AAQD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,OAAO,CAuBhB;AAQD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,CAOhG;AAaD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,CAAC,EACf,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CAkG5B;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CA8D3B;AAuED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,eAAe,EAAE,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAyP5E;AAiTD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CAgC3B;AAgGD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,eAAe,EAAE,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,oBAAoB,CA4yB9E;AAWD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,GAAG,CAAC,GACb,MAAM,CAAC,SAAS,EAAE,CA+IpB;AAQD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAgBlH;AAYD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,GAAG,CA+OL;AAYD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAepD;AAyED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,uBAAuB,CAmFhC;AAQD,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,IAAI,EAAE,WAAW,GAChB,MAAM,CAAC,SAAS,EAAE,CAsJpB;AAaD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,GAAG,CA2EL;AASD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAkEhE;AAWD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,YAAY,CAOrB;AAoED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,EAChC,SAAS,EAAE,CAAC,GAAG,CAAC,EAChB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,uBAAuB,CA6KxD;AAiBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,aAAa,CAgBtB;AASD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,CAgGzB;AAQD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,eAAe,CA2ExB;AAQD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAUzF;AAUD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,SAAS,CAWlB;AAYD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,GAAG,CAAC,GACb,MAAM,CAAC,SAAS,CAuGlB;AAmOD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,EACxD,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,EACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CA0D3B;AASD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,cAAc,CAsBvB;AAsID,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CAK3B;AA4CD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,GAAG,CAAC,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CAY3B;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAUzF;AA6BD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,OAAO,CAahB;AAsFD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,mBAAmB,EACzD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,CAO5B;AAWD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,GACf,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAMrD;AAWD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,kBAAkB,CAS3B;AA2LD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,aAAa,CAQtB"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/token.d.ts b/node_modules/meriyah/dist/src/token.d.ts new file mode 100644 index 0000000..88c4dac --- /dev/null +++ b/node_modules/meriyah/dist/src/token.d.ts @@ -0,0 +1,168 @@ +export declare const enum Token { + Type = 255, + PrecStart = 8, + Precedence = 3840, + Keyword = 4096, + Contextual = 12288, + Reserved = 20480, + FutureReserved = 36864, + IsExpressionStart = 65536, + IsIdentifier = 143360, + IsInOrOf = 262144, + IsLogical = 524288, + IsAutoSemicolon = 1048576, + IsPatternStart = 2097152, + IsAssignOp = 4194304, + IsBinaryOp = 8454144, + IsUnaryOp = 16842752, + IsUpdateOp = 33619968, + IsMemberOrCallExpression = 67108864, + IsStringOrNumber = 134217728, + IsCoalesc = 268435456, + IsEvalOrArguments = 537079808, + IsClassField = 1073741824, + EOF = 1048576, + Identifier = 208897, + NumericLiteral = 134283266, + StringLiteral = 134283267, + RegularExpression = 65540, + FalseKeyword = 86021, + TrueKeyword = 86022, + NullKeyword = 86023, + TemplateContinuation = 67174408, + TemplateSpan = 67174409, + Arrow = 10, + LeftParen = 67174411, + LeftBrace = 2162700, + Period = 67108877, + Ellipsis = 14, + RightBrace = 1074790415, + RightParen = 16, + Semicolon = 1074790417, + Comma = 18, + LeftBracket = 69271571, + RightBracket = 20, + Colon = 21, + QuestionMark = 22, + SingleQuote = 23, + DoubleQuote = 24, + JSXClose = 25, + JSXAutoClose = 26, + Increment = 33619995, + Decrement = 33619996, + Assign = 1077936157, + ShiftLeftAssign = 4194334, + ShiftRightAssign = 4194335, + LogicalShiftRightAssign = 4194336, + ExponentiateAssign = 4194337, + AddAssign = 4194338, + SubtractAssign = 4194339, + MultiplyAssign = 4194340, + DivideAssign = 4259877, + ModuloAssign = 4194342, + BitwiseXorAssign = 4194343, + BitwiseOrAssign = 4194344, + BitwiseAndAssign = 4194345, + LogicalOrAssign = 4194346, + LogicalAndAssign = 4194347, + CoalesceAssign = 4194348, + TypeofKeyword = 16863277, + DeleteKeyword = 16863278, + VoidKeyword = 16863279, + Negate = 16842800, + Complement = 16842801, + Add = 25233970, + Subtract = 25233971, + InKeyword = 8738868, + InstanceofKeyword = 8476725, + Multiply = 8457014, + Modulo = 8457015, + Divide = 8457016, + Exponentiate = 8457273, + LogicalAnd = 8979258, + LogicalOr = 8979003, + StrictEqual = 8455996, + StrictNotEqual = 8455997, + LooseEqual = 8455998, + LooseNotEqual = 8455999, + LessThanOrEqual = 8456000, + GreaterThanOrEqual = 8456001, + LessThan = 8456258, + GreaterThan = 8456259, + ShiftLeft = 8456516, + ShiftRight = 8456517, + LogicalShiftRight = 8456518, + BitwiseAnd = 8455751, + BitwiseOr = 8455240, + BitwiseXor = 8455497, + VarKeyword = 86090, + LetKeyword = 241739, + ConstKeyword = 86092, + BreakKeyword = 20557, + CaseKeyword = 20558, + CatchKeyword = 20559, + ClassKeyword = 86096, + ContinueKeyword = 20561, + DebuggerKeyword = 20562, + DefaultKeyword = 20563, + DoKeyword = 20564, + ElseKeyword = 20565, + ExportKeyword = 20566, + ExtendsKeyword = 20567, + FinallyKeyword = 20568, + ForKeyword = 20569, + FunctionKeyword = 86106, + IfKeyword = 20571, + ImportKeyword = 86108, + NewKeyword = 86109, + ReturnKeyword = 20574, + SuperKeyword = 86111, + SwitchKeyword = 86112, + ThisKeyword = 86113, + ThrowKeyword = 86114, + TryKeyword = 20579, + WhileKeyword = 20580, + WithKeyword = 20581, + ImplementsKeyword = 36966, + InterfaceKeyword = 36967, + PackageKeyword = 36968, + PrivateKeyword = 36969, + ProtectedKeyword = 36970, + PublicKeyword = 36971, + StaticKeyword = 36972, + YieldKeyword = 241773, + AsKeyword = 77934, + AsyncKeyword = 209007, + AwaitKeyword = 209008, + ConstructorKeyword = 12401, + GetKeyword = 12402, + SetKeyword = 12403, + FromKeyword = 12404, + OfKeyword = 274549, + EnumKeyword = 86134, + Eval = 537079927, + Arguments = 537079928, + EscapedReserved = 121, + EscapedFutureReserved = 122, + AnyIdentifier = 143483, + PrivateIdentifier = 124, + BigIntLiteral = 134283389, + Coalesce = 276889982, + QuestionMarkPeriod = 67108991, + WhiteSpace = 128, + Illegal = 129, + CarriageReturn = 130, + PrivateField = 131, + Template = 132, + Decorator = 133, + Target = 143494, + Meta = 143495, + LineFeed = 136, + EscapedIdentifier = 137, + JSXText = 138 +} +export declare const KeywordDescTable: string[]; +export declare const descKeywordTable: { + [key: string]: Token; +}; +//# sourceMappingURL=token.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/token.d.ts.map b/node_modules/meriyah/dist/src/token.d.ts.map new file mode 100644 index 0000000..9f295bf --- /dev/null +++ b/node_modules/meriyah/dist/src/token.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAAA,0BAAkB,KAAK;IACrB,IAAI,MAAO;IAGX,SAAS,IAAkB;IAC3B,UAAU,OAA+B;IAGzC,OAAO,OAA0B;IACjC,UAAU,QAAiC;IAC3C,QAAQ,QAAmC;IAC3C,cAAc,QAA6B;IAE3C,iBAAiB,QAAiB;IAClC,YAAY,SAAmC;IAC/C,QAAQ,SAA0B;IAClC,SAAS,SAAyB;IAClC,eAAe,UAAmB;IAClC,cAAc,UAAoB;IAClC,UAAU,UAAwB;IAClC,UAAU,UAA4C;IACtD,SAAS,WAA6C;IACtD,UAAU,WAA4C;IACtD,wBAAwB,WAAU;IAClC,gBAAgB,YAAkB;IAClC,SAAS,YAAyB;IAClC,iBAAiB,YAAoD;IACrE,YAAY,aAAsB;IAKlC,GAAG,UAAsB;IAGzB,UAAU,SAA8C;IACxD,cAAc,YAA8C;IAC5D,aAAa,YAA+C;IAC5D,iBAAiB,QAAwB;IACzC,YAAY,QAAwC;IACpD,WAAW,QAAyC;IACpD,WAAW,QAAyC;IAGpD,oBAAoB,WAAmD;IACvE,YAAY,WAAmD;IAG/D,KAAK,KAAY;IACjB,SAAS,WAAuD;IAChE,SAAS,UAA6C;IACtD,MAAM,WAAsC;IAC5C,QAAQ,KAAS;IACjB,UAAU,aAAwC;IAClD,UAAU,KAAO;IACjB,SAAS,aAAyC;IAClD,KAAK,KAAY;IACjB,WAAW,WAAsE;IACjF,YAAY,KAAK;IACjB,KAAK,KAAY;IACjB,YAAY,KAAK;IACjB,WAAW,KAAM;IACjB,WAAW,KAAM;IACjB,QAAQ,KAAS;IACjB,YAAY,KAAK;IAGjB,SAAS,WAAkB;IAC3B,SAAS,WAAkB;IAG3B,MAAM,aAAkD;IACxD,eAAe,UAA0B;IACzC,gBAAgB,UAAyB;IACzC,uBAAuB,UAAkB;IACzC,kBAAkB,UAAuB;IACzC,SAAS,UAAgC;IACzC,cAAc,UAA2B;IACzC,cAAc,UAA2B;IACzC,YAAY,UAAiD;IAC7D,YAAY,UAA6B;IACzC,gBAAgB,UAAyB;IACzC,eAAe,UAA0B;IACzC,gBAAgB,UAAyB;IACzC,eAAe,UAA0B;IACzC,gBAAgB,UAAyB;IACzC,cAAc,UAA2B;IAGzC,aAAa,WAAiC;IAC9C,aAAa,WAAiC;IAC9C,WAAW,WAAmC;IAC9C,MAAM,WAA6B;IACnC,UAAU,WAAyB;IACnC,GAAG,WAA+D;IAClE,QAAQ,WAA0D;IAClE,SAAS,UAAkE;IAC3E,iBAAiB,UAA+C;IAChE,QAAQ,UAA8C;IACtD,MAAM,UAAgD;IACtD,MAAM,UAAoE;IAC1E,YAAY,UAA0C;IACtD,UAAU,UAAuD;IACjE,SAAS,UAAwD;IACjE,WAAW,UAA0C;IACrD,cAAc,UAAuC;IACrD,UAAU,UAA2C;IACrD,aAAa,UAAwC;IACrD,eAAe,UAAsC;IACrD,kBAAkB,UAAmC;IACrD,QAAQ,UAAiE;IACzE,WAAW,UAA0C;IACrD,SAAS,UAA4C;IACrD,UAAU,UAA2C;IACrD,iBAAiB,UAAoC;IACrD,UAAU,UAA2C;IACrD,SAAS,UAA4C;IACrD,UAAU,UAA2C;IAGrD,UAAU,QAAsC;IAChD,UAAU,SAA2D;IACrE,YAAY,QAAoC;IAGhD,YAAY,QAAmB;IAC/B,WAAW,QAAoB;IAC/B,YAAY,QAAmB;IAC/B,YAAY,QAAuC;IACnD,eAAe,QAAgB;IAC/B,eAAe,QAAgB;IAC/B,cAAc,QAAiB;IAC/B,SAAS,QAAsB;IAC/B,WAAW,QAAoB;IAC/B,aAAa,QAAkB;IAC/B,cAAc,QAAiB;IAC/B,cAAc,QAAiB;IAC/B,UAAU,QAAqB;IAC/B,eAAe,QAAoC;IACnD,SAAS,QAAsB;IAC/B,aAAa,QAAsC;IACnD,UAAU,QAAyC;IACnD,aAAa,QAAkB;IAC/B,YAAY,QAAuC;IACnD,aAAa,QAAsC;IACnD,WAAW,QAAwC;IACnD,YAAY,QAAuC;IACnD,UAAU,QAAqB;IAC/B,YAAY,QAAoB;IAChC,WAAW,QAAqB;IAGhC,iBAAiB,QAAuB;IACxC,gBAAgB,QAAwB;IACxC,cAAc,QAA0B;IACxC,cAAc,QAA0B;IACxC,gBAAgB,QAAwB;IACxC,aAAa,QAA2B;IACxC,aAAa,QAA2B;IACxC,YAAY,SAA+D;IAG3E,SAAS,QAAgD;IACzD,YAAY,SAA4D;IACxE,YAAY,SAA4D;IACxE,kBAAkB,QAAmB;IACrC,UAAU,QAA2B;IACrC,UAAU,QAA2B;IACrC,WAAW,QAA0B;IACrC,SAAS,SAAuC;IAChD,WAAW,QAA4C;IAEvD,IAAI,YAAwC;IAC5C,SAAS,YAAmC;IAE5C,eAAe,MAAY;IAC3B,qBAAqB,MAAM;IAC3B,aAAa,SAA0B;IAGvC,iBAAiB,MAAO;IACxB,aAAa,YAAkD;IAC/D,QAAQ,YAA0D;IAClE,kBAAkB,WAAiC;IAGnD,UAAU,MAAa;IACvB,OAAO,MAAgB;IACvB,cAAc,MAAS;IACvB,YAAY,MAAW;IACvB,QAAQ,MAAe;IACvB,SAAS,MAAc;IACvB,MAAM,SAAgC;IACtC,IAAI,SAAkC;IACtC,QAAQ,MAAe;IACvB,iBAAiB,MAAM;IAGvB,OAAO,MAAgB;CACxB;AAED,eAAO,MAAM,gBAAgB,UA4C5B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CA0DnD,CAAC"} \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/unicode.d.ts b/node_modules/meriyah/dist/src/unicode.d.ts new file mode 100644 index 0000000..cdce39e --- /dev/null +++ b/node_modules/meriyah/dist/src/unicode.d.ts @@ -0,0 +1,6 @@ +declare function isIDContinue(code: number): boolean; +declare function isIDStart(code: number): boolean; +declare function mustEscape(code: number): boolean; +export declare const unicodeLookup: Uint32Array; +export { isIDContinue, isIDStart, mustEscape }; +//# sourceMappingURL=unicode.d.ts.map \ No newline at end of file diff --git a/node_modules/meriyah/dist/src/unicode.d.ts.map b/node_modules/meriyah/dist/src/unicode.d.ts.map new file mode 100644 index 0000000..e1b8eeb --- /dev/null +++ b/node_modules/meriyah/dist/src/unicode.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"unicode.d.ts","sourceRoot":"","sources":["../../src/unicode.ts"],"names":[],"mappings":"AAGA,iBAAS,YAAY,CAAC,IAAI,EAAC,MAAM,WAEhC;AACD,iBAAS,SAAS,CAAC,IAAI,EAAC,MAAM,WAE7B;AACD,iBAAS,UAAU,CAAC,IAAI,EAAC,MAAM,WAE9B;AACD,eAAO,MAAM,aAAa,aAsBzB,CAAA;AACD,OAAO,EAAC,YAAY,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC"} \ No newline at end of file -- cgit