@danielx/civet 0.6.60 → 0.6.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.mjs CHANGED
@@ -485,6 +485,7 @@ ${input.slice(result.pos)}
485
485
  var require_lib = __commonJS({
486
486
  "source/lib.civet"(exports, module) {
487
487
  "use strict";
488
+ var xor = (a, b) => a ? !b && a : b;
488
489
  function addParentPointers(node, parent) {
489
490
  if (node == null)
490
491
  return;
@@ -892,6 +893,31 @@ var require_lib = __commonJS({
892
893
  children
893
894
  };
894
895
  }
896
+ function expressionizeTypeIf([ws, ifOp, condition, t, e]) {
897
+ const children = [
898
+ ws,
899
+ "(",
900
+ insertTrimmingSpace(condition, ""),
901
+ "?"
902
+ ];
903
+ if (!xor(ifOp.negated, condition.negated)) {
904
+ children.push(t);
905
+ if (e) {
906
+ children.push(e[0], ":", ...e.slice(2));
907
+ } else {
908
+ children.push(":never");
909
+ }
910
+ } else {
911
+ if (e) {
912
+ children.push(...e.slice(2), e[0], ":");
913
+ } else {
914
+ children.push("never:");
915
+ }
916
+ children.push(t);
917
+ }
918
+ children.push(")");
919
+ return children;
920
+ }
895
921
  function expressionizeIteration(exp) {
896
922
  const { async, subtype, block, children, statement } = exp;
897
923
  const i = children.indexOf(statement);
@@ -964,10 +990,13 @@ var require_lib = __commonJS({
964
990
  if (op.reversed) {
965
991
  if (end !== i + 2)
966
992
  b = makeLeftHandSideExpression(b);
993
+ b = dotNumericLiteral(b);
967
994
  children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
968
995
  } else {
969
- if (start !== i - 2)
996
+ if (start !== i - 2 || a.type === "NumericLiteral") {
970
997
  a = makeLeftHandSideExpression(a);
998
+ }
999
+ a = dotNumericLiteral(a);
971
1000
  children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
972
1001
  }
973
1002
  } else if (op.token) {
@@ -1406,18 +1435,18 @@ var require_lib = __commonJS({
1406
1435
  }
1407
1436
  function findChildIndex(parent, child) {
1408
1437
  const children = Array.isArray(parent) ? parent : parent.children;
1409
- const len = children.length;
1410
- for (let i = 0; i < len; i++) {
1411
- const c = children[i];
1438
+ for (let i4 = 0, len4 = children.length; i4 < len4; i4++) {
1439
+ const i = i4;
1440
+ const c = children[i4];
1412
1441
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1413
1442
  return i;
1414
1443
  }
1415
1444
  }
1416
1445
  function arrayRecurse(array) {
1417
- const len2 = array.length;
1418
1446
  const results2 = [];
1419
- for (let i = 0; i < len2; i++) {
1420
- const c = array[i];
1447
+ for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
1448
+ const i = i5;
1449
+ const c = array[i5];
1421
1450
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1422
1451
  return true;
1423
1452
  } else {
@@ -1429,6 +1458,32 @@ var require_lib = __commonJS({
1429
1458
  }
1430
1459
  return -1;
1431
1460
  }
1461
+ function replaceNode(node, newNode) {
1462
+ if (!(node.parent != null)) {
1463
+ throw new Error("replaceNode failed: node has no parent");
1464
+ }
1465
+ function recurse(children) {
1466
+ for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1467
+ const i = i6;
1468
+ const child = children[i6];
1469
+ if (child === node) {
1470
+ children[i] = newNode;
1471
+ return true;
1472
+ } else if (Array.isArray(child)) {
1473
+ if (recurse(child)) {
1474
+ return true;
1475
+ }
1476
+ }
1477
+ }
1478
+ return false;
1479
+ }
1480
+ if (!recurse(node.parent.children)) {
1481
+ throw new Error("replaceNode failed: didn't find child node in parent");
1482
+ }
1483
+ if (typeof newNode === "object" && !Array.isArray(newNode)) {
1484
+ newNode.parent = node.parent;
1485
+ }
1486
+ }
1432
1487
  function findAncestor(node, predicate, stopPredicate) {
1433
1488
  let { parent } = node;
1434
1489
  while (parent && !stopPredicate?.(parent, node)) {
@@ -2007,6 +2062,13 @@ var require_lib = __commonJS({
2007
2062
  insertRestSplices(statements, splices, thisAssignments);
2008
2063
  return [splices, thisAssignments];
2009
2064
  }
2065
+ function dotNumericLiteral(literal) {
2066
+ if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
2067
+ literal.children.push(".");
2068
+ literal.raw += ".";
2069
+ }
2070
+ return literal;
2071
+ }
2010
2072
  function literalValue(literal) {
2011
2073
  let { raw } = literal;
2012
2074
  switch (raw) {
@@ -2115,6 +2177,20 @@ var require_lib = __commonJS({
2115
2177
  return expression;
2116
2178
  }
2117
2179
  }
2180
+ var typeNeedsNoParens = /* @__PURE__ */ new Set([
2181
+ "IdentifierType",
2182
+ "ImportType",
2183
+ "LiteralType",
2184
+ "TupleType",
2185
+ "ParenthesizedType",
2186
+ "UnaryType"
2187
+ ]);
2188
+ function parenthesizeType(type) {
2189
+ if (typeNeedsNoParens.has(type.type)) {
2190
+ return type;
2191
+ }
2192
+ return ["(", type, ")"];
2193
+ }
2118
2194
  function modifyString(str) {
2119
2195
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
2120
2196
  }
@@ -2166,6 +2242,25 @@ var require_lib = __commonJS({
2166
2242
  block
2167
2243
  };
2168
2244
  }
2245
+ function convertOptionalType(suffix) {
2246
+ if (suffix.t.type === "AssertsType") {
2247
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = {
2248
+ type: "Error",
2249
+ message: "Can't use optional ?: syntax with asserts type"
2250
+ });
2251
+ return;
2252
+ }
2253
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = void 0);
2254
+ const wrap = suffix.type === "ReturnTypeAnnotation";
2255
+ spliceChild(suffix, suffix.t, 1, suffix.t = [
2256
+ getTrimmingSpace(suffix.t),
2257
+ wrap && "(",
2258
+ // TODO: avoid parens if unnecessary
2259
+ "undefined | ",
2260
+ parenthesizeType(insertTrimmingSpace(suffix.t, "")),
2261
+ wrap && ")"
2262
+ ]);
2263
+ }
2169
2264
  function convertObjectToJSXAttributes(obj) {
2170
2265
  const { properties } = obj;
2171
2266
  const parts = [];
@@ -2451,18 +2546,23 @@ var require_lib = __commonJS({
2451
2546
  return n.type === "Declaration";
2452
2547
  }).forEach(({ bindings }) => {
2453
2548
  return bindings?.forEach((binding) => {
2454
- const { initializer } = binding;
2455
- if (!initializer) {
2456
- return;
2549
+ const suffix = binding.suffix;
2550
+ if (suffix && suffix.optional && suffix.t) {
2551
+ convertOptionalType(suffix);
2457
2552
  }
2458
- const exp = initializer[2];
2459
- if (exp?.type === "PipelineExpression") {
2460
- if (exp.children.at(-2) === ",") {
2461
- const { parent } = exp;
2462
- const parenthesizedExpression = makeLeftHandSideExpression(exp);
2463
- parenthesizedExpression.parent = parent;
2464
- exp.parent = parenthesizedExpression;
2465
- return initializer[2] = parenthesizedExpression;
2553
+ const { initializer } = binding;
2554
+ if (initializer) {
2555
+ const exp = initializer[2];
2556
+ if (exp?.type === "PipelineExpression") {
2557
+ if (exp.children.at(-2) === ",") {
2558
+ const { parent } = exp;
2559
+ const parenthesizedExpression = makeLeftHandSideExpression(exp);
2560
+ parenthesizedExpression.parent = parent;
2561
+ exp.parent = parenthesizedExpression;
2562
+ return initializer[2] = parenthesizedExpression;
2563
+ }
2564
+ ;
2565
+ return;
2466
2566
  }
2467
2567
  ;
2468
2568
  return;
@@ -2492,13 +2592,17 @@ var require_lib = __commonJS({
2492
2592
  }
2493
2593
  }
2494
2594
  function processReturn(f, implicitReturns) {
2595
+ let { returnType } = f.signature;
2596
+ if (returnType && returnType.optional) {
2597
+ convertOptionalType(returnType);
2598
+ }
2495
2599
  if (!processReturnValue(f) && implicitReturns) {
2496
2600
  const { signature, block } = f;
2497
- const { modifier, name, returnType } = signature;
2601
+ const { modifier, name, returnType: returnType2 } = signature;
2498
2602
  const { async, generator, set } = modifier;
2499
2603
  const isMethod = f.type === "MethodDefinition";
2500
2604
  const isConstructor = isMethod && name === "constructor";
2501
- const isVoid = isVoidType(returnType?.t) || async && isPromiseVoidType(returnType?.t) || !async && generator && isGeneratorVoidType(returnType?.t);
2605
+ const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2502
2606
  const isBlock = block?.type === "BlockStatement";
2503
2607
  if (!isVoid && !set && !isConstructor && isBlock) {
2504
2608
  insertReturn(block);
@@ -2574,12 +2678,10 @@ var require_lib = __commonJS({
2574
2678
  gatherRecursiveAll(statements, (n) => n.type === "AssignmentExpression" && n.names === null).forEach((exp) => {
2575
2679
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
2576
2680
  if ($1.some((left) => left[left.length - 1].special)) {
2577
- if ($1.length !== 1) {
2681
+ if ($1.length !== 1)
2578
2682
  throw new Error("Only one assignment with id= is allowed");
2579
- }
2580
2683
  const [, lhs, , op] = $1[0];
2581
- const { call } = op;
2582
- op[op.length - 1] = "=";
2684
+ const { call, omitLhs } = op;
2583
2685
  const index2 = exp.children.indexOf($2);
2584
2686
  if (index2 < 0)
2585
2687
  throw new Error("Assertion error: exp not in AssignmentExpression");
@@ -2588,6 +2690,9 @@ var require_lib = __commonJS({
2588
2690
  1,
2589
2691
  exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
2590
2692
  );
2693
+ if (omitLhs) {
2694
+ replaceNode(exp, $2);
2695
+ }
2591
2696
  }
2592
2697
  let wrapped = false;
2593
2698
  while (i < len) {
@@ -2654,9 +2759,9 @@ var require_lib = __commonJS({
2654
2759
  }
2655
2760
  function insertSemicolon(statements) {
2656
2761
  const l = statements.length;
2657
- for (let i4 = 0, len4 = statements.length; i4 < len4; i4++) {
2658
- const i = i4;
2659
- const s = statements[i4];
2762
+ for (let i7 = 0, len7 = statements.length; i7 < len7; i7++) {
2763
+ const i = i7;
2764
+ const s = statements[i7];
2660
2765
  if (i < l - 1) {
2661
2766
  if (needsPrecedingSemicolon(statements[i + 1])) {
2662
2767
  const delim = s[2];
@@ -3204,6 +3309,40 @@ var require_lib = __commonJS({
3204
3309
  return addParentPointers(s, s.parent);
3205
3310
  });
3206
3311
  }
3312
+ function processTypes(node) {
3313
+ return gatherRecursiveAll(node, (n) => n.type === "UnaryType").forEach((unary) => {
3314
+ let last;
3315
+ let count = 0;
3316
+ while (unary.suffix.length && unary.suffix.at(-1)?.token === "?") {
3317
+ last = unary.suffix.pop();
3318
+ count++;
3319
+ }
3320
+ if (!count) {
3321
+ return;
3322
+ }
3323
+ if (unary.parent?.type === "TypeTuple") {
3324
+ if (count === 1) {
3325
+ unary.suffix.push(last);
3326
+ return;
3327
+ }
3328
+ replaceNode(unary, [
3329
+ getTrimmingSpace(unary),
3330
+ "(",
3331
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3332
+ " | null)",
3333
+ last
3334
+ ]);
3335
+ } else {
3336
+ replaceNode(unary, [
3337
+ getTrimmingSpace(unary),
3338
+ "(",
3339
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3340
+ count === 1 ? " | undefined" : " | undefined | null",
3341
+ ")"
3342
+ ]);
3343
+ }
3344
+ });
3345
+ }
3207
3346
  function processProgram(root, config, m, ReservedWord) {
3208
3347
  assert.equal(m.forbidBracedApplication.length, 1, "forbidBracedApplication");
3209
3348
  assert.equal(m.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
@@ -3213,6 +3352,7 @@ var require_lib = __commonJS({
3213
3352
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
3214
3353
  addParentPointers(root);
3215
3354
  const { expressions: statements } = root;
3355
+ processTypes(statements);
3216
3356
  processDeclarationConditions(statements);
3217
3357
  processPipelineExpressions(statements);
3218
3358
  processDeclarations(statements);
@@ -3611,9 +3751,9 @@ var require_lib = __commonJS({
3611
3751
  return root;
3612
3752
  }
3613
3753
  }
3614
- for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
3615
- const i = i5;
3616
- const node = array[i5];
3754
+ for (let i8 = 0, len8 = array.length; i8 < len8; i8++) {
3755
+ const i = i8;
3756
+ const node = array[i8];
3617
3757
  if (!(node != null)) {
3618
3758
  return;
3619
3759
  }
@@ -3625,6 +3765,17 @@ var require_lib = __commonJS({
3625
3765
  }
3626
3766
  return root;
3627
3767
  }
3768
+ function spliceChild(node, child, del, ...replacements) {
3769
+ const children = node?.children ?? node;
3770
+ if (!Array.isArray(children)) {
3771
+ throw new Error("spliceChild: non-array node has no children field");
3772
+ }
3773
+ const index = children.indexOf(child);
3774
+ if (index < 0) {
3775
+ throw new Error("spliceChild: child not found");
3776
+ }
3777
+ return children.splice(index, del, ...replacements);
3778
+ }
3628
3779
  function skipIfOnlyWS(target) {
3629
3780
  if (!target)
3630
3781
  return target;
@@ -3770,6 +3921,7 @@ var require_lib = __commonJS({
3770
3921
  dedentBlockSubstitutions,
3771
3922
  deepCopy,
3772
3923
  expressionizeIfClause,
3924
+ expressionizeTypeIf,
3773
3925
  findAncestor,
3774
3926
  forRange,
3775
3927
  gatherBindingCode,
@@ -3897,6 +4049,7 @@ var require_parser = __commonJS({
3897
4049
  UnaryBody,
3898
4050
  UnaryWithoutParenthesizedAssignmentBody,
3899
4051
  UnaryPostfix,
4052
+ TypePostfix,
3900
4053
  UpdateExpression,
3901
4054
  UpdateExpressionSymbol,
3902
4055
  AssignmentExpression,
@@ -3926,6 +4079,8 @@ var require_parser = __commonJS({
3926
4079
  ExtendsClause,
3927
4080
  ExtendsToken,
3928
4081
  ExtendsShorthand,
4082
+ NotExtendsToken,
4083
+ OmittedNegation,
3929
4084
  ExtendsTarget,
3930
4085
  ImplementsClause,
3931
4086
  ImplementsToken,
@@ -4324,6 +4479,7 @@ var require_parser = __commonJS({
4324
4479
  Each,
4325
4480
  Else,
4326
4481
  Equals,
4482
+ ExclamationPoint,
4327
4483
  Export,
4328
4484
  Extends,
4329
4485
  Finally,
@@ -4466,6 +4622,7 @@ var require_parser = __commonJS({
4466
4622
  TypeIndexSignature,
4467
4623
  TypeIndex,
4468
4624
  TypeSuffix,
4625
+ MaybeIndentedType,
4469
4626
  ReturnTypeSuffix,
4470
4627
  ReturnType,
4471
4628
  TypePredicate,
@@ -4484,6 +4641,10 @@ var require_parser = __commonJS({
4484
4641
  NestedTypeList,
4485
4642
  NestedType,
4486
4643
  TypeConditional,
4644
+ TypeCondition,
4645
+ TypeIfThenElse,
4646
+ TypeElse,
4647
+ TypeBlock,
4487
4648
  TypeTemplateSubstitution,
4488
4649
  TypeTemplateLiteral,
4489
4650
  CoffeeStringTypeSubstitution,
@@ -4571,296 +4732,299 @@ var require_parser = __commonJS({
4571
4732
  var $L7 = $L(".");
4572
4733
  var $L8 = $L("++");
4573
4734
  var $L9 = $L("--");
4574
- var $L10 = $L("=>");
4575
- var $L11 = $L("\u21D2");
4576
- var $L12 = $L(":");
4577
- var $L13 = $L(" ");
4578
- var $L14 = $L("<");
4579
- var $L15 = $L("implements");
4580
- var $L16 = $L("<:");
4581
- var $L17 = $L("import");
4582
- var $L18 = $L("!");
4583
- var $L19 = $L("^");
4584
- var $L20 = $L("-");
4585
- var $L21 = $L("import.meta");
4586
- var $L22 = $L("return.value");
4587
- var $L23 = $L(",");
4588
- var $L24 = $L("(&)");
4589
- var $L25 = $L("->");
4590
- var $L26 = $L("\u2192");
4591
- var $L27 = $L("}");
4592
- var $L28 = $L("null");
4593
- var $L29 = $L("true");
4594
- var $L30 = $L("false");
4595
- var $L31 = $L("yes");
4596
- var $L32 = $L("on");
4597
- var $L33 = $L("no");
4598
- var $L34 = $L("off");
4599
- var $L35 = $L(">");
4600
- var $L36 = $L("]");
4601
- var $L37 = $L("**=");
4602
- var $L38 = $L("*=");
4603
- var $L39 = $L("/=");
4604
- var $L40 = $L("%=");
4605
- var $L41 = $L("+=");
4606
- var $L42 = $L("-=");
4607
- var $L43 = $L("<<=");
4608
- var $L44 = $L(">>>=");
4609
- var $L45 = $L(">>=");
4610
- var $L46 = $L("&&=");
4611
- var $L47 = $L("&=");
4612
- var $L48 = $L("^=");
4613
- var $L49 = $L("||=");
4614
- var $L50 = $L("|=");
4615
- var $L51 = $L("??=");
4616
- var $L52 = $L("?=");
4617
- var $L53 = $L("and=");
4618
- var $L54 = $L("or=");
4619
- var $L55 = $L("**");
4620
- var $L56 = $L("*");
4621
- var $L57 = $L("/");
4622
- var $L58 = $L("%%");
4623
- var $L59 = $L("%");
4624
- var $L60 = $L("+");
4625
- var $L61 = $L("<=");
4626
- var $L62 = $L("\u2264");
4627
- var $L63 = $L(">=");
4628
- var $L64 = $L("\u2265");
4629
- var $L65 = $L("<?");
4630
- var $L66 = $L("!<?");
4631
- var $L67 = $L("<<");
4632
- var $L68 = $L("\xAB");
4633
- var $L69 = $L(">>>");
4634
- var $L70 = $L("\u22D9");
4635
- var $L71 = $L(">>");
4636
- var $L72 = $L("\xBB");
4637
- var $L73 = $L("!==");
4638
- var $L74 = $L("\u2262");
4639
- var $L75 = $L("!=");
4640
- var $L76 = $L("\u2260");
4641
- var $L77 = $L("isnt");
4642
- var $L78 = $L("===");
4643
- var $L79 = $L("\u2263");
4644
- var $L80 = $L("\u2A76");
4645
- var $L81 = $L("==");
4646
- var $L82 = $L("\u2261");
4647
- var $L83 = $L("\u2A75");
4648
- var $L84 = $L("and");
4649
- var $L85 = $L("&&");
4650
- var $L86 = $L("or");
4651
- var $L87 = $L("||");
4652
- var $L88 = $L("\u2016");
4653
- var $L89 = $L("^^");
4654
- var $L90 = $L("xor");
4655
- var $L91 = $L("xnor");
4656
- var $L92 = $L("??");
4657
- var $L93 = $L("\u2047");
4658
- var $L94 = $L("instanceof");
4659
- var $L95 = $L("\u2208");
4660
- var $L96 = $L("\u220B");
4661
- var $L97 = $L("\u220C");
4662
- var $L98 = $L("\u2209");
4663
- var $L99 = $L("&");
4664
- var $L100 = $L("|");
4665
- var $L101 = $L(";");
4666
- var $L102 = $L("$:");
4667
- var $L103 = $L("break");
4668
- var $L104 = $L("continue");
4669
- var $L105 = $L("debugger");
4670
- var $L106 = $L("with");
4671
- var $L107 = $L("assert");
4672
- var $L108 = $L(":=");
4673
- var $L109 = $L("\u2254");
4674
- var $L110 = $L(".=");
4675
- var $L111 = $L("/*");
4676
- var $L112 = $L("*/");
4677
- var $L113 = $L("\\");
4678
- var $L114 = $L(")");
4679
- var $L115 = $L("abstract");
4680
- var $L116 = $L("as");
4681
- var $L117 = $L("@");
4682
- var $L118 = $L("@@");
4683
- var $L119 = $L("async");
4684
- var $L120 = $L("await");
4685
- var $L121 = $L("`");
4686
- var $L122 = $L("by");
4687
- var $L123 = $L("case");
4688
- var $L124 = $L("catch");
4689
- var $L125 = $L("class");
4690
- var $L126 = $L("#{");
4691
- var $L127 = $L("declare");
4692
- var $L128 = $L("default");
4693
- var $L129 = $L("delete");
4694
- var $L130 = $L("do");
4695
- var $L131 = $L("..");
4696
- var $L132 = $L("\u2025");
4697
- var $L133 = $L("...");
4698
- var $L134 = $L("\u2026");
4699
- var $L135 = $L("::");
4700
- var $L136 = $L('"');
4701
- var $L137 = $L("each");
4702
- var $L138 = $L("else");
4703
- var $L139 = $L("export");
4704
- var $L140 = $L("extends");
4705
- var $L141 = $L("finally");
4706
- var $L142 = $L("for");
4707
- var $L143 = $L("from");
4708
- var $L144 = $L("function");
4709
- var $L145 = $L("get");
4710
- var $L146 = $L("set");
4711
- var $L147 = $L("#");
4712
- var $L148 = $L("if");
4713
- var $L149 = $L("in");
4714
- var $L150 = $L("let");
4715
- var $L151 = $L("const");
4716
- var $L152 = $L("is");
4717
- var $L153 = $L("loop");
4718
- var $L154 = $L("new");
4719
- var $L155 = $L("not");
4720
- var $L156 = $L("of");
4721
- var $L157 = $L("[");
4722
- var $L158 = $L("operator");
4723
- var $L159 = $L("own");
4724
- var $L160 = $L("public");
4725
- var $L161 = $L("private");
4726
- var $L162 = $L("protected");
4727
- var $L163 = $L("||>");
4728
- var $L164 = $L("|\u25B7");
4729
- var $L165 = $L("|>=");
4730
- var $L166 = $L("\u25B7=");
4731
- var $L167 = $L("|>");
4732
- var $L168 = $L("\u25B7");
4733
- var $L169 = $L("readonly");
4734
- var $L170 = $L("return");
4735
- var $L171 = $L("satisfies");
4736
- var $L172 = $L("'");
4737
- var $L173 = $L("static");
4738
- var $L174 = $L("${");
4739
- var $L175 = $L("super");
4740
- var $L176 = $L("switch");
4741
- var $L177 = $L("target");
4742
- var $L178 = $L("then");
4743
- var $L179 = $L("this");
4744
- var $L180 = $L("throw");
4745
- var $L181 = $L('"""');
4746
- var $L182 = $L("'''");
4747
- var $L183 = $L("///");
4748
- var $L184 = $L("```");
4749
- var $L185 = $L("try");
4750
- var $L186 = $L("typeof");
4751
- var $L187 = $L("unless");
4752
- var $L188 = $L("until");
4753
- var $L189 = $L("using");
4754
- var $L190 = $L("var");
4755
- var $L191 = $L("void");
4756
- var $L192 = $L("when");
4757
- var $L193 = $L("while");
4758
- var $L194 = $L("yield");
4759
- var $L195 = $L("/>");
4760
- var $L196 = $L("</");
4761
- var $L197 = $L("<>");
4762
- var $L198 = $L("</>");
4763
- var $L199 = $L("<!--");
4764
- var $L200 = $L("-->");
4765
- var $L201 = $L("type");
4766
- var $L202 = $L("enum");
4767
- var $L203 = $L("interface");
4768
- var $L204 = $L("global");
4769
- var $L205 = $L("module");
4770
- var $L206 = $L("namespace");
4771
- var $L207 = $L("asserts");
4772
- var $L208 = $L("keyof");
4773
- var $L209 = $L("infer");
4774
- var $L210 = $L("???");
4775
- var $L211 = $L("[]");
4776
- var $L212 = $L("civet");
4735
+ var $L10 = $L("\u29FA");
4736
+ var $L11 = $L("=>");
4737
+ var $L12 = $L("\u21D2");
4738
+ var $L13 = $L(":");
4739
+ var $L14 = $L(" ");
4740
+ var $L15 = $L("<");
4741
+ var $L16 = $L("implements");
4742
+ var $L17 = $L("<:");
4743
+ var $L18 = $L("import");
4744
+ var $L19 = $L("!");
4745
+ var $L20 = $L("^");
4746
+ var $L21 = $L("-");
4747
+ var $L22 = $L("import.meta");
4748
+ var $L23 = $L("return.value");
4749
+ var $L24 = $L(",");
4750
+ var $L25 = $L("(&)");
4751
+ var $L26 = $L("->");
4752
+ var $L27 = $L("\u2192");
4753
+ var $L28 = $L("}");
4754
+ var $L29 = $L("null");
4755
+ var $L30 = $L("true");
4756
+ var $L31 = $L("false");
4757
+ var $L32 = $L("yes");
4758
+ var $L33 = $L("on");
4759
+ var $L34 = $L("no");
4760
+ var $L35 = $L("off");
4761
+ var $L36 = $L(">");
4762
+ var $L37 = $L("]");
4763
+ var $L38 = $L("**=");
4764
+ var $L39 = $L("*=");
4765
+ var $L40 = $L("/=");
4766
+ var $L41 = $L("%=");
4767
+ var $L42 = $L("+=");
4768
+ var $L43 = $L("-=");
4769
+ var $L44 = $L("<<=");
4770
+ var $L45 = $L(">>>=");
4771
+ var $L46 = $L(">>=");
4772
+ var $L47 = $L("&&=");
4773
+ var $L48 = $L("&=");
4774
+ var $L49 = $L("^=");
4775
+ var $L50 = $L("||=");
4776
+ var $L51 = $L("|=");
4777
+ var $L52 = $L("??=");
4778
+ var $L53 = $L("?=");
4779
+ var $L54 = $L("and=");
4780
+ var $L55 = $L("or=");
4781
+ var $L56 = $L("**");
4782
+ var $L57 = $L("*");
4783
+ var $L58 = $L("/");
4784
+ var $L59 = $L("%%");
4785
+ var $L60 = $L("%");
4786
+ var $L61 = $L("+");
4787
+ var $L62 = $L("<=");
4788
+ var $L63 = $L("\u2264");
4789
+ var $L64 = $L(">=");
4790
+ var $L65 = $L("\u2265");
4791
+ var $L66 = $L("<?");
4792
+ var $L67 = $L("!<?");
4793
+ var $L68 = $L("<<");
4794
+ var $L69 = $L("\xAB");
4795
+ var $L70 = $L(">>>");
4796
+ var $L71 = $L("\u22D9");
4797
+ var $L72 = $L(">>");
4798
+ var $L73 = $L("\xBB");
4799
+ var $L74 = $L("!==");
4800
+ var $L75 = $L("\u2262");
4801
+ var $L76 = $L("!=");
4802
+ var $L77 = $L("\u2260");
4803
+ var $L78 = $L("isnt");
4804
+ var $L79 = $L("===");
4805
+ var $L80 = $L("\u2263");
4806
+ var $L81 = $L("\u2A76");
4807
+ var $L82 = $L("==");
4808
+ var $L83 = $L("\u2261");
4809
+ var $L84 = $L("\u2A75");
4810
+ var $L85 = $L("and");
4811
+ var $L86 = $L("&&");
4812
+ var $L87 = $L("or");
4813
+ var $L88 = $L("||");
4814
+ var $L89 = $L("\u2016");
4815
+ var $L90 = $L("^^");
4816
+ var $L91 = $L("xor");
4817
+ var $L92 = $L("xnor");
4818
+ var $L93 = $L("??");
4819
+ var $L94 = $L("\u2047");
4820
+ var $L95 = $L("instanceof");
4821
+ var $L96 = $L("\u2208");
4822
+ var $L97 = $L("\u220B");
4823
+ var $L98 = $L("\u220C");
4824
+ var $L99 = $L("\u2209");
4825
+ var $L100 = $L("&");
4826
+ var $L101 = $L("|");
4827
+ var $L102 = $L(";");
4828
+ var $L103 = $L("$:");
4829
+ var $L104 = $L("break");
4830
+ var $L105 = $L("continue");
4831
+ var $L106 = $L("debugger");
4832
+ var $L107 = $L("with");
4833
+ var $L108 = $L("assert");
4834
+ var $L109 = $L(":=");
4835
+ var $L110 = $L("\u2254");
4836
+ var $L111 = $L(".=");
4837
+ var $L112 = $L("/*");
4838
+ var $L113 = $L("*/");
4839
+ var $L114 = $L("\\");
4840
+ var $L115 = $L(")");
4841
+ var $L116 = $L("abstract");
4842
+ var $L117 = $L("as");
4843
+ var $L118 = $L("@");
4844
+ var $L119 = $L("@@");
4845
+ var $L120 = $L("async");
4846
+ var $L121 = $L("await");
4847
+ var $L122 = $L("`");
4848
+ var $L123 = $L("by");
4849
+ var $L124 = $L("case");
4850
+ var $L125 = $L("catch");
4851
+ var $L126 = $L("class");
4852
+ var $L127 = $L("#{");
4853
+ var $L128 = $L("declare");
4854
+ var $L129 = $L("default");
4855
+ var $L130 = $L("delete");
4856
+ var $L131 = $L("do");
4857
+ var $L132 = $L("..");
4858
+ var $L133 = $L("\u2025");
4859
+ var $L134 = $L("...");
4860
+ var $L135 = $L("\u2026");
4861
+ var $L136 = $L("::");
4862
+ var $L137 = $L('"');
4863
+ var $L138 = $L("each");
4864
+ var $L139 = $L("else");
4865
+ var $L140 = $L("export");
4866
+ var $L141 = $L("extends");
4867
+ var $L142 = $L("finally");
4868
+ var $L143 = $L("for");
4869
+ var $L144 = $L("from");
4870
+ var $L145 = $L("function");
4871
+ var $L146 = $L("get");
4872
+ var $L147 = $L("set");
4873
+ var $L148 = $L("#");
4874
+ var $L149 = $L("if");
4875
+ var $L150 = $L("in");
4876
+ var $L151 = $L("let");
4877
+ var $L152 = $L("const");
4878
+ var $L153 = $L("is");
4879
+ var $L154 = $L("loop");
4880
+ var $L155 = $L("new");
4881
+ var $L156 = $L("not");
4882
+ var $L157 = $L("of");
4883
+ var $L158 = $L("[");
4884
+ var $L159 = $L("operator");
4885
+ var $L160 = $L("own");
4886
+ var $L161 = $L("public");
4887
+ var $L162 = $L("private");
4888
+ var $L163 = $L("protected");
4889
+ var $L164 = $L("||>");
4890
+ var $L165 = $L("|\u25B7");
4891
+ var $L166 = $L("|>=");
4892
+ var $L167 = $L("\u25B7=");
4893
+ var $L168 = $L("|>");
4894
+ var $L169 = $L("\u25B7");
4895
+ var $L170 = $L("readonly");
4896
+ var $L171 = $L("return");
4897
+ var $L172 = $L("satisfies");
4898
+ var $L173 = $L("'");
4899
+ var $L174 = $L("static");
4900
+ var $L175 = $L("${");
4901
+ var $L176 = $L("super");
4902
+ var $L177 = $L("switch");
4903
+ var $L178 = $L("target");
4904
+ var $L179 = $L("then");
4905
+ var $L180 = $L("this");
4906
+ var $L181 = $L("throw");
4907
+ var $L182 = $L('"""');
4908
+ var $L183 = $L("'''");
4909
+ var $L184 = $L("///");
4910
+ var $L185 = $L("```");
4911
+ var $L186 = $L("try");
4912
+ var $L187 = $L("typeof");
4913
+ var $L188 = $L("unless");
4914
+ var $L189 = $L("until");
4915
+ var $L190 = $L("using");
4916
+ var $L191 = $L("var");
4917
+ var $L192 = $L("void");
4918
+ var $L193 = $L("when");
4919
+ var $L194 = $L("while");
4920
+ var $L195 = $L("yield");
4921
+ var $L196 = $L("/>");
4922
+ var $L197 = $L("</");
4923
+ var $L198 = $L("<>");
4924
+ var $L199 = $L("</>");
4925
+ var $L200 = $L("<!--");
4926
+ var $L201 = $L("-->");
4927
+ var $L202 = $L("type");
4928
+ var $L203 = $L("enum");
4929
+ var $L204 = $L("interface");
4930
+ var $L205 = $L("global");
4931
+ var $L206 = $L("module");
4932
+ var $L207 = $L("namespace");
4933
+ var $L208 = $L("asserts");
4934
+ var $L209 = $L("keyof");
4935
+ var $L210 = $L("infer");
4936
+ var $L211 = $L("???");
4937
+ var $L212 = $L("[]");
4938
+ var $L213 = $L("civet");
4777
4939
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4778
4940
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4779
4941
  var $R2 = $R(new RegExp("[0-9]", "suy"));
4780
- var $R3 = $R(new RegExp("[ \\t]", "suy"));
4781
- var $R4 = $R(new RegExp("(?=['\"`<])", "suy"));
4782
- var $R5 = $R(new RegExp("(?=[\\/?])", "suy"));
4783
- var $R6 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4784
- var $R7 = $R(new RegExp("[)}]", "suy"));
4785
- var $R8 = $R(new RegExp("[&]", "suy"));
4786
- var $R9 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4787
- var $R10 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4788
- var $R11 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4789
- var $R12 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4790
- var $R13 = $R(new RegExp("(?=\\[)", "suy"));
4791
- var $R14 = $R(new RegExp("[!+-]", "suy"));
4792
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])", "suy"));
4793
- var $R16 = $R(new RegExp("!\\^\\^?", "suy"));
4794
- var $R17 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4795
- var $R18 = $R(new RegExp("[:.]", "suy"));
4796
- var $R19 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4797
- var $R20 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4798
- var $R21 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4799
- var $R22 = $R(new RegExp('[^;"\\s]+', "suy"));
4800
- var $R23 = $R(new RegExp("(?=[0-9.])", "suy"));
4801
- var $R24 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4802
- var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4803
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4804
- var $R27 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4805
- var $R28 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4806
- var $R29 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4807
- var $R30 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4808
- var $R31 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4809
- var $R32 = $R(new RegExp("(?=[0-9])", "suy"));
4810
- var $R33 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4811
- var $R34 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4812
- var $R35 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4813
- var $R36 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4814
- var $R37 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4815
- var $R38 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4816
- var $R39 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4817
- var $R40 = $R(new RegExp("(?:\\\\.)", "suy"));
4818
- var $R41 = $R(new RegExp("[\\s]+", "suy"));
4819
- var $R42 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4820
- var $R43 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4821
- var $R44 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4822
- var $R45 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4823
- var $R46 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4824
- var $R47 = $R(new RegExp("(?=[`'\"])", "suy"));
4825
- var $R48 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4826
- var $R49 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4827
- var $R50 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4828
- var $R51 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4829
- var $R52 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4830
- var $R53 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4831
- var $R54 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4832
- var $R55 = $R(new RegExp("(?=\\/|#)", "suy"));
4833
- var $R56 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4834
- var $R57 = $R(new RegExp(".", "suy"));
4835
- var $R58 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4836
- var $R59 = $R(new RegExp("[^]*?###", "suy"));
4837
- var $R60 = $R(new RegExp("###(?!#)", "suy"));
4838
- var $R61 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
4839
- var $R62 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
4840
- var $R63 = $R(new RegExp("[ \\t]+", "suy"));
4841
- var $R64 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
4842
- var $R65 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
4843
- var $R66 = $R(new RegExp("['\u2019]s", "suy"));
4844
- var $R67 = $R(new RegExp("\\s", "suy"));
4845
- var $R68 = $R(new RegExp("(?=[<])", "suy"));
4846
- var $R69 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
4847
- var $R70 = $R(new RegExp("[\\s>]|\\/>", "suy"));
4848
- var $R71 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
4849
- var $R72 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
4850
- var $R73 = $R(new RegExp("[<>]", "suy"));
4851
- var $R74 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
4852
- var $R75 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
4853
- var $R76 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
4854
- var $R77 = $R(new RegExp("[+-]?", "suy"));
4855
- var $R78 = $R(new RegExp("[+-]", "suy"));
4856
- var $R79 = $R(new RegExp("#![^\\r\\n]*", "suy"));
4857
- var $R80 = $R(new RegExp("[\\t ]*", "suy"));
4858
- var $R81 = $R(new RegExp("[ \\t]*", "suy"));
4859
- var $R82 = $R(new RegExp("[\\s]*", "suy"));
4860
- var $R83 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
4861
- var $R84 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
4862
- var $R85 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
4863
- var $R86 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4942
+ var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
4943
+ var $R4 = $R(new RegExp("[ \\t]", "suy"));
4944
+ var $R5 = $R(new RegExp("(?=['\"`<])", "suy"));
4945
+ var $R6 = $R(new RegExp("(?=[\\/?])", "suy"));
4946
+ var $R7 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4947
+ var $R8 = $R(new RegExp("[)}]", "suy"));
4948
+ var $R9 = $R(new RegExp("[&]", "suy"));
4949
+ var $R10 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4950
+ var $R11 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4951
+ var $R12 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4952
+ var $R13 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4953
+ var $R14 = $R(new RegExp("(?=\\[)", "suy"));
4954
+ var $R15 = $R(new RegExp("[!+-]", "suy"));
4955
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
4956
+ var $R17 = $R(new RegExp("!\\^\\^?", "suy"));
4957
+ var $R18 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4958
+ var $R19 = $R(new RegExp("[:.]", "suy"));
4959
+ var $R20 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4960
+ var $R21 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4961
+ var $R22 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4962
+ var $R23 = $R(new RegExp('[^;"\\s]+', "suy"));
4963
+ var $R24 = $R(new RegExp("(?=[0-9.])", "suy"));
4964
+ var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4965
+ var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4966
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4967
+ var $R28 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4968
+ var $R29 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4969
+ var $R30 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4970
+ var $R31 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4971
+ var $R32 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4972
+ var $R33 = $R(new RegExp("(?=[0-9])", "suy"));
4973
+ var $R34 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4974
+ var $R35 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4975
+ var $R36 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4976
+ var $R37 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4977
+ var $R38 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4978
+ var $R39 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4979
+ var $R40 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4980
+ var $R41 = $R(new RegExp("(?:\\\\.)", "suy"));
4981
+ var $R42 = $R(new RegExp("[\\s]+", "suy"));
4982
+ var $R43 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4983
+ var $R44 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4984
+ var $R45 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4985
+ var $R46 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4986
+ var $R47 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4987
+ var $R48 = $R(new RegExp("(?=[`'\"])", "suy"));
4988
+ var $R49 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4989
+ var $R50 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4990
+ var $R51 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4991
+ var $R52 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4992
+ var $R53 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4993
+ var $R54 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4994
+ var $R55 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4995
+ var $R56 = $R(new RegExp("(?=\\/|#)", "suy"));
4996
+ var $R57 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4997
+ var $R58 = $R(new RegExp(".", "suy"));
4998
+ var $R59 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4999
+ var $R60 = $R(new RegExp("[^]*?###", "suy"));
5000
+ var $R61 = $R(new RegExp("###(?!#)", "suy"));
5001
+ var $R62 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5002
+ var $R63 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5003
+ var $R64 = $R(new RegExp("[ \\t]+", "suy"));
5004
+ var $R65 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5005
+ var $R66 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5006
+ var $R67 = $R(new RegExp("['\u2019]s", "suy"));
5007
+ var $R68 = $R(new RegExp("\\s", "suy"));
5008
+ var $R69 = $R(new RegExp("(?=[<])", "suy"));
5009
+ var $R70 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5010
+ var $R71 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5011
+ var $R72 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5012
+ var $R73 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5013
+ var $R74 = $R(new RegExp("[<>]", "suy"));
5014
+ var $R75 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5015
+ var $R76 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5016
+ var $R77 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5017
+ var $R78 = $R(new RegExp("[+-]?", "suy"));
5018
+ var $R79 = $R(new RegExp("[+-]", "suy"));
5019
+ var $R80 = $R(new RegExp("(?=if|unless)", "suy"));
5020
+ var $R81 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5021
+ var $R82 = $R(new RegExp("[\\t ]*", "suy"));
5022
+ var $R83 = $R(new RegExp("[ \\t]*", "suy"));
5023
+ var $R84 = $R(new RegExp("[\\s]*", "suy"));
5024
+ var $R85 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5025
+ var $R86 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5026
+ var $R87 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5027
+ var $R88 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4864
5028
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4865
5029
  var statements = $4;
4866
5030
  processProgram({
@@ -5280,13 +5444,28 @@ var require_parser = __commonJS({
5280
5444
  return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
5281
5445
  }
5282
5446
  var UnaryPostfix$0 = QuestionMark;
5283
- var UnaryPostfix$1 = $T($P($S(__, $C(As, Satisfies), Type)), function(value) {
5447
+ var UnaryPostfix$1 = $T($P(TypePostfix), function(value) {
5284
5448
  return { "ts": true, "children": value };
5285
5449
  });
5286
5450
  var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
5287
5451
  function UnaryPostfix(ctx, state) {
5288
5452
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5289
5453
  }
5454
+ var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5455
+ var ws = $1;
5456
+ var as = $2;
5457
+ var ex = $3;
5458
+ var type = $4;
5459
+ if (ex) {
5460
+ return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5461
+ }
5462
+ return [ws, as, type];
5463
+ });
5464
+ var TypePostfix$1 = $S(_, Satisfies, Type);
5465
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5466
+ function TypePostfix(ctx, state) {
5467
+ return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5468
+ }
5290
5469
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5291
5470
  return {
5292
5471
  type: "UpdateExpression",
@@ -5294,13 +5473,13 @@ var require_parser = __commonJS({
5294
5473
  children: $0
5295
5474
  };
5296
5475
  });
5297
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
5476
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
5298
5477
  if (!$2)
5299
5478
  return $1;
5300
5479
  return {
5301
5480
  type: "UpdateExpression",
5302
5481
  assigned: $1,
5303
- children: $0
5482
+ children: [$1, $2[0]]
5304
5483
  };
5305
5484
  });
5306
5485
  var UpdateExpression$$ = [UpdateExpression$0, UpdateExpression$1];
@@ -5310,8 +5489,12 @@ var require_parser = __commonJS({
5310
5489
  var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L8, 'UpdateExpressionSymbol "++"'), $EXPECT($L9, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
5311
5490
  return { $loc, token: $1 };
5312
5491
  });
5492
+ var UpdateExpressionSymbol$1 = $TV($EXPECT($L10, 'UpdateExpressionSymbol "\u29FA"'), function($skip, $loc, $0, $1) {
5493
+ return { $loc, token: "++" };
5494
+ });
5495
+ var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1];
5313
5496
  function UpdateExpressionSymbol(ctx, state) {
5314
- return $EVENT(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$0);
5497
+ return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
5315
5498
  }
5316
5499
  var AssignmentExpression$0 = PipelineExpression;
5317
5500
  var AssignmentExpression$1 = SingleLineAssignmentExpression;
@@ -5414,7 +5597,7 @@ var require_parser = __commonJS({
5414
5597
  function ArrowFunction(ctx, state) {
5415
5598
  return $EVENT_C(ctx, state, "ArrowFunction", ArrowFunction$$);
5416
5599
  }
5417
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L10, 'FatArrow "=>"'), $EXPECT($L11, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5600
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L11, 'FatArrow "=>"'), $EXPECT($L12, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5418
5601
  var ws = $1;
5419
5602
  if (!ws)
5420
5603
  return " =>";
@@ -5449,7 +5632,7 @@ var require_parser = __commonJS({
5449
5632
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
5450
5633
  }
5451
5634
  var TernaryRest$0 = NestedTernaryRest;
5452
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R3, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5635
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R4, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5453
5636
  return $0.slice(2);
5454
5637
  });
5455
5638
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -5577,7 +5760,7 @@ var require_parser = __commonJS({
5577
5760
  function ClassDeclaration(ctx, state) {
5578
5761
  return $EVENT(ctx, state, "ClassDeclaration", ClassDeclaration$0);
5579
5762
  }
5580
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L12, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5763
+ var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L13, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5581
5764
  function ClassExpression(ctx, state) {
5582
5765
  return $EVENT(ctx, state, "ClassExpression", ClassExpression$0);
5583
5766
  }
@@ -5597,27 +5780,67 @@ var require_parser = __commonJS({
5597
5780
  function ExtendsClause(ctx, state) {
5598
5781
  return $EVENT(ctx, state, "ExtendsClause", ExtendsClause$0);
5599
5782
  }
5600
- var ExtendsToken$0 = $TS($S(Loc, __, ExtendsShorthand, $E($EXPECT($L13, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5783
+ var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L14, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5601
5784
  var l = $1;
5602
5785
  var ws = $2;
5603
5786
  var t = $3;
5604
- const children = [...ws, t];
5605
- if (!ws.length) {
5606
- children.unshift({ $loc: l.$loc, token: " " });
5607
- }
5608
- return { children };
5787
+ return {
5788
+ type: "Extends",
5789
+ children: [
5790
+ ws || { $loc: l.$loc, token: " " },
5791
+ t
5792
+ ]
5793
+ };
5794
+ });
5795
+ var ExtendsToken$1 = $TS($S($E(_), Extends), function($skip, $loc, $0, $1, $2) {
5796
+ return {
5797
+ type: "Extends",
5798
+ children: $0
5799
+ };
5609
5800
  });
5610
- var ExtendsToken$1 = $S(__, Extends);
5611
5801
  var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
5612
5802
  function ExtendsToken(ctx, state) {
5613
5803
  return $EVENT_C(ctx, state, "ExtendsToken", ExtendsToken$$);
5614
5804
  }
5615
- var ExtendsShorthand$0 = $TV($EXPECT($L14, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5805
+ var ExtendsShorthand$0 = $TV($EXPECT($L15, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5616
5806
  return { $loc, token: "extends " };
5617
5807
  });
5618
5808
  function ExtendsShorthand(ctx, state) {
5619
5809
  return $EVENT(ctx, state, "ExtendsShorthand", ExtendsShorthand$0);
5620
5810
  }
5811
+ var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L14, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5812
+ var l = $1;
5813
+ var ws1 = $2;
5814
+ var ws2 = $3;
5815
+ var t = $4;
5816
+ const ws = ws1 && ws2 ? [ws1, ws2] : ws1 || ws2 || { $loc: l.$loc, token: " " };
5817
+ return {
5818
+ type: "Extends",
5819
+ negated: true,
5820
+ children: [ws, t]
5821
+ };
5822
+ });
5823
+ var NotExtendsToken$1 = $TS($S($E(_), OmittedNegation, Extends), function($skip, $loc, $0, $1, $2, $3) {
5824
+ return {
5825
+ type: "Extends",
5826
+ negated: true,
5827
+ children: $0
5828
+ };
5829
+ });
5830
+ var NotExtendsToken$$ = [NotExtendsToken$0, NotExtendsToken$1];
5831
+ function NotExtendsToken(ctx, state) {
5832
+ return $EVENT_C(ctx, state, "NotExtendsToken", NotExtendsToken$$);
5833
+ }
5834
+ var OmittedNegation$0 = $T($S(ExclamationPoint), function(value) {
5835
+ return "";
5836
+ });
5837
+ var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L14, 'OmittedNegation " "')), $E(_)), function(value) {
5838
+ return value[2];
5839
+ });
5840
+ var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
5841
+ function OmittedNegation(ctx, state) {
5842
+ return $EVENT_C(ctx, state, "OmittedNegation", OmittedNegation$$);
5843
+ }
5621
5844
  var ExtendsTarget$0 = $TS($S(LeftHandSideExpressionWithObjectApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5622
5845
  var exp = $1;
5623
5846
  var ta = $2;
@@ -5638,7 +5861,7 @@ var require_parser = __commonJS({
5638
5861
  function ImplementsClause(ctx, state) {
5639
5862
  return $EVENT(ctx, state, "ImplementsClause", ImplementsClause$0);
5640
5863
  }
5641
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L13, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5864
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L14, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5642
5865
  var l = $1;
5643
5866
  var ws = $2;
5644
5867
  var token = $3;
@@ -5648,7 +5871,7 @@ var require_parser = __commonJS({
5648
5871
  }
5649
5872
  return { children };
5650
5873
  });
5651
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L15, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5874
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L16, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5652
5875
  $2 = { $loc, token: $2 };
5653
5876
  return [$1, $2];
5654
5877
  });
@@ -5656,7 +5879,7 @@ var require_parser = __commonJS({
5656
5879
  function ImplementsToken(ctx, state) {
5657
5880
  return $EVENT_C(ctx, state, "ImplementsToken", ImplementsToken$$);
5658
5881
  }
5659
- var ImplementsShorthand$0 = $TV($EXPECT($L16, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5882
+ var ImplementsShorthand$0 = $TV($EXPECT($L17, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5660
5883
  return { $loc, token: "implements " };
5661
5884
  });
5662
5885
  function ImplementsShorthand(ctx, state) {
@@ -5868,7 +6091,7 @@ var require_parser = __commonJS({
5868
6091
  function AtThis(ctx, state) {
5869
6092
  return $EVENT(ctx, state, "AtThis", AtThis$0);
5870
6093
  }
5871
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L12, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6094
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L13, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
5872
6095
  var LeftHandSideExpression$1 = CallExpression;
5873
6096
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
5874
6097
  function LeftHandSideExpression(ctx, state) {
@@ -5881,7 +6104,7 @@ var require_parser = __commonJS({
5881
6104
  children: [$1, ...$2, ...rest.flat()]
5882
6105
  });
5883
6106
  });
5884
- var CallExpression$1 = $TS($S($EXPECT($L17, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6107
+ var CallExpression$1 = $TS($S($EXPECT($L18, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
5885
6108
  var rest = $3;
5886
6109
  return processCallMemberExpression({
5887
6110
  type: "CallExpression",
@@ -5906,7 +6129,7 @@ var require_parser = __commonJS({
5906
6129
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
5907
6130
  }
5908
6131
  var CallExpressionRest$0 = MemberExpressionRest;
5909
- var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
6132
+ var CallExpressionRest$1 = $TS($S($EXPECT($R5, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
5910
6133
  var args = $2;
5911
6134
  var literal = $3;
5912
6135
  if (literal.type === "StringLiteral") {
@@ -5925,7 +6148,7 @@ var require_parser = __commonJS({
5925
6148
  function CallExpressionRest(ctx, state) {
5926
6149
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
5927
6150
  }
5928
- var OptionalShorthand$0 = $TS($S($EXPECT($R5, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
6151
+ var OptionalShorthand$0 = $TS($S($EXPECT($R6, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
5929
6152
  return {
5930
6153
  type: "Optional",
5931
6154
  children: $0
@@ -5942,7 +6165,7 @@ var require_parser = __commonJS({
5942
6165
  function OptionalDot(ctx, state) {
5943
6166
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
5944
6167
  }
5945
- var NonNullAssertion$0 = $T($S($EXPECT($L18, 'NonNullAssertion "!"'), $N($EXPECT($L19, 'NonNullAssertion "^"'))), function(value) {
6168
+ var NonNullAssertion$0 = $T($S($EXPECT($L19, 'NonNullAssertion "!"'), $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
5946
6169
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
5947
6170
  });
5948
6171
  function NonNullAssertion(ctx, state) {
@@ -5978,7 +6201,7 @@ var require_parser = __commonJS({
5978
6201
  function MemberBase(ctx, state) {
5979
6202
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
5980
6203
  }
5981
- var MemberExpressionRest$0 = $TS($S($EXPECT($R6, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
6204
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R7, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
5982
6205
  var comments = $2;
5983
6206
  var body = $3;
5984
6207
  if (Array.isArray(body))
@@ -6133,7 +6356,7 @@ var require_parser = __commonJS({
6133
6356
  ]
6134
6357
  };
6135
6358
  });
6136
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L20, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6359
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6137
6360
  var dot = $1;
6138
6361
  var neg = $2;
6139
6362
  var num = $3;
@@ -6209,7 +6432,7 @@ var require_parser = __commonJS({
6209
6432
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6210
6433
  }
6211
6434
  var MetaProperty$0 = $S(New, Dot, Target);
6212
- var MetaProperty$1 = $TS($S($EXPECT($L21, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6435
+ var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6213
6436
  return { $loc, token: $1 };
6214
6437
  });
6215
6438
  var MetaProperty$2 = ReturnValue;
@@ -6217,7 +6440,7 @@ var require_parser = __commonJS({
6217
6440
  function MetaProperty(ctx, state) {
6218
6441
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6219
6442
  }
6220
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6443
+ var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6221
6444
  return { type: "ReturnValue", children: [$1[0]] };
6222
6445
  });
6223
6446
  function ReturnValue(ctx, state) {
@@ -6419,7 +6642,7 @@ var require_parser = __commonJS({
6419
6642
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
6420
6643
  }
6421
6644
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
6422
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R7, "ParameterElementDelimiter /[)}]/"))));
6645
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R8, "ParameterElementDelimiter /[)}]/"))));
6423
6646
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6424
6647
  return value[1];
6425
6648
  });
@@ -6730,7 +6953,7 @@ var require_parser = __commonJS({
6730
6953
  children: [ws, binding]
6731
6954
  };
6732
6955
  });
6733
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6956
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6734
6957
  return {
6735
6958
  children: [{
6736
6959
  type: "ElisionElement",
@@ -6854,7 +7077,7 @@ var require_parser = __commonJS({
6854
7077
  block
6855
7078
  };
6856
7079
  });
6857
- var FunctionExpression$1 = $TV($EXPECT($L24, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7080
+ var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
6858
7081
  const ref = makeRef("$"), body = [ref];
6859
7082
  const parameters = {
6860
7083
  type: "Parameters",
@@ -6869,7 +7092,7 @@ var require_parser = __commonJS({
6869
7092
  signature: {
6870
7093
  modifier: {}
6871
7094
  },
6872
- children: [ref, " => ", body],
7095
+ children: [parameters, " => ", body],
6873
7096
  ref,
6874
7097
  body,
6875
7098
  ampersandBlock: true,
@@ -6877,8 +7100,38 @@ var require_parser = __commonJS({
6877
7100
  parameters
6878
7101
  };
6879
7102
  });
6880
- var FunctionExpression$2 = AmpersandFunctionExpression;
6881
- var FunctionExpression$3 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7103
+ var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7104
+ var open = $1;
7105
+ var op = $2;
7106
+ var close = $3;
7107
+ if (op.special && op.call && !op.negated)
7108
+ return op.call;
7109
+ const refA = makeRef("a"), refB = makeRef("b"), body = processBinaryOpExpression([refA, [
7110
+ [[], op, [], refB]
7111
+ // BinaryOpRHS
7112
+ ]]);
7113
+ const parameters = {
7114
+ type: "Parameters",
7115
+ children: ["(", refA, ",", refB, ")"],
7116
+ names: []
7117
+ };
7118
+ const block = {
7119
+ expressions: [body]
7120
+ };
7121
+ return {
7122
+ type: "ArrowFunction",
7123
+ signature: {
7124
+ modifier: {}
7125
+ },
7126
+ children: [open, parameters, " => ", body, close],
7127
+ body,
7128
+ ampersandBlock: true,
7129
+ block,
7130
+ parameters
7131
+ };
7132
+ });
7133
+ var FunctionExpression$3 = AmpersandFunctionExpression;
7134
+ var FunctionExpression$4 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6882
7135
  var id = $1;
6883
7136
  var ws = $4;
6884
7137
  var fn = $5;
@@ -6893,7 +7146,7 @@ var require_parser = __commonJS({
6893
7146
  ]
6894
7147
  };
6895
7148
  });
6896
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
7149
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4];
6897
7150
  function FunctionExpression(ctx, state) {
6898
7151
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
6899
7152
  }
@@ -7024,7 +7277,7 @@ var require_parser = __commonJS({
7024
7277
  function AmpersandBlockRHS(ctx, state) {
7025
7278
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7026
7279
  }
7027
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7280
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R9, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7028
7281
  var callExpRest = $1;
7029
7282
  var unaryPostfix = $2;
7030
7283
  var assign = $3;
@@ -7114,7 +7367,7 @@ var require_parser = __commonJS({
7114
7367
  function ThinArrowFunction(ctx, state) {
7115
7368
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7116
7369
  }
7117
- var Arrow$0 = $TV($C($EXPECT($L25, 'Arrow "->"'), $EXPECT($L26, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7370
+ var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7118
7371
  return { $loc, token: "->" };
7119
7372
  });
7120
7373
  function Arrow(ctx, state) {
@@ -7400,7 +7653,7 @@ var require_parser = __commonJS({
7400
7653
  }
7401
7654
  var BracedContent$0 = NestedBlockStatements;
7402
7655
  var BracedContent$1 = SingleLineStatements;
7403
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L27, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7656
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7404
7657
  const expressions = [];
7405
7658
  return {
7406
7659
  type: "BlockStatement",
@@ -7450,7 +7703,7 @@ var require_parser = __commonJS({
7450
7703
  function BlockStatementPart(ctx, state) {
7451
7704
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
7452
7705
  }
7453
- var Literal$0 = $TS($S($EXPECT($R9, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7706
+ var Literal$0 = $TS($S($EXPECT($R10, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7454
7707
  var literal = $2;
7455
7708
  return {
7456
7709
  type: "Literal",
@@ -7470,13 +7723,13 @@ var require_parser = __commonJS({
7470
7723
  function LiteralContent(ctx, state) {
7471
7724
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7472
7725
  }
7473
- var NullLiteral$0 = $TS($S($EXPECT($L28, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7726
+ var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7474
7727
  return { $loc, token: $1 };
7475
7728
  });
7476
7729
  function NullLiteral(ctx, state) {
7477
7730
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
7478
7731
  }
7479
- var BooleanLiteral$0 = $T($S($EXPECT($R10, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7732
+ var BooleanLiteral$0 = $T($S($EXPECT($R11, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7480
7733
  return value[1];
7481
7734
  });
7482
7735
  function BooleanLiteral(ctx, state) {
@@ -7485,31 +7738,31 @@ var require_parser = __commonJS({
7485
7738
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7486
7739
  return value[1];
7487
7740
  });
7488
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L29, '_BooleanLiteral "true"'), $EXPECT($L30, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7741
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7489
7742
  return { $loc, token: $1 };
7490
7743
  });
7491
7744
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7492
7745
  function _BooleanLiteral(ctx, state) {
7493
7746
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7494
7747
  }
7495
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L31, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L32, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7748
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7496
7749
  return { $loc, token: "true" };
7497
7750
  });
7498
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7751
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7499
7752
  return { $loc, token: "false" };
7500
7753
  });
7501
7754
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
7502
7755
  function CoffeeScriptBooleanLiteral(ctx, state) {
7503
7756
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
7504
7757
  }
7505
- var Identifier$0 = $T($S($EXPECT($R11, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7758
+ var Identifier$0 = $T($S($EXPECT($R12, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7506
7759
  var id = value[2];
7507
7760
  return id;
7508
7761
  });
7509
7762
  function Identifier(ctx, state) {
7510
7763
  return $EVENT(ctx, state, "Identifier", Identifier$0);
7511
7764
  }
7512
- var IdentifierName$0 = $TR($EXPECT($R12, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7765
+ var IdentifierName$0 = $TR($EXPECT($R13, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7513
7766
  return {
7514
7767
  type: "Identifier",
7515
7768
  name: $0,
@@ -7527,11 +7780,11 @@ var require_parser = __commonJS({
7527
7780
  function IdentifierReference(ctx, state) {
7528
7781
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
7529
7782
  }
7530
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L35, 'UpcomingAssignment ">"')))));
7783
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
7531
7784
  function UpcomingAssignment(ctx, state) {
7532
7785
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
7533
7786
  }
7534
- var ArrayLiteral$0 = $T($S($EXPECT($R13, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7787
+ var ArrayLiteral$0 = $T($S($EXPECT($R14, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7535
7788
  return value[1];
7536
7789
  });
7537
7790
  function ArrayLiteral(ctx, state) {
@@ -7685,7 +7938,7 @@ var require_parser = __commonJS({
7685
7938
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
7686
7939
  }
7687
7940
  var ArrayElementDelimiter$0 = $S(__, Comma);
7688
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ArrayElementDelimiter "]"')));
7941
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
7689
7942
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7690
7943
  return value[1];
7691
7944
  });
@@ -7915,7 +8168,7 @@ var require_parser = __commonJS({
7915
8168
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
7916
8169
  }
7917
8170
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
7918
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L27, 'ObjectPropertyDelimiter "}"')));
8171
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
7919
8172
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7920
8173
  return value[1];
7921
8174
  });
@@ -7931,7 +8184,7 @@ var require_parser = __commonJS({
7931
8184
  children: [ws, ...prop.children]
7932
8185
  };
7933
8186
  });
7934
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R14, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8187
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R15, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
7935
8188
  var ws = $1;
7936
8189
  var toggle = $2;
7937
8190
  var id = $3;
@@ -8098,7 +8351,7 @@ var require_parser = __commonJS({
8098
8351
  implicit: true
8099
8352
  };
8100
8353
  });
8101
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8354
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L21, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8102
8355
  const expression = [$2, $3];
8103
8356
  return {
8104
8357
  type: "ComputedPropertyName",
@@ -8358,11 +8611,16 @@ var require_parser = __commonJS({
8358
8611
  }
8359
8612
  var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $E(_)), function($skip, $loc, $0, $1, $2) {
8360
8613
  if ($2?.length) {
8614
+ if (typeof $1 !== "string") {
8615
+ return { ...$1, children: [...$1.children, $2] };
8616
+ }
8361
8617
  return {
8362
8618
  token: $1,
8363
8619
  children: [$1, ...$2]
8364
8620
  };
8365
8621
  }
8622
+ if (typeof $1 !== "string")
8623
+ return $1;
8366
8624
  return { $loc, token: $1 };
8367
8625
  });
8368
8626
  function AssignmentOp(ctx, state) {
@@ -8393,38 +8651,46 @@ var require_parser = __commonJS({
8393
8651
  function OperatorAssignmentOp(ctx, state) {
8394
8652
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8395
8653
  }
8396
- var AssignmentOpSymbol$0 = $EXPECT($L37, 'AssignmentOpSymbol "**="');
8397
- var AssignmentOpSymbol$1 = $EXPECT($L38, 'AssignmentOpSymbol "*="');
8398
- var AssignmentOpSymbol$2 = $EXPECT($L39, 'AssignmentOpSymbol "/="');
8399
- var AssignmentOpSymbol$3 = $EXPECT($L40, 'AssignmentOpSymbol "%="');
8400
- var AssignmentOpSymbol$4 = $EXPECT($L41, 'AssignmentOpSymbol "+="');
8401
- var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "-="');
8402
- var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "<<="');
8403
- var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol ">>>="');
8404
- var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>="');
8405
- var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol "&&="');
8406
- var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&="');
8407
- var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "^="');
8408
- var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "||="');
8409
- var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "|="');
8410
- var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "??="');
8411
- var AssignmentOpSymbol$15 = $T($EXPECT($L52, 'AssignmentOpSymbol "?="'), function(value) {
8654
+ var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8655
+ var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8656
+ var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8657
+ var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8658
+ var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8659
+ return {
8660
+ special: true,
8661
+ call: module.getRef("concatAssign"),
8662
+ omitLhs: true,
8663
+ children: [$2]
8664
+ };
8665
+ });
8666
+ var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8667
+ var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8668
+ var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8669
+ var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8670
+ var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8671
+ var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8672
+ var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8673
+ var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8674
+ var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8675
+ var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8676
+ var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8677
+ var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8412
8678
  return "??=";
8413
8679
  });
8414
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8680
+ var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8415
8681
  return value[0];
8416
8682
  });
8417
- var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
8683
+ var AssignmentOpSymbol$18 = $T($S(CoffeeWordAssignmentOp), function(value) {
8418
8684
  return value[0];
8419
8685
  });
8420
- var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17];
8686
+ var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17, AssignmentOpSymbol$18];
8421
8687
  function AssignmentOpSymbol(ctx, state) {
8422
8688
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8423
8689
  }
8424
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L53, 'CoffeeWordAssignmentOp "and="'), function(value) {
8690
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8425
8691
  return "&&=";
8426
8692
  });
8427
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "or="'), function(value) {
8693
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8428
8694
  return "||=";
8429
8695
  });
8430
8696
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -8458,7 +8724,7 @@ var require_parser = __commonJS({
8458
8724
  function IdentifierBinaryOp(ctx, state) {
8459
8725
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
8460
8726
  }
8461
- var BinaryOp$0 = $T($S($EXPECT($R15, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])/"), _BinaryOp), function(value) {
8727
+ var BinaryOp$0 = $T($S($EXPECT($R16, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8462
8728
  var op = value[1];
8463
8729
  return op;
8464
8730
  });
@@ -8493,27 +8759,33 @@ var require_parser = __commonJS({
8493
8759
  function _BinaryOp(ctx, state) {
8494
8760
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
8495
8761
  }
8496
- var BinaryOpSymbol$0 = $EXPECT($L55, 'BinaryOpSymbol "**"');
8497
- var BinaryOpSymbol$1 = $EXPECT($L56, 'BinaryOpSymbol "*"');
8498
- var BinaryOpSymbol$2 = $EXPECT($L57, 'BinaryOpSymbol "/"');
8499
- var BinaryOpSymbol$3 = $TV($EXPECT($L58, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8762
+ var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
8763
+ var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
8764
+ var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
8765
+ var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8500
8766
  return {
8501
8767
  call: module.getRef("modulo"),
8502
8768
  special: true
8503
8769
  };
8504
8770
  });
8505
- var BinaryOpSymbol$4 = $EXPECT($L59, 'BinaryOpSymbol "%"');
8506
- var BinaryOpSymbol$5 = $EXPECT($L60, 'BinaryOpSymbol "+"');
8507
- var BinaryOpSymbol$6 = $EXPECT($L20, 'BinaryOpSymbol "-"');
8508
- var BinaryOpSymbol$7 = $EXPECT($L61, 'BinaryOpSymbol "<="');
8509
- var BinaryOpSymbol$8 = $T($EXPECT($L62, 'BinaryOpSymbol "\u2264"'), function(value) {
8771
+ var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
8772
+ var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
8773
+ return {
8774
+ method: "concat",
8775
+ special: true
8776
+ };
8777
+ });
8778
+ var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
8779
+ var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
8780
+ var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
8781
+ var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
8510
8782
  return "<=";
8511
8783
  });
8512
- var BinaryOpSymbol$9 = $EXPECT($L63, 'BinaryOpSymbol ">="');
8513
- var BinaryOpSymbol$10 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2265"'), function(value) {
8784
+ var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
8785
+ var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
8514
8786
  return ">=";
8515
8787
  });
8516
- var BinaryOpSymbol$11 = $TV($EXPECT($L65, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8788
+ var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8517
8789
  return {
8518
8790
  $loc,
8519
8791
  token: "instanceof",
@@ -8521,7 +8793,7 @@ var require_parser = __commonJS({
8521
8793
  special: true
8522
8794
  };
8523
8795
  });
8524
- var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8796
+ var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8525
8797
  return {
8526
8798
  $loc,
8527
8799
  token: "instanceof",
@@ -8530,74 +8802,74 @@ var require_parser = __commonJS({
8530
8802
  negated: true
8531
8803
  };
8532
8804
  });
8533
- var BinaryOpSymbol$13 = $EXPECT($L67, 'BinaryOpSymbol "<<"');
8534
- var BinaryOpSymbol$14 = $T($EXPECT($L68, 'BinaryOpSymbol "\xAB"'), function(value) {
8805
+ var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
8806
+ var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
8535
8807
  return "<<";
8536
8808
  });
8537
- var BinaryOpSymbol$15 = $EXPECT($L14, 'BinaryOpSymbol "<"');
8538
- var BinaryOpSymbol$16 = $EXPECT($L69, 'BinaryOpSymbol ">>>"');
8539
- var BinaryOpSymbol$17 = $T($EXPECT($L70, 'BinaryOpSymbol "\u22D9"'), function(value) {
8809
+ var BinaryOpSymbol$16 = $EXPECT($L15, 'BinaryOpSymbol "<"');
8810
+ var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
8811
+ var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
8540
8812
  return ">>>";
8541
8813
  });
8542
- var BinaryOpSymbol$18 = $EXPECT($L71, 'BinaryOpSymbol ">>"');
8543
- var BinaryOpSymbol$19 = $T($EXPECT($L72, 'BinaryOpSymbol "\xBB"'), function(value) {
8814
+ var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
8815
+ var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
8544
8816
  return ">>";
8545
8817
  });
8546
- var BinaryOpSymbol$20 = $EXPECT($L35, 'BinaryOpSymbol ">"');
8547
- var BinaryOpSymbol$21 = $EXPECT($L73, 'BinaryOpSymbol "!=="');
8548
- var BinaryOpSymbol$22 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2262"'), function(value) {
8818
+ var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
8819
+ var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
8820
+ var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
8549
8821
  return "!==";
8550
8822
  });
8551
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L75, 'BinaryOpSymbol "!="'), $EXPECT($L76, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8823
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8552
8824
  if (module.config.coffeeEq)
8553
8825
  return "!==";
8554
8826
  return "!=";
8555
8827
  });
8556
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L77, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8828
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8557
8829
  if (module.config.coffeeIsnt)
8558
8830
  return "!==";
8559
8831
  return $skip;
8560
8832
  });
8561
- var BinaryOpSymbol$25 = $EXPECT($L78, 'BinaryOpSymbol "==="');
8562
- var BinaryOpSymbol$26 = $T($C($EXPECT($L79, 'BinaryOpSymbol "\u2263"'), $EXPECT($L80, 'BinaryOpSymbol "\u2A76"')), function(value) {
8833
+ var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
8834
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
8563
8835
  return "===";
8564
8836
  });
8565
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L81, 'BinaryOpSymbol "=="'), $EXPECT($L82, 'BinaryOpSymbol "\u2261"'), $EXPECT($L83, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8837
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8566
8838
  if (module.config.coffeeEq)
8567
8839
  return "===";
8568
8840
  return "==";
8569
8841
  });
8570
- var BinaryOpSymbol$28 = $T($S($EXPECT($L84, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8842
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8571
8843
  return "&&";
8572
8844
  });
8573
- var BinaryOpSymbol$29 = $EXPECT($L85, 'BinaryOpSymbol "&&"');
8574
- var BinaryOpSymbol$30 = $T($S($EXPECT($L86, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8845
+ var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
8846
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8575
8847
  return "||";
8576
8848
  });
8577
- var BinaryOpSymbol$31 = $EXPECT($L87, 'BinaryOpSymbol "||"');
8578
- var BinaryOpSymbol$32 = $T($EXPECT($L88, 'BinaryOpSymbol "\u2016"'), function(value) {
8849
+ var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
8850
+ var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
8579
8851
  return "||";
8580
8852
  });
8581
- var BinaryOpSymbol$33 = $TV($C($EXPECT($L89, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8853
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8582
8854
  return {
8583
8855
  call: module.getRef("xor"),
8584
8856
  special: true
8585
8857
  };
8586
8858
  });
8587
- var BinaryOpSymbol$34 = $TV($C($EXPECT($R16, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8859
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R17, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8588
8860
  return {
8589
8861
  call: module.getRef("xnor"),
8590
8862
  special: true
8591
8863
  };
8592
8864
  });
8593
- var BinaryOpSymbol$35 = $EXPECT($L92, 'BinaryOpSymbol "??"');
8594
- var BinaryOpSymbol$36 = $T($EXPECT($L93, 'BinaryOpSymbol "\u2047"'), function(value) {
8865
+ var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
8866
+ var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
8595
8867
  return "??";
8596
8868
  });
8597
- var BinaryOpSymbol$37 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8869
+ var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8598
8870
  return "??";
8599
8871
  });
8600
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L94, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8872
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8601
8873
  return {
8602
8874
  $loc,
8603
8875
  token: $1,
@@ -8606,15 +8878,15 @@ var require_parser = __commonJS({
8606
8878
  // for typeof shorthand
8607
8879
  };
8608
8880
  });
8609
- var BinaryOpSymbol$39 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8881
+ var BinaryOpSymbol$40 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8610
8882
  var op = value[1];
8611
8883
  return op;
8612
8884
  });
8613
- var BinaryOpSymbol$40 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8885
+ var BinaryOpSymbol$41 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8614
8886
  var op = $3;
8615
8887
  return { ...op, $loc };
8616
8888
  });
8617
- var BinaryOpSymbol$41 = $TV($C($S(Is, __, In), $EXPECT($L95, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8889
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8618
8890
  return {
8619
8891
  method: "includes",
8620
8892
  relational: true,
@@ -8622,14 +8894,14 @@ var require_parser = __commonJS({
8622
8894
  special: true
8623
8895
  };
8624
8896
  });
8625
- var BinaryOpSymbol$42 = $TV($EXPECT($L96, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8897
+ var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8626
8898
  return {
8627
8899
  method: "includes",
8628
8900
  relational: true,
8629
8901
  special: true
8630
8902
  };
8631
8903
  });
8632
- var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8904
+ var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8633
8905
  return {
8634
8906
  method: "includes",
8635
8907
  relational: true,
@@ -8637,7 +8909,7 @@ var require_parser = __commonJS({
8637
8909
  negated: true
8638
8910
  };
8639
8911
  });
8640
- var BinaryOpSymbol$44 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8912
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8641
8913
  return {
8642
8914
  method: "includes",
8643
8915
  relational: true,
@@ -8646,7 +8918,7 @@ var require_parser = __commonJS({
8646
8918
  negated: true
8647
8919
  };
8648
8920
  });
8649
- var BinaryOpSymbol$45 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8921
+ var BinaryOpSymbol$46 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8650
8922
  if (module.config.objectIs) {
8651
8923
  return {
8652
8924
  call: module.getRef("is"),
@@ -8658,7 +8930,7 @@ var require_parser = __commonJS({
8658
8930
  }
8659
8931
  return "!==";
8660
8932
  });
8661
- var BinaryOpSymbol$46 = $TS($S(Is), function($skip, $loc, $0, $1) {
8933
+ var BinaryOpSymbol$47 = $TS($S(Is), function($skip, $loc, $0, $1) {
8662
8934
  if (module.config.objectIs) {
8663
8935
  return {
8664
8936
  call: module.getRef("is"),
@@ -8669,11 +8941,11 @@ var require_parser = __commonJS({
8669
8941
  }
8670
8942
  return "===";
8671
8943
  });
8672
- var BinaryOpSymbol$47 = In;
8673
- var BinaryOpSymbol$48 = $EXPECT($L99, 'BinaryOpSymbol "&"');
8674
- var BinaryOpSymbol$49 = $EXPECT($L19, 'BinaryOpSymbol "^"');
8675
- var BinaryOpSymbol$50 = $EXPECT($L100, 'BinaryOpSymbol "|"');
8676
- var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50];
8944
+ var BinaryOpSymbol$48 = In;
8945
+ var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
8946
+ var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
8947
+ var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
8948
+ var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
8677
8949
  function BinaryOpSymbol(ctx, state) {
8678
8950
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
8679
8951
  }
@@ -8710,7 +8982,7 @@ var require_parser = __commonJS({
8710
8982
  function CoffeeOfOp(ctx, state) {
8711
8983
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
8712
8984
  }
8713
- var NotOp$0 = $TS($S($EXPECT($L94, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8985
+ var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8714
8986
  return {
8715
8987
  $loc,
8716
8988
  token: "instanceof",
@@ -8731,24 +9003,24 @@ var require_parser = __commonJS({
8731
9003
  function NotOp(ctx, state) {
8732
9004
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
8733
9005
  }
8734
- var Xor$0 = $EXPECT($L89, 'Xor "^^"');
8735
- var Xor$1 = $S($EXPECT($L90, 'Xor "xor"'), NonIdContinue);
9006
+ var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9007
+ var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
8736
9008
  var Xor$$ = [Xor$0, Xor$1];
8737
9009
  function Xor(ctx, state) {
8738
9010
  return $EVENT_C(ctx, state, "Xor", Xor$$);
8739
9011
  }
8740
- var Xnor$0 = $R$0($EXPECT($R16, "Xnor /!\\^\\^?/"));
8741
- var Xnor$1 = $EXPECT($L91, 'Xnor "xnor"');
9012
+ var Xnor$0 = $R$0($EXPECT($R17, "Xnor /!\\^\\^?/"));
9013
+ var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
8742
9014
  var Xnor$$ = [Xnor$0, Xnor$1];
8743
9015
  function Xnor(ctx, state) {
8744
9016
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
8745
9017
  }
8746
- var UnaryOp$0 = $TR($EXPECT($R17, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9018
+ var UnaryOp$0 = $TR($EXPECT($R18, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8747
9019
  return { $loc, token: $0 };
8748
9020
  });
8749
9021
  var UnaryOp$1 = AwaitOp;
8750
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R18, "UnaryOp /[:.]/"))), $E(_));
8751
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R18, "UnaryOp /[:.]/")), $E($EXPECT($L13, 'UnaryOp " "')), $E(_)), function(value) {
9022
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R19, "UnaryOp /[:.]/"))), $E(_));
9023
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R19, "UnaryOp /[:.]/")), $E($EXPECT($L14, 'UnaryOp " "')), $E(_)), function(value) {
8752
9024
  return [value[0], value[3]];
8753
9025
  });
8754
9026
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -8843,7 +9115,7 @@ var require_parser = __commonJS({
8843
9115
  function NonPipelinePostfixedExpression(ctx, state) {
8844
9116
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
8845
9117
  }
8846
- var PostfixStatement$0 = $T($S($EXPECT($R19, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9118
+ var PostfixStatement$0 = $T($S($EXPECT($R20, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
8847
9119
  return value[1];
8848
9120
  });
8849
9121
  function PostfixStatement(ctx, state) {
@@ -8886,7 +9158,7 @@ var require_parser = __commonJS({
8886
9158
  function NoCommaStatement(ctx, state) {
8887
9159
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
8888
9160
  }
8889
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9161
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L102, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
8890
9162
  return { type: "EmptyStatement", children: $1 || [] };
8891
9163
  });
8892
9164
  function EmptyStatement(ctx, state) {
@@ -8917,7 +9189,7 @@ var require_parser = __commonJS({
8917
9189
  var w = $3;
8918
9190
  return [id, colon, w];
8919
9191
  });
8920
- var Label$1 = $S($EXPECT($L102, 'Label "$:"'), Whitespace);
9192
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
8921
9193
  var Label$$ = [Label$0, Label$1];
8922
9194
  function Label(ctx, state) {
8923
9195
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9090,7 +9362,7 @@ var require_parser = __commonJS({
9090
9362
  function BlockExpressionPart(ctx, state) {
9091
9363
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9092
9364
  }
9093
- var IterationStatement$0 = $T($S($EXPECT($R20, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9365
+ var IterationStatement$0 = $T($S($EXPECT($R21, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9094
9366
  return value[1];
9095
9367
  });
9096
9368
  function IterationStatement(ctx, state) {
@@ -9443,7 +9715,7 @@ var require_parser = __commonJS({
9443
9715
  names: binding.names
9444
9716
  };
9445
9717
  });
9446
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R21, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9718
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R22, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9447
9719
  var c = $1;
9448
9720
  var binding = $2;
9449
9721
  return {
@@ -9669,7 +9941,7 @@ var require_parser = __commonJS({
9669
9941
  function IgnoreColon(ctx, state) {
9670
9942
  return $EVENT(ctx, state, "IgnoreColon", IgnoreColon$0);
9671
9943
  }
9672
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L12, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9944
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L13, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9673
9945
  var t = $1;
9674
9946
  var b = $3;
9675
9947
  var c = $4;
@@ -10005,7 +10277,7 @@ var require_parser = __commonJS({
10005
10277
  };
10006
10278
  });
10007
10279
  var KeywordStatement$2 = DebuggerStatement;
10008
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L12, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10280
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L13, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10009
10281
  var expression = value[2];
10010
10282
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10011
10283
  });
@@ -10026,19 +10298,19 @@ var require_parser = __commonJS({
10026
10298
  function ThrowStatement(ctx, state) {
10027
10299
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10028
10300
  }
10029
- var Break$0 = $TS($S($EXPECT($L103, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10301
+ var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10030
10302
  return { $loc, token: $1 };
10031
10303
  });
10032
10304
  function Break(ctx, state) {
10033
10305
  return $EVENT(ctx, state, "Break", Break$0);
10034
10306
  }
10035
- var Continue$0 = $TS($S($EXPECT($L104, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10307
+ var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10036
10308
  return { $loc, token: $1 };
10037
10309
  });
10038
10310
  function Continue(ctx, state) {
10039
10311
  return $EVENT(ctx, state, "Continue", Continue$0);
10040
10312
  }
10041
- var Debugger$0 = $TS($S($EXPECT($L105, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10313
+ var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10042
10314
  return { $loc, token: $1 };
10043
10315
  });
10044
10316
  function Debugger(ctx, state) {
@@ -10159,7 +10431,7 @@ var require_parser = __commonJS({
10159
10431
  function FromClause(ctx, state) {
10160
10432
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10161
10433
  }
10162
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L106, 'ImportAssertion "with"'), $EXPECT($L107, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10434
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L107, 'ImportAssertion "with"'), $EXPECT($L108, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10163
10435
  function ImportAssertion(ctx, state) {
10164
10436
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10165
10437
  }
@@ -10207,7 +10479,7 @@ var require_parser = __commonJS({
10207
10479
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10208
10480
  }
10209
10481
  var ImportAsToken$0 = $S(__, As);
10210
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L13, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10482
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L14, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10211
10483
  var l = $1;
10212
10484
  var ws = $2;
10213
10485
  var c = $3;
@@ -10247,7 +10519,7 @@ var require_parser = __commonJS({
10247
10519
  function UnprocessedModuleSpecifier(ctx, state) {
10248
10520
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10249
10521
  }
10250
- var UnquotedSpecifier$0 = $TV($EXPECT($R22, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10522
+ var UnquotedSpecifier$0 = $TV($EXPECT($R23, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10251
10523
  var spec = $0;
10252
10524
  return { $loc, token: `"${spec}"` };
10253
10525
  });
@@ -10379,13 +10651,13 @@ var require_parser = __commonJS({
10379
10651
  function LexicalDeclaration(ctx, state) {
10380
10652
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10381
10653
  }
10382
- var ConstAssignment$0 = $TV($C($EXPECT($L108, 'ConstAssignment ":="'), $EXPECT($L109, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10654
+ var ConstAssignment$0 = $TV($C($EXPECT($L109, 'ConstAssignment ":="'), $EXPECT($L110, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10383
10655
  return { $loc, token: "=" };
10384
10656
  });
10385
10657
  function ConstAssignment(ctx, state) {
10386
10658
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10387
10659
  }
10388
- var LetAssignment$0 = $TV($EXPECT($L110, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10660
+ var LetAssignment$0 = $TV($EXPECT($L111, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10389
10661
  return { $loc, token: "=" };
10390
10662
  });
10391
10663
  function LetAssignment(ctx, state) {
@@ -10453,7 +10725,7 @@ var require_parser = __commonJS({
10453
10725
  function VariableDeclarationList(ctx, state) {
10454
10726
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
10455
10727
  }
10456
- var NumericLiteral$0 = $TS($S($EXPECT($R23, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10728
+ var NumericLiteral$0 = $TS($S($EXPECT($R24, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10457
10729
  var token = $2;
10458
10730
  return { type: "NumericLiteral", $loc, token };
10459
10731
  });
@@ -10469,36 +10741,36 @@ var require_parser = __commonJS({
10469
10741
  function NumericLiteralKind(ctx, state) {
10470
10742
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
10471
10743
  }
10472
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R24, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10744
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R25, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10473
10745
  function DecimalBigIntegerLiteral(ctx, state) {
10474
10746
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
10475
10747
  }
10476
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R25, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10748
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10477
10749
  return $1 + ".";
10478
10750
  });
10479
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10480
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10751
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10752
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10481
10753
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
10482
10754
  function DecimalLiteral(ctx, state) {
10483
10755
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
10484
10756
  }
10485
- var ExponentPart$0 = $R$0($EXPECT($R28, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10757
+ var ExponentPart$0 = $R$0($EXPECT($R29, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10486
10758
  function ExponentPart(ctx, state) {
10487
10759
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
10488
10760
  }
10489
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R29, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10761
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R30, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10490
10762
  function BinaryIntegerLiteral(ctx, state) {
10491
10763
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
10492
10764
  }
10493
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R30, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10765
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R31, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10494
10766
  function OctalIntegerLiteral(ctx, state) {
10495
10767
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
10496
10768
  }
10497
- var HexIntegerLiteral$0 = $R$0($EXPECT($R31, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10769
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R32, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10498
10770
  function HexIntegerLiteral(ctx, state) {
10499
10771
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
10500
10772
  }
10501
- var IntegerLiteral$0 = $TS($S($EXPECT($R32, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10773
+ var IntegerLiteral$0 = $TS($S($EXPECT($R33, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10502
10774
  var token = $2;
10503
10775
  return { $loc, token };
10504
10776
  });
@@ -10514,7 +10786,7 @@ var require_parser = __commonJS({
10514
10786
  function IntegerLiteralKind(ctx, state) {
10515
10787
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
10516
10788
  }
10517
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R33, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10789
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R34, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10518
10790
  function DecimalIntegerLiteral(ctx, state) {
10519
10791
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
10520
10792
  }
@@ -10538,25 +10810,25 @@ var require_parser = __commonJS({
10538
10810
  function StringLiteral(ctx, state) {
10539
10811
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
10540
10812
  }
10541
- var DoubleStringCharacters$0 = $TR($EXPECT($R34, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10813
+ var DoubleStringCharacters$0 = $TR($EXPECT($R35, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10542
10814
  return { $loc, token: $0 };
10543
10815
  });
10544
10816
  function DoubleStringCharacters(ctx, state) {
10545
10817
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
10546
10818
  }
10547
- var SingleStringCharacters$0 = $TR($EXPECT($R35, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10819
+ var SingleStringCharacters$0 = $TR($EXPECT($R36, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10548
10820
  return { $loc, token: $0 };
10549
10821
  });
10550
10822
  function SingleStringCharacters(ctx, state) {
10551
10823
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
10552
10824
  }
10553
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R36, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10825
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R37, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10554
10826
  return { $loc, token: $0 };
10555
10827
  });
10556
10828
  function TripleDoubleStringCharacters(ctx, state) {
10557
10829
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
10558
10830
  }
10559
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R37, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10831
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R38, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10560
10832
  return { $loc, token: $0 };
10561
10833
  });
10562
10834
  function TripleSingleStringCharacters(ctx, state) {
@@ -10575,14 +10847,14 @@ var require_parser = __commonJS({
10575
10847
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
10576
10848
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
10577
10849
  }
10578
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R38, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10850
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R39, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10579
10851
  return { $loc, token: $0 };
10580
10852
  });
10581
10853
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
10582
10854
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
10583
10855
  }
10584
10856
  var RegularExpressionLiteral$0 = HeregexLiteral;
10585
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10857
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10586
10858
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
10587
10859
  });
10588
10860
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -10595,7 +10867,7 @@ var require_parser = __commonJS({
10595
10867
  function RegularExpressionClass(ctx, state) {
10596
10868
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
10597
10869
  }
10598
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R39, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10870
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R40, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10599
10871
  return { $loc, token: $0 };
10600
10872
  });
10601
10873
  function RegularExpressionClassCharacters(ctx, state) {
@@ -10649,7 +10921,7 @@ var require_parser = __commonJS({
10649
10921
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
10650
10922
  return { "type": "Substitution", "children": value[0] };
10651
10923
  });
10652
- var HeregexPart$3 = $TR($EXPECT($R40, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10924
+ var HeregexPart$3 = $TR($EXPECT($R41, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10653
10925
  let token = $0;
10654
10926
  switch ($0[1]) {
10655
10927
  case "\n":
@@ -10667,13 +10939,13 @@ var require_parser = __commonJS({
10667
10939
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
10668
10940
  return { $loc, token: "" };
10669
10941
  });
10670
- var HeregexPart$5 = $TR($EXPECT($R41, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10942
+ var HeregexPart$5 = $TR($EXPECT($R42, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10671
10943
  return { $loc, token: "" };
10672
10944
  });
10673
- var HeregexPart$6 = $TR($EXPECT($R42, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10945
+ var HeregexPart$6 = $TR($EXPECT($R43, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10674
10946
  return { $loc, token: "\\/" };
10675
10947
  });
10676
- var HeregexPart$7 = $TR($EXPECT($R43, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10948
+ var HeregexPart$7 = $TR($EXPECT($R44, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10677
10949
  return { $loc, token: $0 };
10678
10950
  });
10679
10951
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -10686,7 +10958,7 @@ var require_parser = __commonJS({
10686
10958
  function HeregexComment(ctx, state) {
10687
10959
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
10688
10960
  }
10689
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R44, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10961
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R45, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10690
10962
  function RegularExpressionBody(ctx, state) {
10691
10963
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
10692
10964
  }
@@ -10696,15 +10968,15 @@ var require_parser = __commonJS({
10696
10968
  function RegExpPart(ctx, state) {
10697
10969
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
10698
10970
  }
10699
- var RegExpCharacter$0 = $R$0($EXPECT($R45, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10971
+ var RegExpCharacter$0 = $R$0($EXPECT($R46, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10700
10972
  function RegExpCharacter(ctx, state) {
10701
10973
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
10702
10974
  }
10703
- var RegularExpressionFlags$0 = $R$0($EXPECT($R46, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10975
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R47, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10704
10976
  function RegularExpressionFlags(ctx, state) {
10705
10977
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
10706
10978
  }
10707
- var TemplateLiteral$0 = $T($S($EXPECT($R47, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10979
+ var TemplateLiteral$0 = $T($S($EXPECT($R48, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10708
10980
  return value[1];
10709
10981
  });
10710
10982
  function TemplateLiteral(ctx, state) {
@@ -10740,28 +11012,28 @@ var require_parser = __commonJS({
10740
11012
  function TemplateSubstitution(ctx, state) {
10741
11013
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
10742
11014
  }
10743
- var TemplateCharacters$0 = $TR($EXPECT($R48, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11015
+ var TemplateCharacters$0 = $TR($EXPECT($R49, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10744
11016
  return { $loc, token: $0 };
10745
11017
  });
10746
11018
  function TemplateCharacters(ctx, state) {
10747
11019
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
10748
11020
  }
10749
- var TemplateBlockCharacters$0 = $TR($EXPECT($R49, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11021
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R50, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10750
11022
  return { $loc, token: $0 };
10751
11023
  });
10752
11024
  function TemplateBlockCharacters(ctx, state) {
10753
11025
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
10754
11026
  }
10755
- var ReservedWord$0 = $S($R$0($EXPECT($R50, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
10756
- var ReservedWord$1 = $S($R$0($EXPECT($R51, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
10757
- var ReservedWord$2 = $S($R$0($EXPECT($R52, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
10758
- var ReservedWord$3 = $S($R$0($EXPECT($R53, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
10759
- var ReservedWord$4 = $R$0($EXPECT($R54, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11027
+ var ReservedWord$0 = $S($R$0($EXPECT($R51, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11028
+ var ReservedWord$1 = $S($R$0($EXPECT($R52, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11029
+ var ReservedWord$2 = $S($R$0($EXPECT($R53, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11030
+ var ReservedWord$3 = $S($R$0($EXPECT($R54, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11031
+ var ReservedWord$4 = $R$0($EXPECT($R55, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
10760
11032
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
10761
11033
  function ReservedWord(ctx, state) {
10762
11034
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
10763
11035
  }
10764
- var Comment$0 = $T($S($EXPECT($R55, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11036
+ var Comment$0 = $T($S($EXPECT($R56, "Comment /(?=\\/|#)/"), _Comment), function(value) {
10765
11037
  return value[1];
10766
11038
  });
10767
11039
  function Comment(ctx, state) {
@@ -10779,7 +11051,7 @@ var require_parser = __commonJS({
10779
11051
  function SingleLineComment(ctx, state) {
10780
11052
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
10781
11053
  }
10782
- var JSSingleLineComment$0 = $TR($EXPECT($R56, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11054
+ var JSSingleLineComment$0 = $TR($EXPECT($R57, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10783
11055
  return { type: "Comment", $loc, token: $0 };
10784
11056
  });
10785
11057
  function JSSingleLineComment(ctx, state) {
@@ -10791,30 +11063,30 @@ var require_parser = __commonJS({
10791
11063
  function MultiLineComment(ctx, state) {
10792
11064
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
10793
11065
  }
10794
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L112, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11066
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L112, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L113, 'JSMultiLineComment "*/"')), $EXPECT($R58, "JSMultiLineComment /./"))), $EXPECT($L113, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10795
11067
  return { type: "Comment", $loc, token: $1 };
10796
11068
  });
10797
11069
  function JSMultiLineComment(ctx, state) {
10798
11070
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
10799
11071
  }
10800
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R58, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11072
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R59, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10801
11073
  return { type: "Comment", $loc, token: `//${$1}` };
10802
11074
  });
10803
11075
  function CoffeeSingleLineComment(ctx, state) {
10804
11076
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
10805
11077
  }
10806
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R59, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11078
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R60, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
10807
11079
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
10808
11080
  return { type: "Comment", $loc, token: `/*${$2}*/` };
10809
11081
  });
10810
11082
  function CoffeeMultiLineComment(ctx, state) {
10811
11083
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
10812
11084
  }
10813
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R60, "CoffeeHereCommentStart /###(?!#)/"));
11085
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R61, "CoffeeHereCommentStart /###(?!#)/"));
10814
11086
  function CoffeeHereCommentStart(ctx, state) {
10815
11087
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
10816
11088
  }
10817
- var InlineComment$0 = $TR($EXPECT($R61, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11089
+ var InlineComment$0 = $TR($EXPECT($R62, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10818
11090
  return { $loc, token: $0 };
10819
11091
  });
10820
11092
  function InlineComment(ctx, state) {
@@ -10828,16 +11100,16 @@ var require_parser = __commonJS({
10828
11100
  function TrailingComment(ctx, state) {
10829
11101
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
10830
11102
  }
10831
- var _$0 = $T($S($EXPECT($R62, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11103
+ var _$0 = $T($S($EXPECT($R63, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
10832
11104
  return value[1];
10833
11105
  });
10834
11106
  function _(ctx, state) {
10835
11107
  return $EVENT(ctx, state, "_", _$0);
10836
11108
  }
10837
- var NonNewlineWhitespace$0 = $TR($EXPECT($R63, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11109
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R64, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10838
11110
  return { $loc, token: $0 };
10839
11111
  });
10840
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L113, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11112
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L114, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10841
11113
  return " ";
10842
11114
  });
10843
11115
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -10851,7 +11123,7 @@ var require_parser = __commonJS({
10851
11123
  function Trimmed_(ctx, state) {
10852
11124
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
10853
11125
  }
10854
- var __$0 = $T($S($EXPECT($R64, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11126
+ var __$0 = $T($S($EXPECT($R65, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
10855
11127
  return value[1];
10856
11128
  });
10857
11129
  var __$1 = $EXPECT($L0, '__ ""');
@@ -10859,7 +11131,7 @@ var require_parser = __commonJS({
10859
11131
  function __(ctx, state) {
10860
11132
  return $EVENT_C(ctx, state, "__", __$$);
10861
11133
  }
10862
- var Whitespace$0 = $TR($EXPECT($R41, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11134
+ var Whitespace$0 = $TR($EXPECT($R42, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10863
11135
  return { $loc, token: $0 };
10864
11136
  });
10865
11137
  function Whitespace(ctx, state) {
@@ -10883,7 +11155,7 @@ var require_parser = __commonJS({
10883
11155
  }
10884
11156
  var StatementDelimiter$0 = $Y(EOS);
10885
11157
  var StatementDelimiter$1 = SemicolonDelimiter;
10886
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L27, 'StatementDelimiter "}"'), $EXPECT($L114, 'StatementDelimiter ")"'), $EXPECT($L36, 'StatementDelimiter "]"'))));
11158
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L115, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
10887
11159
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
10888
11160
  function StatementDelimiter(ctx, state) {
10889
11161
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -10897,7 +11169,7 @@ var require_parser = __commonJS({
10897
11169
  function SemicolonDelimiter(ctx, state) {
10898
11170
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
10899
11171
  }
10900
- var NonIdContinue$0 = $R$0($EXPECT($R65, "NonIdContinue /(?!\\p{ID_Continue})/"));
11172
+ var NonIdContinue$0 = $R$0($EXPECT($R66, "NonIdContinue /(?!\\p{ID_Continue})/"));
10901
11173
  function NonIdContinue(ctx, state) {
10902
11174
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
10903
11175
  }
@@ -10907,151 +11179,151 @@ var require_parser = __commonJS({
10907
11179
  function Loc(ctx, state) {
10908
11180
  return $EVENT(ctx, state, "Loc", Loc$0);
10909
11181
  }
10910
- var Abstract$0 = $TV($TEXT($S($EXPECT($L115, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L13, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11182
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L116, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L14, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10911
11183
  return { $loc, token: $1, ts: true };
10912
11184
  });
10913
11185
  function Abstract(ctx, state) {
10914
11186
  return $EVENT(ctx, state, "Abstract", Abstract$0);
10915
11187
  }
10916
- var Ampersand$0 = $TV($EXPECT($L99, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11188
+ var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
10917
11189
  return { $loc, token: $1 };
10918
11190
  });
10919
11191
  function Ampersand(ctx, state) {
10920
11192
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
10921
11193
  }
10922
- var As$0 = $TS($S($EXPECT($L116, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11194
+ var As$0 = $TS($S($EXPECT($L117, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10923
11195
  return { $loc, token: $1 };
10924
11196
  });
10925
11197
  function As(ctx, state) {
10926
11198
  return $EVENT(ctx, state, "As", As$0);
10927
11199
  }
10928
- var At$0 = $TV($EXPECT($L117, 'At "@"'), function($skip, $loc, $0, $1) {
11200
+ var At$0 = $TV($EXPECT($L118, 'At "@"'), function($skip, $loc, $0, $1) {
10929
11201
  return { $loc, token: $1 };
10930
11202
  });
10931
11203
  function At(ctx, state) {
10932
11204
  return $EVENT(ctx, state, "At", At$0);
10933
11205
  }
10934
- var AtAt$0 = $TV($EXPECT($L118, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11206
+ var AtAt$0 = $TV($EXPECT($L119, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10935
11207
  return { $loc, token: "@" };
10936
11208
  });
10937
11209
  function AtAt(ctx, state) {
10938
11210
  return $EVENT(ctx, state, "AtAt", AtAt$0);
10939
11211
  }
10940
- var Async$0 = $TS($S($EXPECT($L119, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11212
+ var Async$0 = $TS($S($EXPECT($L120, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10941
11213
  return { $loc, token: $1, type: "Async" };
10942
11214
  });
10943
11215
  function Async(ctx, state) {
10944
11216
  return $EVENT(ctx, state, "Async", Async$0);
10945
11217
  }
10946
- var Await$0 = $TS($S($EXPECT($L120, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11218
+ var Await$0 = $TS($S($EXPECT($L121, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10947
11219
  return { $loc, token: $1, type: "Await" };
10948
11220
  });
10949
11221
  function Await(ctx, state) {
10950
11222
  return $EVENT(ctx, state, "Await", Await$0);
10951
11223
  }
10952
- var Backtick$0 = $TV($EXPECT($L121, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11224
+ var Backtick$0 = $TV($EXPECT($L122, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10953
11225
  return { $loc, token: $1 };
10954
11226
  });
10955
11227
  function Backtick(ctx, state) {
10956
11228
  return $EVENT(ctx, state, "Backtick", Backtick$0);
10957
11229
  }
10958
- var By$0 = $TS($S($EXPECT($L122, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11230
+ var By$0 = $TS($S($EXPECT($L123, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10959
11231
  return { $loc, token: $1 };
10960
11232
  });
10961
11233
  function By(ctx, state) {
10962
11234
  return $EVENT(ctx, state, "By", By$0);
10963
11235
  }
10964
- var Caret$0 = $TV($EXPECT($L19, 'Caret "^"'), function($skip, $loc, $0, $1) {
11236
+ var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
10965
11237
  return { $loc, token: $1 };
10966
11238
  });
10967
11239
  function Caret(ctx, state) {
10968
11240
  return $EVENT(ctx, state, "Caret", Caret$0);
10969
11241
  }
10970
- var Case$0 = $TS($S($EXPECT($L123, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11242
+ var Case$0 = $TS($S($EXPECT($L124, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10971
11243
  return { $loc, token: $1 };
10972
11244
  });
10973
11245
  function Case(ctx, state) {
10974
11246
  return $EVENT(ctx, state, "Case", Case$0);
10975
11247
  }
10976
- var Catch$0 = $TS($S($EXPECT($L124, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11248
+ var Catch$0 = $TS($S($EXPECT($L125, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10977
11249
  return { $loc, token: $1 };
10978
11250
  });
10979
11251
  function Catch(ctx, state) {
10980
11252
  return $EVENT(ctx, state, "Catch", Catch$0);
10981
11253
  }
10982
- var Class$0 = $TS($S($EXPECT($L125, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11254
+ var Class$0 = $TS($S($EXPECT($L126, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10983
11255
  return { $loc, token: $1 };
10984
11256
  });
10985
11257
  function Class(ctx, state) {
10986
11258
  return $EVENT(ctx, state, "Class", Class$0);
10987
11259
  }
10988
- var CloseAngleBracket$0 = $TV($EXPECT($L35, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11260
+ var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
10989
11261
  return { $loc, token: $1 };
10990
11262
  });
10991
11263
  function CloseAngleBracket(ctx, state) {
10992
11264
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
10993
11265
  }
10994
- var CloseBrace$0 = $TV($EXPECT($L27, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11266
+ var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
10995
11267
  return { $loc, token: $1 };
10996
11268
  });
10997
11269
  function CloseBrace(ctx, state) {
10998
11270
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
10999
11271
  }
11000
- var CloseBracket$0 = $TV($EXPECT($L36, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11272
+ var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11001
11273
  return { $loc, token: $1 };
11002
11274
  });
11003
11275
  function CloseBracket(ctx, state) {
11004
11276
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11005
11277
  }
11006
- var CloseParen$0 = $TV($EXPECT($L114, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11278
+ var CloseParen$0 = $TV($EXPECT($L115, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11007
11279
  return { $loc, token: $1 };
11008
11280
  });
11009
11281
  function CloseParen(ctx, state) {
11010
11282
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11011
11283
  }
11012
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11284
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11013
11285
  return { $loc, token: "${" };
11014
11286
  });
11015
11287
  function CoffeeSubstitutionStart(ctx, state) {
11016
11288
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
11017
11289
  }
11018
- var Colon$0 = $TS($S($EXPECT($L12, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11290
+ var Colon$0 = $TS($S($EXPECT($L13, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11019
11291
  return { $loc, token: $1 };
11020
11292
  });
11021
11293
  function Colon(ctx, state) {
11022
11294
  return $EVENT(ctx, state, "Colon", Colon$0);
11023
11295
  }
11024
- var Comma$0 = $TV($EXPECT($L23, 'Comma ","'), function($skip, $loc, $0, $1) {
11296
+ var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11025
11297
  return { $loc, token: $1 };
11026
11298
  });
11027
11299
  function Comma(ctx, state) {
11028
11300
  return $EVENT(ctx, state, "Comma", Comma$0);
11029
11301
  }
11030
- var ConstructorShorthand$0 = $TV($EXPECT($L117, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11302
+ var ConstructorShorthand$0 = $TV($EXPECT($L118, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11031
11303
  return { $loc, token: "constructor" };
11032
11304
  });
11033
11305
  function ConstructorShorthand(ctx, state) {
11034
11306
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11035
11307
  }
11036
- var Declare$0 = $TS($S($EXPECT($L127, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11308
+ var Declare$0 = $TS($S($EXPECT($L128, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11037
11309
  return { $loc, token: $1 };
11038
11310
  });
11039
11311
  function Declare(ctx, state) {
11040
11312
  return $EVENT(ctx, state, "Declare", Declare$0);
11041
11313
  }
11042
- var Default$0 = $TS($S($EXPECT($L128, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11314
+ var Default$0 = $TS($S($EXPECT($L129, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11043
11315
  return { $loc, token: $1 };
11044
11316
  });
11045
11317
  function Default(ctx, state) {
11046
11318
  return $EVENT(ctx, state, "Default", Default$0);
11047
11319
  }
11048
- var Delete$0 = $TS($S($EXPECT($L129, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11320
+ var Delete$0 = $TS($S($EXPECT($L130, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11049
11321
  return { $loc, token: $1 };
11050
11322
  });
11051
11323
  function Delete(ctx, state) {
11052
11324
  return $EVENT(ctx, state, "Delete", Delete$0);
11053
11325
  }
11054
- var Do$0 = $TS($S($EXPECT($L130, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11326
+ var Do$0 = $TS($S($EXPECT($L131, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11055
11327
  return { $loc, token: $1 };
11056
11328
  });
11057
11329
  function Do(ctx, state) {
@@ -11060,7 +11332,7 @@ var require_parser = __commonJS({
11060
11332
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11061
11333
  return { $loc, token: $1 };
11062
11334
  });
11063
- var Dot$1 = $TS($S($EXPECT($R66, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11335
+ var Dot$1 = $TS($S($EXPECT($R67, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11064
11336
  var ws = $2;
11065
11337
  return [
11066
11338
  { $loc, token: "." },
@@ -11071,45 +11343,45 @@ var require_parser = __commonJS({
11071
11343
  function Dot(ctx, state) {
11072
11344
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11073
11345
  }
11074
- var DotDot$0 = $TS($S($EXPECT($L131, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11346
+ var DotDot$0 = $TS($S($EXPECT($L132, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11075
11347
  return { $loc, token: $1 };
11076
11348
  });
11077
- var DotDot$1 = $TV($EXPECT($L132, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11349
+ var DotDot$1 = $TV($EXPECT($L133, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11078
11350
  return { $loc, token: ".." };
11079
11351
  });
11080
11352
  var DotDot$$ = [DotDot$0, DotDot$1];
11081
11353
  function DotDot(ctx, state) {
11082
11354
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11083
11355
  }
11084
- var DotDotDot$0 = $TV($EXPECT($L133, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11356
+ var DotDotDot$0 = $TV($EXPECT($L134, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11085
11357
  return { $loc, token: $1 };
11086
11358
  });
11087
- var DotDotDot$1 = $TV($EXPECT($L134, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11359
+ var DotDotDot$1 = $TV($EXPECT($L135, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11088
11360
  return { $loc, token: "..." };
11089
11361
  });
11090
11362
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11091
11363
  function DotDotDot(ctx, state) {
11092
11364
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11093
11365
  }
11094
- var DoubleColon$0 = $TV($EXPECT($L135, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11366
+ var DoubleColon$0 = $TV($EXPECT($L136, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11095
11367
  return { $loc, token: $1 };
11096
11368
  });
11097
11369
  function DoubleColon(ctx, state) {
11098
11370
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11099
11371
  }
11100
- var DoubleQuote$0 = $TV($EXPECT($L136, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11372
+ var DoubleQuote$0 = $TV($EXPECT($L137, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11101
11373
  return { $loc, token: $1 };
11102
11374
  });
11103
11375
  function DoubleQuote(ctx, state) {
11104
11376
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11105
11377
  }
11106
- var Each$0 = $TS($S($EXPECT($L137, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11378
+ var Each$0 = $TS($S($EXPECT($L138, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11107
11379
  return { $loc, token: $1 };
11108
11380
  });
11109
11381
  function Each(ctx, state) {
11110
11382
  return $EVENT(ctx, state, "Each", Each$0);
11111
11383
  }
11112
- var Else$0 = $TS($S($EXPECT($L138, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11384
+ var Else$0 = $TS($S($EXPECT($L139, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11113
11385
  return { $loc, token: $1 };
11114
11386
  });
11115
11387
  function Else(ctx, state) {
@@ -11121,85 +11393,91 @@ var require_parser = __commonJS({
11121
11393
  function Equals(ctx, state) {
11122
11394
  return $EVENT(ctx, state, "Equals", Equals$0);
11123
11395
  }
11124
- var Export$0 = $TS($S($EXPECT($L139, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11396
+ var ExclamationPoint$0 = $TV($EXPECT($L19, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11397
+ return { $loc, token: $1 };
11398
+ });
11399
+ function ExclamationPoint(ctx, state) {
11400
+ return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11401
+ }
11402
+ var Export$0 = $TS($S($EXPECT($L140, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11125
11403
  return { $loc, token: $1 };
11126
11404
  });
11127
11405
  function Export(ctx, state) {
11128
11406
  return $EVENT(ctx, state, "Export", Export$0);
11129
11407
  }
11130
- var Extends$0 = $TS($S($EXPECT($L140, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11408
+ var Extends$0 = $TS($S($EXPECT($L141, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11131
11409
  return { $loc, token: $1 };
11132
11410
  });
11133
11411
  function Extends(ctx, state) {
11134
11412
  return $EVENT(ctx, state, "Extends", Extends$0);
11135
11413
  }
11136
- var Finally$0 = $TS($S($EXPECT($L141, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11414
+ var Finally$0 = $TS($S($EXPECT($L142, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11137
11415
  return { $loc, token: $1 };
11138
11416
  });
11139
11417
  function Finally(ctx, state) {
11140
11418
  return $EVENT(ctx, state, "Finally", Finally$0);
11141
11419
  }
11142
- var For$0 = $TS($S($EXPECT($L142, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11420
+ var For$0 = $TS($S($EXPECT($L143, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11143
11421
  return { $loc, token: $1 };
11144
11422
  });
11145
11423
  function For(ctx, state) {
11146
11424
  return $EVENT(ctx, state, "For", For$0);
11147
11425
  }
11148
- var From$0 = $TS($S($EXPECT($L143, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11426
+ var From$0 = $TS($S($EXPECT($L144, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11149
11427
  return { $loc, token: $1 };
11150
11428
  });
11151
11429
  function From(ctx, state) {
11152
11430
  return $EVENT(ctx, state, "From", From$0);
11153
11431
  }
11154
- var Function$0 = $TS($S($EXPECT($L144, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11432
+ var Function$0 = $TS($S($EXPECT($L145, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11155
11433
  return { $loc, token: $1 };
11156
11434
  });
11157
11435
  function Function(ctx, state) {
11158
11436
  return $EVENT(ctx, state, "Function", Function$0);
11159
11437
  }
11160
- var GetOrSet$0 = $TS($S($C($EXPECT($L145, 'GetOrSet "get"'), $EXPECT($L146, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11438
+ var GetOrSet$0 = $TS($S($C($EXPECT($L146, 'GetOrSet "get"'), $EXPECT($L147, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11161
11439
  return { $loc, token: $1, type: "GetOrSet" };
11162
11440
  });
11163
11441
  function GetOrSet(ctx, state) {
11164
11442
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11165
11443
  }
11166
- var Hash$0 = $TV($EXPECT($L147, 'Hash "#"'), function($skip, $loc, $0, $1) {
11444
+ var Hash$0 = $TV($EXPECT($L148, 'Hash "#"'), function($skip, $loc, $0, $1) {
11167
11445
  return { $loc, token: $1 };
11168
11446
  });
11169
11447
  function Hash(ctx, state) {
11170
11448
  return $EVENT(ctx, state, "Hash", Hash$0);
11171
11449
  }
11172
- var If$0 = $TV($TEXT($S($EXPECT($L148, 'If "if"'), NonIdContinue, $E($EXPECT($L13, 'If " "')))), function($skip, $loc, $0, $1) {
11450
+ var If$0 = $TV($TEXT($S($EXPECT($L149, 'If "if"'), NonIdContinue, $E($EXPECT($L14, 'If " "')))), function($skip, $loc, $0, $1) {
11173
11451
  return { $loc, token: $1 };
11174
11452
  });
11175
11453
  function If(ctx, state) {
11176
11454
  return $EVENT(ctx, state, "If", If$0);
11177
11455
  }
11178
- var Import$0 = $TS($S($EXPECT($L17, 'Import "import"'), $Y($EXPECT($R67, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11456
+ var Import$0 = $TS($S($EXPECT($L18, 'Import "import"'), $Y($EXPECT($R68, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11179
11457
  return { $loc, token: $1 };
11180
11458
  });
11181
11459
  function Import(ctx, state) {
11182
11460
  return $EVENT(ctx, state, "Import", Import$0);
11183
11461
  }
11184
- var In$0 = $TS($S($EXPECT($L149, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11462
+ var In$0 = $TS($S($EXPECT($L150, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11185
11463
  return { $loc, token: $1 };
11186
11464
  });
11187
11465
  function In(ctx, state) {
11188
11466
  return $EVENT(ctx, state, "In", In$0);
11189
11467
  }
11190
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, 'LetOrConst "let"'), $EXPECT($L151, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11468
+ var LetOrConst$0 = $TS($S($C($EXPECT($L151, 'LetOrConst "let"'), $EXPECT($L152, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11191
11469
  return { $loc, token: $1 };
11192
11470
  });
11193
11471
  function LetOrConst(ctx, state) {
11194
11472
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11195
11473
  }
11196
- var Const$0 = $TS($S($EXPECT($L151, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11474
+ var Const$0 = $TS($S($EXPECT($L152, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11197
11475
  return { $loc, token: $1 };
11198
11476
  });
11199
11477
  function Const(ctx, state) {
11200
11478
  return $EVENT(ctx, state, "Const", Const$0);
11201
11479
  }
11202
- var Is$0 = $TS($S($EXPECT($L152, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11480
+ var Is$0 = $TS($S($EXPECT($L153, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11203
11481
  return { $loc, token: $1 };
11204
11482
  });
11205
11483
  function Is(ctx, state) {
@@ -11211,31 +11489,31 @@ var require_parser = __commonJS({
11211
11489
  function LetOrConstOrVar(ctx, state) {
11212
11490
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11213
11491
  }
11214
- var Loop$0 = $TS($S($EXPECT($L153, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11492
+ var Loop$0 = $TS($S($EXPECT($L154, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11215
11493
  return { $loc, token: "while(true)" };
11216
11494
  });
11217
11495
  function Loop(ctx, state) {
11218
11496
  return $EVENT(ctx, state, "Loop", Loop$0);
11219
11497
  }
11220
- var New$0 = $TS($S($EXPECT($L154, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11498
+ var New$0 = $TS($S($EXPECT($L155, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11221
11499
  return { $loc, token: $1 };
11222
11500
  });
11223
11501
  function New(ctx, state) {
11224
11502
  return $EVENT(ctx, state, "New", New$0);
11225
11503
  }
11226
- var Not$0 = $TS($S($EXPECT($L155, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11504
+ var Not$0 = $TS($S($EXPECT($L156, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L13, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11227
11505
  return { $loc, token: "!" };
11228
11506
  });
11229
11507
  function Not(ctx, state) {
11230
11508
  return $EVENT(ctx, state, "Not", Not$0);
11231
11509
  }
11232
- var Of$0 = $TS($S($EXPECT($L156, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11510
+ var Of$0 = $TS($S($EXPECT($L157, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11233
11511
  return { $loc, token: $1 };
11234
11512
  });
11235
11513
  function Of(ctx, state) {
11236
11514
  return $EVENT(ctx, state, "Of", Of$0);
11237
11515
  }
11238
- var OpenAngleBracket$0 = $TV($EXPECT($L14, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11516
+ var OpenAngleBracket$0 = $TV($EXPECT($L15, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11239
11517
  return { $loc, token: $1 };
11240
11518
  });
11241
11519
  function OpenAngleBracket(ctx, state) {
@@ -11247,7 +11525,7 @@ var require_parser = __commonJS({
11247
11525
  function OpenBrace(ctx, state) {
11248
11526
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11249
11527
  }
11250
- var OpenBracket$0 = $TV($EXPECT($L157, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11528
+ var OpenBracket$0 = $TV($EXPECT($L158, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11251
11529
  return { $loc, token: $1 };
11252
11530
  });
11253
11531
  function OpenBracket(ctx, state) {
@@ -11259,43 +11537,43 @@ var require_parser = __commonJS({
11259
11537
  function OpenParen(ctx, state) {
11260
11538
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11261
11539
  }
11262
- var Operator$0 = $TS($S($EXPECT($L158, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11540
+ var Operator$0 = $TS($S($EXPECT($L159, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11263
11541
  return { $loc, token: $1 };
11264
11542
  });
11265
11543
  function Operator(ctx, state) {
11266
11544
  return $EVENT(ctx, state, "Operator", Operator$0);
11267
11545
  }
11268
- var Own$0 = $TS($S($EXPECT($L159, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11546
+ var Own$0 = $TS($S($EXPECT($L160, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11269
11547
  return { $loc, token: $1 };
11270
11548
  });
11271
11549
  function Own(ctx, state) {
11272
11550
  return $EVENT(ctx, state, "Own", Own$0);
11273
11551
  }
11274
- var Public$0 = $TS($S($EXPECT($L160, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11552
+ var Public$0 = $TS($S($EXPECT($L161, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11275
11553
  return { $loc, token: $1 };
11276
11554
  });
11277
11555
  function Public(ctx, state) {
11278
11556
  return $EVENT(ctx, state, "Public", Public$0);
11279
11557
  }
11280
- var Private$0 = $TS($S($EXPECT($L161, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11558
+ var Private$0 = $TS($S($EXPECT($L162, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11281
11559
  return { $loc, token: $1 };
11282
11560
  });
11283
11561
  function Private(ctx, state) {
11284
11562
  return $EVENT(ctx, state, "Private", Private$0);
11285
11563
  }
11286
- var Protected$0 = $TS($S($EXPECT($L162, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11564
+ var Protected$0 = $TS($S($EXPECT($L163, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11287
11565
  return { $loc, token: $1 };
11288
11566
  });
11289
11567
  function Protected(ctx, state) {
11290
11568
  return $EVENT(ctx, state, "Protected", Protected$0);
11291
11569
  }
11292
- var Pipe$0 = $TV($C($EXPECT($L163, 'Pipe "||>"'), $EXPECT($L164, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11570
+ var Pipe$0 = $TV($C($EXPECT($L164, 'Pipe "||>"'), $EXPECT($L165, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11293
11571
  return { $loc, token: "||>" };
11294
11572
  });
11295
- var Pipe$1 = $TV($C($EXPECT($L165, 'Pipe "|>="'), $EXPECT($L166, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11573
+ var Pipe$1 = $TV($C($EXPECT($L166, 'Pipe "|>="'), $EXPECT($L167, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11296
11574
  return { $loc, token: "|>=" };
11297
11575
  });
11298
- var Pipe$2 = $TV($C($EXPECT($L167, 'Pipe "|>"'), $EXPECT($L168, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11576
+ var Pipe$2 = $TV($C($EXPECT($L168, 'Pipe "|>"'), $EXPECT($L169, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11299
11577
  return { $loc, token: "|>" };
11300
11578
  });
11301
11579
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11308,173 +11586,173 @@ var require_parser = __commonJS({
11308
11586
  function QuestionMark(ctx, state) {
11309
11587
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11310
11588
  }
11311
- var Readonly$0 = $TS($S($EXPECT($L169, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11589
+ var Readonly$0 = $TS($S($EXPECT($L170, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11312
11590
  return { $loc, token: $1, ts: true };
11313
11591
  });
11314
11592
  function Readonly(ctx, state) {
11315
11593
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11316
11594
  }
11317
- var Return$0 = $TS($S($EXPECT($L170, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11595
+ var Return$0 = $TS($S($EXPECT($L171, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11318
11596
  return { $loc, token: $1 };
11319
11597
  });
11320
11598
  function Return(ctx, state) {
11321
11599
  return $EVENT(ctx, state, "Return", Return$0);
11322
11600
  }
11323
- var Satisfies$0 = $TS($S($EXPECT($L171, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11601
+ var Satisfies$0 = $TS($S($EXPECT($L172, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11324
11602
  return { $loc, token: $1 };
11325
11603
  });
11326
11604
  function Satisfies(ctx, state) {
11327
11605
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11328
11606
  }
11329
- var Semicolon$0 = $TV($EXPECT($L101, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11607
+ var Semicolon$0 = $TV($EXPECT($L102, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11330
11608
  return { $loc, token: $1 };
11331
11609
  });
11332
11610
  function Semicolon(ctx, state) {
11333
11611
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11334
11612
  }
11335
- var SingleQuote$0 = $TV($EXPECT($L172, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11613
+ var SingleQuote$0 = $TV($EXPECT($L173, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11336
11614
  return { $loc, token: $1 };
11337
11615
  });
11338
11616
  function SingleQuote(ctx, state) {
11339
11617
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11340
11618
  }
11341
- var Star$0 = $TV($EXPECT($L56, 'Star "*"'), function($skip, $loc, $0, $1) {
11619
+ var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11342
11620
  return { $loc, token: $1 };
11343
11621
  });
11344
11622
  function Star(ctx, state) {
11345
11623
  return $EVENT(ctx, state, "Star", Star$0);
11346
11624
  }
11347
- var Static$0 = $TS($S($EXPECT($L173, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11625
+ var Static$0 = $TS($S($EXPECT($L174, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11348
11626
  return { $loc, token: $1 };
11349
11627
  });
11350
- var Static$1 = $TS($S($EXPECT($L117, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L117, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11628
+ var Static$1 = $TS($S($EXPECT($L118, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L118, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11351
11629
  return { $loc, token: "static " };
11352
11630
  });
11353
11631
  var Static$$ = [Static$0, Static$1];
11354
11632
  function Static(ctx, state) {
11355
11633
  return $EVENT_C(ctx, state, "Static", Static$$);
11356
11634
  }
11357
- var SubstitutionStart$0 = $TV($EXPECT($L174, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11635
+ var SubstitutionStart$0 = $TV($EXPECT($L175, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11358
11636
  return { $loc, token: $1 };
11359
11637
  });
11360
11638
  function SubstitutionStart(ctx, state) {
11361
11639
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11362
11640
  }
11363
- var Super$0 = $TS($S($EXPECT($L175, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11641
+ var Super$0 = $TS($S($EXPECT($L176, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11364
11642
  return { $loc, token: $1 };
11365
11643
  });
11366
11644
  function Super(ctx, state) {
11367
11645
  return $EVENT(ctx, state, "Super", Super$0);
11368
11646
  }
11369
- var Switch$0 = $TS($S($EXPECT($L176, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11647
+ var Switch$0 = $TS($S($EXPECT($L177, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11370
11648
  return { $loc, token: $1 };
11371
11649
  });
11372
11650
  function Switch(ctx, state) {
11373
11651
  return $EVENT(ctx, state, "Switch", Switch$0);
11374
11652
  }
11375
- var Target$0 = $TS($S($EXPECT($L177, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11653
+ var Target$0 = $TS($S($EXPECT($L178, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11376
11654
  return { $loc, token: $1 };
11377
11655
  });
11378
11656
  function Target(ctx, state) {
11379
11657
  return $EVENT(ctx, state, "Target", Target$0);
11380
11658
  }
11381
- var Then$0 = $TS($S(__, $EXPECT($L178, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11659
+ var Then$0 = $TS($S(__, $EXPECT($L179, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11382
11660
  return { $loc, token: "" };
11383
11661
  });
11384
11662
  function Then(ctx, state) {
11385
11663
  return $EVENT(ctx, state, "Then", Then$0);
11386
11664
  }
11387
- var This$0 = $TS($S($EXPECT($L179, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11665
+ var This$0 = $TS($S($EXPECT($L180, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11388
11666
  return { $loc, token: $1 };
11389
11667
  });
11390
11668
  function This(ctx, state) {
11391
11669
  return $EVENT(ctx, state, "This", This$0);
11392
11670
  }
11393
- var Throw$0 = $TS($S($EXPECT($L180, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11671
+ var Throw$0 = $TS($S($EXPECT($L181, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11394
11672
  return { $loc, token: $1 };
11395
11673
  });
11396
11674
  function Throw(ctx, state) {
11397
11675
  return $EVENT(ctx, state, "Throw", Throw$0);
11398
11676
  }
11399
- var TripleDoubleQuote$0 = $TV($EXPECT($L181, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11677
+ var TripleDoubleQuote$0 = $TV($EXPECT($L182, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11400
11678
  return { $loc, token: "`" };
11401
11679
  });
11402
11680
  function TripleDoubleQuote(ctx, state) {
11403
11681
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11404
11682
  }
11405
- var TripleSingleQuote$0 = $TV($EXPECT($L182, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11683
+ var TripleSingleQuote$0 = $TV($EXPECT($L183, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11406
11684
  return { $loc, token: "`" };
11407
11685
  });
11408
11686
  function TripleSingleQuote(ctx, state) {
11409
11687
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11410
11688
  }
11411
- var TripleSlash$0 = $TV($EXPECT($L183, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11689
+ var TripleSlash$0 = $TV($EXPECT($L184, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11412
11690
  return { $loc, token: "/" };
11413
11691
  });
11414
11692
  function TripleSlash(ctx, state) {
11415
11693
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11416
11694
  }
11417
- var TripleTick$0 = $TV($EXPECT($L184, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11695
+ var TripleTick$0 = $TV($EXPECT($L185, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11418
11696
  return { $loc, token: "`" };
11419
11697
  });
11420
11698
  function TripleTick(ctx, state) {
11421
11699
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11422
11700
  }
11423
- var Try$0 = $TS($S($EXPECT($L185, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11701
+ var Try$0 = $TS($S($EXPECT($L186, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11424
11702
  return { $loc, token: $1 };
11425
11703
  });
11426
11704
  function Try(ctx, state) {
11427
11705
  return $EVENT(ctx, state, "Try", Try$0);
11428
11706
  }
11429
- var Typeof$0 = $TS($S($EXPECT($L186, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11707
+ var Typeof$0 = $TS($S($EXPECT($L187, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11430
11708
  return { $loc, token: $1 };
11431
11709
  });
11432
11710
  function Typeof(ctx, state) {
11433
11711
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11434
11712
  }
11435
- var Unless$0 = $TS($S($EXPECT($L187, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11436
- return { $loc, token: $1 };
11713
+ var Unless$0 = $TS($S($EXPECT($L188, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11714
+ return { $loc, token: $1, negated: true };
11437
11715
  });
11438
11716
  function Unless(ctx, state) {
11439
11717
  return $EVENT(ctx, state, "Unless", Unless$0);
11440
11718
  }
11441
- var Until$0 = $TS($S($EXPECT($L188, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11719
+ var Until$0 = $TS($S($EXPECT($L189, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11442
11720
  return { $loc, token: $1 };
11443
11721
  });
11444
11722
  function Until(ctx, state) {
11445
11723
  return $EVENT(ctx, state, "Until", Until$0);
11446
11724
  }
11447
- var Using$0 = $TS($S($EXPECT($L189, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11725
+ var Using$0 = $TS($S($EXPECT($L190, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11448
11726
  return { $loc, token: $1 };
11449
11727
  });
11450
11728
  function Using(ctx, state) {
11451
11729
  return $EVENT(ctx, state, "Using", Using$0);
11452
11730
  }
11453
- var Var$0 = $TS($S($EXPECT($L190, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11731
+ var Var$0 = $TS($S($EXPECT($L191, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11454
11732
  return { $loc, token: $1 };
11455
11733
  });
11456
11734
  function Var(ctx, state) {
11457
11735
  return $EVENT(ctx, state, "Var", Var$0);
11458
11736
  }
11459
- var Void$0 = $TS($S($EXPECT($L191, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11737
+ var Void$0 = $TS($S($EXPECT($L192, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11460
11738
  return { $loc, token: $1 };
11461
11739
  });
11462
11740
  function Void(ctx, state) {
11463
11741
  return $EVENT(ctx, state, "Void", Void$0);
11464
11742
  }
11465
- var When$0 = $TS($S($EXPECT($L192, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11743
+ var When$0 = $TS($S($EXPECT($L193, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11466
11744
  return { $loc, token: "case" };
11467
11745
  });
11468
11746
  function When(ctx, state) {
11469
11747
  return $EVENT(ctx, state, "When", When$0);
11470
11748
  }
11471
- var While$0 = $TS($S($EXPECT($L193, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11749
+ var While$0 = $TS($S($EXPECT($L194, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11472
11750
  return { $loc, token: $1 };
11473
11751
  });
11474
11752
  function While(ctx, state) {
11475
11753
  return $EVENT(ctx, state, "While", While$0);
11476
11754
  }
11477
- var Yield$0 = $TS($S($EXPECT($L194, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11755
+ var Yield$0 = $TS($S($EXPECT($L195, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11478
11756
  return { $loc, token: $1, type: "Yield" };
11479
11757
  });
11480
11758
  function Yield(ctx, state) {
@@ -11503,7 +11781,7 @@ var require_parser = __commonJS({
11503
11781
  function JSXImplicitFragment(ctx, state) {
11504
11782
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
11505
11783
  }
11506
- var JSXTag$0 = $T($S($EXPECT($R68, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11784
+ var JSXTag$0 = $T($S($EXPECT($R69, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11507
11785
  return value[1];
11508
11786
  });
11509
11787
  function JSXTag(ctx, state) {
@@ -11553,7 +11831,7 @@ var require_parser = __commonJS({
11553
11831
  function JSXElement(ctx, state) {
11554
11832
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11555
11833
  }
11556
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L14, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L195, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11834
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L15, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L196, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11557
11835
  return { type: "JSXElement", children: $0, tag: $2 };
11558
11836
  });
11559
11837
  function JSXSelfClosingElement(ctx, state) {
@@ -11572,7 +11850,7 @@ var require_parser = __commonJS({
11572
11850
  function PopJSXStack(ctx, state) {
11573
11851
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
11574
11852
  }
11575
- var JSXOpeningElement$0 = $S($EXPECT($L14, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L35, 'JSXOpeningElement ">"'));
11853
+ var JSXOpeningElement$0 = $S($EXPECT($L15, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
11576
11854
  function JSXOpeningElement(ctx, state) {
11577
11855
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
11578
11856
  }
@@ -11587,7 +11865,7 @@ var require_parser = __commonJS({
11587
11865
  function JSXOptionalClosingElement(ctx, state) {
11588
11866
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11589
11867
  }
11590
- var JSXClosingElement$0 = $S($EXPECT($L196, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L35, 'JSXClosingElement ">"'));
11868
+ var JSXClosingElement$0 = $S($EXPECT($L197, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
11591
11869
  function JSXClosingElement(ctx, state) {
11592
11870
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11593
11871
  }
@@ -11608,7 +11886,7 @@ var require_parser = __commonJS({
11608
11886
  ];
11609
11887
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11610
11888
  });
11611
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L197, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11889
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L198, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11612
11890
  var children = $3;
11613
11891
  $0 = $0.slice(1);
11614
11892
  return {
@@ -11621,7 +11899,7 @@ var require_parser = __commonJS({
11621
11899
  function JSXFragment(ctx, state) {
11622
11900
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11623
11901
  }
11624
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L197, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11902
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L198, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11625
11903
  module.JSXTagStack.push("");
11626
11904
  return $1;
11627
11905
  });
@@ -11638,11 +11916,11 @@ var require_parser = __commonJS({
11638
11916
  function JSXOptionalClosingFragment(ctx, state) {
11639
11917
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11640
11918
  }
11641
- var JSXClosingFragment$0 = $EXPECT($L198, 'JSXClosingFragment "</>"');
11919
+ var JSXClosingFragment$0 = $EXPECT($L199, 'JSXClosingFragment "</>"');
11642
11920
  function JSXClosingFragment(ctx, state) {
11643
11921
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11644
11922
  }
11645
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L147, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11923
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L148, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11646
11924
  return module.config.defaultElement;
11647
11925
  });
11648
11926
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11650,7 +11928,7 @@ var require_parser = __commonJS({
11650
11928
  function JSXElementName(ctx, state) {
11651
11929
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
11652
11930
  }
11653
- var JSXIdentifierName$0 = $R$0($EXPECT($R69, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11931
+ var JSXIdentifierName$0 = $R$0($EXPECT($R70, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11654
11932
  function JSXIdentifierName(ctx, state) {
11655
11933
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
11656
11934
  }
@@ -11814,7 +12092,7 @@ var require_parser = __commonJS({
11814
12092
  }
11815
12093
  return $skip;
11816
12094
  });
11817
- var JSXAttribute$5 = $TS($S($EXPECT($L147, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12095
+ var JSXAttribute$5 = $TS($S($EXPECT($L148, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11818
12096
  return [" ", "id=", $2];
11819
12097
  });
11820
12098
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -11823,7 +12101,7 @@ var require_parser = __commonJS({
11823
12101
  class: $2
11824
12102
  };
11825
12103
  });
11826
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R14, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12104
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R15, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
11827
12105
  var toggle = $1;
11828
12106
  var id = $2;
11829
12107
  const value = toggle === "+" ? "true" : "false";
@@ -11833,11 +12111,11 @@ var require_parser = __commonJS({
11833
12111
  function JSXAttribute(ctx, state) {
11834
12112
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
11835
12113
  }
11836
- var JSXAttributeSpace$0 = $R$0($EXPECT($R70, "JSXAttributeSpace /[\\s>]|\\/>/"));
12114
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R71, "JSXAttributeSpace /[\\s>]|\\/>/"));
11837
12115
  function JSXAttributeSpace(ctx, state) {
11838
12116
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
11839
12117
  }
11840
- var JSXShorthandString$0 = $TR($EXPECT($R71, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12118
+ var JSXShorthandString$0 = $TR($EXPECT($R72, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11841
12119
  return quoteString($0);
11842
12120
  });
11843
12121
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -11871,7 +12149,7 @@ var require_parser = __commonJS({
11871
12149
  }
11872
12150
  return [open, value, close];
11873
12151
  });
11874
- var JSXAttributeValue$4 = $R$0($EXPECT($R72, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12152
+ var JSXAttributeValue$4 = $R$0($EXPECT($R73, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
11875
12153
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
11876
12154
  function JSXAttributeValue(ctx, state) {
11877
12155
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -11884,7 +12162,7 @@ var require_parser = __commonJS({
11884
12162
  function InlineJSXAttributeValue(ctx, state) {
11885
12163
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
11886
12164
  }
11887
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R73, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12165
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R74, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
11888
12166
  var op = $2;
11889
12167
  var rhs = $3;
11890
12168
  return [[], op, [], rhs];
@@ -11901,7 +12179,7 @@ var require_parser = __commonJS({
11901
12179
  function InlineJSXUnaryExpression(ctx, state) {
11902
12180
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
11903
12181
  }
11904
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R74, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12182
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R75, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11905
12183
  return { $loc, token: $0 };
11906
12184
  });
11907
12185
  function InlineJSXUnaryOp(ctx, state) {
@@ -11933,7 +12211,7 @@ var require_parser = __commonJS({
11933
12211
  ]
11934
12212
  });
11935
12213
  });
11936
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12214
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L18, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
11937
12215
  var args = $2;
11938
12216
  var rest = $3;
11939
12217
  return processCallMemberExpression({
@@ -12052,7 +12330,7 @@ var require_parser = __commonJS({
12052
12330
  }
12053
12331
  return $skip;
12054
12332
  });
12055
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L27, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12333
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12056
12334
  return { children: [], jsxChildren: [] };
12057
12335
  });
12058
12336
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12107,19 +12385,19 @@ var require_parser = __commonJS({
12107
12385
  function JSXChild(ctx, state) {
12108
12386
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12109
12387
  }
12110
- var JSXComment$0 = $TS($S($EXPECT($L199, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L200, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12388
+ var JSXComment$0 = $TS($S($EXPECT($L200, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L201, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12111
12389
  return ["{/*", $2, "*/}"];
12112
12390
  });
12113
12391
  function JSXComment(ctx, state) {
12114
12392
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12115
12393
  }
12116
- var JSXCommentContent$0 = $TR($EXPECT($R75, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12394
+ var JSXCommentContent$0 = $TR($EXPECT($R76, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12117
12395
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12118
12396
  });
12119
12397
  function JSXCommentContent(ctx, state) {
12120
12398
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12121
12399
  }
12122
- var JSXText$0 = $TR($EXPECT($R76, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12400
+ var JSXText$0 = $TR($EXPECT($R77, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12123
12401
  return {
12124
12402
  type: "JSXText",
12125
12403
  token: $0,
@@ -12239,37 +12517,37 @@ var require_parser = __commonJS({
12239
12517
  function InterfaceExtendsTarget(ctx, state) {
12240
12518
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12241
12519
  }
12242
- var TypeKeyword$0 = $TS($S($EXPECT($L201, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12520
+ var TypeKeyword$0 = $TS($S($EXPECT($L202, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12243
12521
  return { $loc, token: $1 };
12244
12522
  });
12245
12523
  function TypeKeyword(ctx, state) {
12246
12524
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12247
12525
  }
12248
- var Enum$0 = $TS($S($EXPECT($L202, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12526
+ var Enum$0 = $TS($S($EXPECT($L203, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12249
12527
  return { $loc, token: $1 };
12250
12528
  });
12251
12529
  function Enum(ctx, state) {
12252
12530
  return $EVENT(ctx, state, "Enum", Enum$0);
12253
12531
  }
12254
- var Interface$0 = $TS($S($EXPECT($L203, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12532
+ var Interface$0 = $TS($S($EXPECT($L204, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12255
12533
  return { $loc, token: $1 };
12256
12534
  });
12257
12535
  function Interface(ctx, state) {
12258
12536
  return $EVENT(ctx, state, "Interface", Interface$0);
12259
12537
  }
12260
- var Global$0 = $TS($S($EXPECT($L204, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12538
+ var Global$0 = $TS($S($EXPECT($L205, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12261
12539
  return { $loc, token: $1 };
12262
12540
  });
12263
12541
  function Global(ctx, state) {
12264
12542
  return $EVENT(ctx, state, "Global", Global$0);
12265
12543
  }
12266
- var Module$0 = $TS($S($EXPECT($L205, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12544
+ var Module$0 = $TS($S($EXPECT($L206, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12267
12545
  return { $loc, token: $1 };
12268
12546
  });
12269
12547
  function Module(ctx, state) {
12270
12548
  return $EVENT(ctx, state, "Module", Module$0);
12271
12549
  }
12272
- var Namespace$0 = $TS($S($EXPECT($L206, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12550
+ var Namespace$0 = $TS($S($EXPECT($L207, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12273
12551
  return { $loc, token: $1 };
12274
12552
  });
12275
12553
  function Namespace(ctx, state) {
@@ -12484,7 +12762,7 @@ var require_parser = __commonJS({
12484
12762
  function TypeProperty(ctx, state) {
12485
12763
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
12486
12764
  }
12487
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R77, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R78, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12765
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R78, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R79, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12488
12766
  function TypeIndexSignature(ctx, state) {
12489
12767
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
12490
12768
  }
@@ -12494,27 +12772,53 @@ var require_parser = __commonJS({
12494
12772
  function TypeIndex(ctx, state) {
12495
12773
  return $EVENT_C(ctx, state, "TypeIndex", TypeIndex$$);
12496
12774
  }
12497
- var TypeSuffix$0 = $T($S($E(QuestionMark), $E(_), Colon, Type), function(value) {
12498
- return { "type": "TypeSuffix", "ts": true, "children": value };
12775
+ var TypeSuffix$0 = $T($S($E(_), $E(QuestionMark), $E(_), Colon, MaybeIndentedType), function(value) {
12776
+ var optional = value[1];
12777
+ var t = value[4];
12778
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
12499
12779
  });
12500
- var TypeSuffix$1 = $T($S(QuestionMark, $E(_)), function(value) {
12501
- return { "type": "TypeSuffix", "ts": true, "children": value };
12780
+ var TypeSuffix$1 = $T($S($E(_), QuestionMark, $E(_)), function(value) {
12781
+ var optional = value[1];
12782
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
12502
12783
  });
12503
- var TypeSuffix$2 = $T($S(NonNullAssertion, $E(_), $E($S(Colon, Type))), function(value) {
12504
- return { "type": "TypeSuffix", "ts": true, "children": value };
12784
+ var TypeSuffix$2 = $TS($S(NonNullAssertion, $E(_), $E($S(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
12785
+ var ct = $3;
12786
+ const [colon, t] = ct ?? [];
12787
+ return {
12788
+ type: "TypeSuffix",
12789
+ ts: true,
12790
+ t,
12791
+ children: [$1, $2, colon, t]
12792
+ };
12505
12793
  });
12506
12794
  var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
12507
12795
  function TypeSuffix(ctx, state) {
12508
12796
  return $EVENT_C(ctx, state, "TypeSuffix", TypeSuffix$$);
12509
12797
  }
12510
- var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3) {
12511
- var t = $3;
12512
- return { ...t, children: [$1, $2, ...t.children] };
12798
+ var MaybeIndentedType$0 = InterfaceBlock;
12799
+ var MaybeIndentedType$1 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12800
+ if (!$2)
12801
+ return $skip;
12802
+ return $2;
12803
+ });
12804
+ var MaybeIndentedType$2 = Type;
12805
+ var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
12806
+ function MaybeIndentedType(ctx, state) {
12807
+ return $EVENT_C(ctx, state, "MaybeIndentedType", MaybeIndentedType$$);
12808
+ }
12809
+ var ReturnTypeSuffix$0 = $TS($S($E(_), $E(QuestionMark), $E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12810
+ var optional = $2;
12811
+ var t = $5;
12812
+ return {
12813
+ ...t,
12814
+ optional,
12815
+ children: [$1, optional, $3, $4, ...t.children]
12816
+ };
12513
12817
  });
12514
12818
  function ReturnTypeSuffix(ctx, state) {
12515
12819
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12516
12820
  }
12517
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L207, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12821
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L208, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12518
12822
  var asserts = $1;
12519
12823
  var t = $2;
12520
12824
  if (asserts) {
@@ -12535,7 +12839,7 @@ var require_parser = __commonJS({
12535
12839
  function ReturnType(ctx, state) {
12536
12840
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12537
12841
  }
12538
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12842
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L153, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12539
12843
  var lhs = $1;
12540
12844
  var rhs = $2;
12541
12845
  if (!rhs)
@@ -12570,9 +12874,19 @@ var require_parser = __commonJS({
12570
12874
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
12571
12875
  }
12572
12876
  var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
12573
- if (!$1.length && !$3.length)
12574
- return $2;
12575
- return [...$1, $2, ...$3];
12877
+ var prefix = $1;
12878
+ var t = $2;
12879
+ var suffix = $3;
12880
+ if (!prefix.length && !suffix.length)
12881
+ return t;
12882
+ return {
12883
+ type: "UnaryType",
12884
+ prefix,
12885
+ suffix,
12886
+ t,
12887
+ // omit empty prefix for trimming space
12888
+ children: prefix.length ? $0 : [t, suffix]
12889
+ };
12576
12890
  });
12577
12891
  function TypeUnary(ctx, state) {
12578
12892
  return $EVENT(ctx, state, "TypeUnary", TypeUnary$0);
@@ -12583,10 +12897,10 @@ var require_parser = __commonJS({
12583
12897
  function TypeUnarySuffix(ctx, state) {
12584
12898
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12585
12899
  }
12586
- var TypeUnaryOp$0 = $S($EXPECT($L208, 'TypeUnaryOp "keyof"'), NonIdContinue);
12587
- var TypeUnaryOp$1 = $S($EXPECT($L186, 'TypeUnaryOp "typeof"'), NonIdContinue);
12588
- var TypeUnaryOp$2 = $S($EXPECT($L209, 'TypeUnaryOp "infer"'), NonIdContinue);
12589
- var TypeUnaryOp$3 = $S($EXPECT($L169, 'TypeUnaryOp "readonly"'), NonIdContinue);
12900
+ var TypeUnaryOp$0 = $S($EXPECT($L209, 'TypeUnaryOp "keyof"'), NonIdContinue);
12901
+ var TypeUnaryOp$1 = $S($EXPECT($L187, 'TypeUnaryOp "typeof"'), NonIdContinue);
12902
+ var TypeUnaryOp$2 = $S($EXPECT($L210, 'TypeUnaryOp "infer"'), NonIdContinue);
12903
+ var TypeUnaryOp$3 = $S($EXPECT($L170, 'TypeUnaryOp "readonly"'), NonIdContinue);
12590
12904
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
12591
12905
  function TypeUnaryOp(ctx, state) {
12592
12906
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -12595,17 +12909,26 @@ var require_parser = __commonJS({
12595
12909
  function TypeIndexedAccess(ctx, state) {
12596
12910
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
12597
12911
  }
12598
- var UnknownAlias$0 = $TV($EXPECT($L210, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12912
+ var UnknownAlias$0 = $TV($EXPECT($L211, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12599
12913
  return { $loc, token: "unknown" };
12600
12914
  });
12601
12915
  function UnknownAlias(ctx, state) {
12602
12916
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
12603
12917
  }
12604
- var TypePrimary$0 = $S($E(_), TypeTuple);
12918
+ var TypePrimary$0 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
12919
+ return { ...$2, children: [$1, ...$2.children] };
12920
+ });
12605
12921
  var TypePrimary$1 = InterfaceBlock;
12606
12922
  var TypePrimary$2 = $S($E(_), FunctionType);
12607
12923
  var TypePrimary$3 = $S($E(_), InlineInterfaceLiteral);
12608
- var TypePrimary$4 = $S($E(_), ImportType);
12924
+ var TypePrimary$4 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
12925
+ var t = $2;
12926
+ return {
12927
+ type: "ImportType",
12928
+ t,
12929
+ children: $0
12930
+ };
12931
+ });
12609
12932
  var TypePrimary$5 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
12610
12933
  var t = $2;
12611
12934
  return {
@@ -12631,22 +12954,30 @@ var require_parser = __commonJS({
12631
12954
  args
12632
12955
  };
12633
12956
  });
12634
- var TypePrimary$8 = $S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen);
12957
+ var TypePrimary$8 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12958
+ return {
12959
+ type: "ParenthesizedType",
12960
+ children: $0
12961
+ };
12962
+ });
12635
12963
  var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8];
12636
12964
  function TypePrimary(ctx, state) {
12637
12965
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
12638
12966
  }
12639
- var ImportType$0 = $S($EXPECT($L17, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12640
- var ImportType$1 = $S($EXPECT($L17, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12967
+ var ImportType$0 = $S($EXPECT($L18, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12968
+ var ImportType$1 = $S($EXPECT($L18, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12641
12969
  var ImportType$$ = [ImportType$0, ImportType$1];
12642
12970
  function ImportType(ctx, state) {
12643
12971
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
12644
12972
  }
12645
- var TypeTuple$0 = $S(OpenBracket, NestedTypeList, __, CloseBracket);
12646
- var TypeTuple$1 = $S(OpenBracket, $E(TypeList), __, CloseBracket);
12647
- var TypeTuple$$ = [TypeTuple$0, TypeTuple$1];
12973
+ var TypeTuple$0 = $TS($S(OpenBracket, $C(NestedTypeList, $E(TypeList)), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
12974
+ return {
12975
+ type: "TypeTuple",
12976
+ children: $0
12977
+ };
12978
+ });
12648
12979
  function TypeTuple(ctx, state) {
12649
- return $EVENT_C(ctx, state, "TypeTuple", TypeTuple$$);
12980
+ return $EVENT(ctx, state, "TypeTuple", TypeTuple$0);
12650
12981
  }
12651
12982
  var TypeList$0 = $S(TypeElement, $Q($S(__, Comma, TypeElement)));
12652
12983
  function TypeList(ctx, state) {
@@ -12697,13 +13028,59 @@ var require_parser = __commonJS({
12697
13028
  function NestedType(ctx, state) {
12698
13029
  return $EVENT(ctx, state, "NestedType", NestedType$0);
12699
13030
  }
12700
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12701
- if ($2)
12702
- return $0;
12703
- return $1;
13031
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R80, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13032
+ return [$1, expressionizeTypeIf($3)];
13033
+ });
13034
+ var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13035
+ if ($1.negated)
13036
+ return [$1, $2, $3, $7, $5, $6, $4];
13037
+ return $0;
13038
+ });
13039
+ var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13040
+ if (!$2)
13041
+ return $1;
13042
+ return $0;
12704
13043
  });
13044
+ var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
12705
13045
  function TypeConditional(ctx, state) {
12706
- return $EVENT(ctx, state, "TypeConditional", TypeConditional$0);
13046
+ return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
13047
+ }
13048
+ var TypeCondition$0 = $TS($S(TypeBinary, $E(IndentedFurther), $C(ExtendsToken, NotExtendsToken), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
13049
+ return {
13050
+ type: "TypeCondition",
13051
+ negated: $3.negated,
13052
+ children: $0
13053
+ };
13054
+ });
13055
+ function TypeCondition(ctx, state) {
13056
+ return $EVENT(ctx, state, "TypeCondition", TypeCondition$0);
13057
+ }
13058
+ var TypeIfThenElse$0 = $TS($S($E(_), $C(If, Unless), $S(OpenParen, TypeCondition, CloseParen), TypeBlock, $E(TypeElse)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13059
+ return [$1, $2, $3[1], $4, $5];
13060
+ });
13061
+ var TypeIfThenElse$1 = $S($E(_), $C(If, Unless), TypeCondition, TypeBlock, $E(TypeElse));
13062
+ var TypeIfThenElse$$ = [TypeIfThenElse$0, TypeIfThenElse$1];
13063
+ function TypeIfThenElse(ctx, state) {
13064
+ return $EVENT_C(ctx, state, "TypeIfThenElse", TypeIfThenElse$$);
13065
+ }
13066
+ var TypeElse$0 = $S(NotDedented, Else, TypeBlock);
13067
+ function TypeElse(ctx, state) {
13068
+ return $EVENT(ctx, state, "TypeElse", TypeElse$0);
13069
+ }
13070
+ var TypeBlock$0 = $T($S(Then, Type), function(value) {
13071
+ return value[1];
13072
+ });
13073
+ var TypeBlock$1 = $T($S($N(EOS), Type), function(value) {
13074
+ return value[1];
13075
+ });
13076
+ var TypeBlock$2 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13077
+ if (!$2)
13078
+ return $skip;
13079
+ return $2;
13080
+ });
13081
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
13082
+ function TypeBlock(ctx, state) {
13083
+ return $EVENT_C(ctx, state, "TypeBlock", TypeBlock$$);
12707
13084
  }
12708
13085
  var TypeTemplateSubstitution$0 = $S(SubstitutionStart, Type, __, CloseBrace);
12709
13086
  function TypeTemplateSubstitution(ctx, state) {
@@ -12735,10 +13112,10 @@ var require_parser = __commonJS({
12735
13112
  }
12736
13113
  var TypeLiteral$0 = TypeTemplateLiteral;
12737
13114
  var TypeLiteral$1 = Literal;
12738
- var TypeLiteral$2 = $TS($S($EXPECT($L191, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13115
+ var TypeLiteral$2 = $TS($S($EXPECT($L192, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12739
13116
  return { type: "VoidType", $loc, token: $1 };
12740
13117
  });
12741
- var TypeLiteral$3 = $TV($EXPECT($L211, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13118
+ var TypeLiteral$3 = $TV($EXPECT($L212, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12742
13119
  return { $loc, token: "[]" };
12743
13120
  });
12744
13121
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -12757,16 +13134,16 @@ var require_parser = __commonJS({
12757
13134
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
12758
13135
  return value[1];
12759
13136
  });
12760
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L114, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L27, 'InlineInterfacePropertyDelimiter "}"'))));
13137
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L13, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L115, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
12761
13138
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
12762
13139
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
12763
13140
  function InlineInterfacePropertyDelimiter(ctx, state) {
12764
13141
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
12765
13142
  }
12766
- var TypeBinaryOp$0 = $TV($EXPECT($L100, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13143
+ var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
12767
13144
  return { $loc, token: "|" };
12768
13145
  });
12769
- var TypeBinaryOp$1 = $TV($EXPECT($L99, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13146
+ var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
12770
13147
  return { $loc, token: "&" };
12771
13148
  });
12772
13149
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -12783,7 +13160,7 @@ var require_parser = __commonJS({
12783
13160
  function FunctionType(ctx, state) {
12784
13161
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
12785
13162
  }
12786
- var TypeArrowFunction$0 = $TV($C($EXPECT($L10, 'TypeArrowFunction "=>"'), $EXPECT($L11, 'TypeArrowFunction "\u21D2"'), $EXPECT($L25, 'TypeArrowFunction "->"'), $EXPECT($L26, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13163
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L11, 'TypeArrowFunction "=>"'), $EXPECT($L12, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
12787
13164
  return { $loc, token: "=>" };
12788
13165
  });
12789
13166
  function TypeArrowFunction(ctx, state) {
@@ -12821,11 +13198,11 @@ var require_parser = __commonJS({
12821
13198
  function TypeParameters(ctx, state) {
12822
13199
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
12823
13200
  }
12824
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13201
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L152, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12825
13202
  function TypeParameter(ctx, state) {
12826
13203
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
12827
13204
  }
12828
- var TypeConstraint$0 = $S(__, $EXPECT($L140, 'TypeConstraint "extends"'), NonIdContinue, Type);
13205
+ var TypeConstraint$0 = $S(__, $EXPECT($L141, 'TypeConstraint "extends"'), NonIdContinue, Type);
12829
13206
  function TypeConstraint(ctx, state) {
12830
13207
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
12831
13208
  }
@@ -12834,7 +13211,7 @@ var require_parser = __commonJS({
12834
13211
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
12835
13212
  }
12836
13213
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
12837
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L35, 'TypeParameterDelimiter ">"')));
13214
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
12838
13215
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
12839
13216
  return value[1];
12840
13217
  });
@@ -12848,15 +13225,15 @@ var require_parser = __commonJS({
12848
13225
  function ThisType(ctx, state) {
12849
13226
  return $EVENT(ctx, state, "ThisType", ThisType$0);
12850
13227
  }
12851
- var Shebang$0 = $S($R$0($EXPECT($R79, "Shebang /#![^\\r\\n]*/")), EOL);
13228
+ var Shebang$0 = $S($R$0($EXPECT($R81, "Shebang /#![^\\r\\n]*/")), EOL);
12852
13229
  function Shebang(ctx, state) {
12853
13230
  return $EVENT(ctx, state, "Shebang", Shebang$0);
12854
13231
  }
12855
- var CivetPrologue$0 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13232
+ var CivetPrologue$0 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12856
13233
  var content = value[2];
12857
13234
  return content;
12858
13235
  });
12859
- var CivetPrologue$1 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13236
+ var CivetPrologue$1 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12860
13237
  var content = value[2];
12861
13238
  return content;
12862
13239
  });
@@ -12864,7 +13241,7 @@ var require_parser = __commonJS({
12864
13241
  function CivetPrologue(ctx, state) {
12865
13242
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
12866
13243
  }
12867
- var CivetPrologueContent$0 = $TS($S($EXPECT($L212, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13244
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L213, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R84, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12868
13245
  var options = $3;
12869
13246
  return {
12870
13247
  type: "CivetPrologue",
@@ -12875,7 +13252,7 @@ var require_parser = __commonJS({
12875
13252
  function CivetPrologueContent(ctx, state) {
12876
13253
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
12877
13254
  }
12878
- var CivetOption$0 = $TR($EXPECT($R83, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13255
+ var CivetOption$0 = $TR($EXPECT($R85, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12879
13256
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
12880
13257
  if (l)
12881
13258
  return l.toUpperCase();
@@ -12892,11 +13269,11 @@ var require_parser = __commonJS({
12892
13269
  function CivetOption(ctx, state) {
12893
13270
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
12894
13271
  }
12895
- var UnknownPrologue$0 = $S($R$0($EXPECT($R80, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13272
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R82, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
12896
13273
  function UnknownPrologue(ctx, state) {
12897
13274
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
12898
13275
  }
12899
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R84, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13276
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R86, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
12900
13277
  function TripleSlashDirective(ctx, state) {
12901
13278
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
12902
13279
  }
@@ -12910,13 +13287,13 @@ var require_parser = __commonJS({
12910
13287
  function PrologueString(ctx, state) {
12911
13288
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
12912
13289
  }
12913
- var EOS$0 = $T($S($EXPECT($R85, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13290
+ var EOS$0 = $T($S($EXPECT($R87, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
12914
13291
  return value[1];
12915
13292
  });
12916
13293
  function EOS(ctx, state) {
12917
13294
  return $EVENT(ctx, state, "EOS", EOS$0);
12918
13295
  }
12919
- var EOL$0 = $TR($EXPECT($R86, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13296
+ var EOL$0 = $TR($EXPECT($R88, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12920
13297
  return { $loc, token: $0 };
12921
13298
  });
12922
13299
  function EOL(ctx, state) {
@@ -13335,6 +13712,30 @@ var require_parser = __commonJS({
13335
13712
  ]
13336
13713
  });
13337
13714
  },
13715
+ concatAssign(ref) {
13716
+ const typeSuffix = {
13717
+ ts: true,
13718
+ children: [
13719
+ ": <B, A extends {push: (this: A, b: B) => void} | (B extends unknown[] ? {push: (this: A, ...b: B) => void} : never)>(lhs: A, rhs: B) => A"
13720
+ ]
13721
+ };
13722
+ module.prelude.push({
13723
+ children: [
13724
+ preludeVar,
13725
+ ref,
13726
+ typeSuffix,
13727
+ " = (lhs, rhs) => ((rhs",
13728
+ asAny,
13729
+ ")?.[Symbol.isConcatSpreadable] ? (lhs",
13730
+ asAny,
13731
+ ").push.apply(lhs, rhs",
13732
+ asAny,
13733
+ ") : (lhs",
13734
+ asAny,
13735
+ ").push(rhs), lhs);\n"
13736
+ ]
13737
+ });
13738
+ },
13338
13739
  JSX(jsxRef) {
13339
13740
  module.prelude.push({
13340
13741
  ts: true,
@@ -13436,7 +13837,7 @@ var require_parser = __commonJS({
13436
13837
  function Init(ctx, state) {
13437
13838
  return $EVENT(ctx, state, "Init", Init$0);
13438
13839
  }
13439
- var Indent$0 = $TR($EXPECT($R81, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13840
+ var Indent$0 = $TR($EXPECT($R83, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13440
13841
  const level = getIndentLevel($0, module.config.tab);
13441
13842
  return {
13442
13843
  $loc,
@@ -13590,6 +13991,7 @@ var require_parser = __commonJS({
13590
13991
  exports.UnaryBody = UnaryBody;
13591
13992
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
13592
13993
  exports.UnaryPostfix = UnaryPostfix;
13994
+ exports.TypePostfix = TypePostfix;
13593
13995
  exports.UpdateExpression = UpdateExpression;
13594
13996
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
13595
13997
  exports.AssignmentExpression = AssignmentExpression;
@@ -13619,6 +14021,8 @@ var require_parser = __commonJS({
13619
14021
  exports.ExtendsClause = ExtendsClause;
13620
14022
  exports.ExtendsToken = ExtendsToken;
13621
14023
  exports.ExtendsShorthand = ExtendsShorthand;
14024
+ exports.NotExtendsToken = NotExtendsToken;
14025
+ exports.OmittedNegation = OmittedNegation;
13622
14026
  exports.ExtendsTarget = ExtendsTarget;
13623
14027
  exports.ImplementsClause = ImplementsClause;
13624
14028
  exports.ImplementsToken = ImplementsToken;
@@ -14017,6 +14421,7 @@ var require_parser = __commonJS({
14017
14421
  exports.Each = Each;
14018
14422
  exports.Else = Else;
14019
14423
  exports.Equals = Equals;
14424
+ exports.ExclamationPoint = ExclamationPoint;
14020
14425
  exports.Export = Export;
14021
14426
  exports.Extends = Extends;
14022
14427
  exports.Finally = Finally;
@@ -14159,6 +14564,7 @@ var require_parser = __commonJS({
14159
14564
  exports.TypeIndexSignature = TypeIndexSignature;
14160
14565
  exports.TypeIndex = TypeIndex;
14161
14566
  exports.TypeSuffix = TypeSuffix;
14567
+ exports.MaybeIndentedType = MaybeIndentedType;
14162
14568
  exports.ReturnTypeSuffix = ReturnTypeSuffix;
14163
14569
  exports.ReturnType = ReturnType;
14164
14570
  exports.TypePredicate = TypePredicate;
@@ -14177,6 +14583,10 @@ var require_parser = __commonJS({
14177
14583
  exports.NestedTypeList = NestedTypeList;
14178
14584
  exports.NestedType = NestedType;
14179
14585
  exports.TypeConditional = TypeConditional;
14586
+ exports.TypeCondition = TypeCondition;
14587
+ exports.TypeIfThenElse = TypeIfThenElse;
14588
+ exports.TypeElse = TypeElse;
14589
+ exports.TypeBlock = TypeBlock;
14180
14590
  exports.TypeTemplateSubstitution = TypeTemplateSubstitution;
14181
14591
  exports.TypeTemplateLiteral = TypeTemplateLiteral;
14182
14592
  exports.CoffeeStringTypeSubstitution = CoffeeStringTypeSubstitution;
@@ -14263,6 +14673,7 @@ var require_parser = __commonJS({
14263
14673
  dedentBlockString,
14264
14674
  dedentBlockSubstitutions,
14265
14675
  expressionizeIfClause,
14676
+ expressionizeTypeIf,
14266
14677
  forRange,
14267
14678
  gatherBindingCode,
14268
14679
  getIndentLevel,