meriyah 7.3.3 → 7.4.0

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/meriyah.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var version$1 = "7.3.3";
1
+ var version$1 = "7.4.0";
2
2
  var packageJson = {
3
3
  version: version$1};
4
4
 
@@ -6,7 +6,7 @@ const unicodeLookup = ((compressed, lookup) => {
6
6
  const result = new Uint32Array(69632);
7
7
  let index = 0;
8
8
  let subIndex = 0;
9
- while (index < 2597) {
9
+ while (index < 2661) {
10
10
  const inst = compressed[index++];
11
11
  if (inst < 0) {
12
12
  subIndex -= inst;
@@ -24,7 +24,7 @@ const unicodeLookup = ((compressed, lookup) => {
24
24
  }
25
25
  }
26
26
  return result;
27
- })([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 63, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 64, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 58, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 69, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 70, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 137, -1, 3, 0, 2, 2, 23, 2, 0, 2, 9, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2151677951, 2, 29, 2, 10, 0, 909311, 3, 0, 2, 0, 814743551, 2, 48, 0, 67090432, 3, 0, 2, 2, 42, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 108, 2, 51, 2, 0, 2, 79, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 9, 2, 18, 3, 0, 2, 2, 53, 0, 1046528, 3, 0, 3, 2, 10, 2, 0, 2, 127, 0, 4294960127, 2, 9, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 54, 0, 1048577, 2, 84, 2, 14, -1, 2, 14, 0, 131042, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 88, 2, 2, 0, -16, 2, 89, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 2, 18, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 2, 0, 0, 4351, 2, 0, 2, 10, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 10, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, 2, 25, 0, 1638399, 0, 57344, 2, 107, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 0, 536870912, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 65, 2, 6, 2, 12, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 23, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 38, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, 2, 0, 0, 4294950463, 2, 37, -7, 2, 0, 0, 203775, 2, 125, 0, 4227858432, 2, 20, 2, 43, 2, 36, 2, 17, 2, 37, 2, 17, 2, 124, 2, 21, 3, 0, 2, 2, 38, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 145, 2, 0, 2, 56, 2, 55, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 39, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 41, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 42, 2, 23, 2, 50, 2, 11, 2, 59, 2, 38, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 133, 0, 4190109695, 2, 52, -2, 2, 134, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 66, 2, 17, 2, 0, 2, 42, -3, 2, 31, -2, 2, 0, 2, 45, 2, 57, 2, 44, 2, 45, 2, 135, 2, 46, 0, 8388351, -2, 2, 136, 0, 3028287487, 2, 47, 2, 138, 0, 33259519, 2, 23, 2, 7, 2, 48, -7, 2, 21, 0, 4294836223, 0, 3355443199, 0, 134152199, -2, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 0, 2, 32, -54, 3, 0, 17, 2, 42, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 51, 2, 0, 2, 21, 2, 52, 2, 139, 2, 25, -13, 2, 0, 2, 53, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 0, 1677656575, -130, 2, 26, -16, 2, 0, 2, 24, 2, 38, -16, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 90, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 2, 8, 2, 155, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 58, 2, 98, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 17, 2, 49, 2, 0, 2, 32, -14, 2, 17, 2, 32, -6, 2, 17, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 156, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 59, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -22116, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 63, 2, 0, 2, 34, -1, 2, 17, 2, 64, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 65, 3, 0, 2, 0, 131135, 2, 96, 0, 70256639, 0, 71303167, 0, 272, 2, 42, 2, 6, 0, 65279, 2, 0, 2, 48, -1, 2, 97, 2, 66, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 68, 2, 67, 0, 33554435, 2, 131, 2, 68, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 67, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 69, 2, 38, -1, 2, 4, 0, 917503, 2, 38, -1, 2, 70, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 71, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 10, 0, 276824064, -2, 3, 0, 2, 2, 42, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 17, 2, 51, 2, 0, 2, 79, 2, 48, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 10, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 37, 2, 0, 2, 50, 0, 4227915776, 2, 9, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 14, -3, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 88, 2, -17, 2, 89, 0, 524157950, 2, 4, 2, 0, 2, 90, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 25, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 0, 4294965179, 0, 7, 2, 0, 2, 10, 2, 93, 2, 10, -1, 0, 1761345536, 2, 96, 0, 4294901823, 2, 38, 2, 20, 2, 97, 2, 35, 2, 98, 0, 2080440287, 2, 0, 2, 34, 2, 154, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, -3, 2, 107, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 108, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 65, 2, 6, 2, 30, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 17, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 124, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 50, 2, 96, 0, 4294934591, 2, 37, -7, 2, 0, 0, 197631, 2, 125, -1, 2, 20, 2, 43, 2, 37, 2, 17, 0, 3, 2, 17, 2, 124, 2, 21, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 25, 2, 17, 2, 34, 2, 126, 2, 38, 0, 4294901904, 0, 4718591, 2, 126, 2, 35, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 68, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 49, 0, 251658240, -1, 2, 0, 2, 25, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 38, -5, 2, 0, 2, 18, -3, 3, 0, 2, 2, 54, 2, 133, 0, 2147549183, 0, 2, -2, 2, 134, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 17, 2, 0, 2, 42, -6, 2, 0, 0, 1, 2, 57, 2, 49, 0, 1, 2, 135, 2, 25, -3, 2, 136, 2, 36, 2, 137, 2, 138, 0, 16778239, 2, 17, 2, 7, -8, 2, 35, 0, 4294836212, 2, 10, -3, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 9, -55, 3, 0, 17, 2, 42, 2, 8, 2, 17, 2, 0, 2, 8, 2, 17, 2, 58, 2, 0, 2, 25, 2, 50, 2, 139, 2, 25, -13, 2, 0, 2, 71, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 67583, -1, 2, 105, -2, 0, 8126475, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 2, 145, -187, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 2, 154, -57, 2, 8, 2, 155, -7, 2, 17, 2, 0, 2, 58, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 17, 2, 58, 2, 0, 2, 18, -14, 2, 17, 2, 18, -6, 2, 17, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 156, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -28252], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1073741823, 1048575, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 4294901760, 4095, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 1023, 32767, 15, 2047999, 67043343, 67051519, 2147483648, 4294902000, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836224, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 252, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 3774873592, 4194303999, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
27
+ })([-1, 2, 23, 2, 24, 2, 5, -1, 0, 77595648, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 4294842879, 0, 3221225471, 0, 4294902710, 2, 63, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 16, 2, 0, 0, 4294961151, 3, 0, 2, 2, 17, 2, 0, 0, 608174079, 2, 0, 2, 56, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 38, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2969057695, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 68, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 69, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 139, -1, 3, 0, 2, 2, 28, 2, 0, 2, 10, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 11, 0, 261632, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2151677951, 2, 26, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 64, 0, 67090432, 3, 0, 2, 2, 40, 2, 0, 2, 6, 2, 0, 2, 29, 2, 8, 0, 268374015, 2, 109, 2, 48, 2, 0, 2, 78, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 0, 2, 27, 3, 0, 2, 2, 50, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 127, 0, 4294960127, 2, 10, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 51, 0, 1048577, 2, 84, 2, 85, -1, 0, 536805376, 0, 131042, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 19, 3, 89, 2, 2, 0, -16, 2, 90, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 2, 133, 2, 0, 0, 3220242431, 3, 0, 3, 2, 17, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 21, 2, 9, 2, 18, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 19, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, 2, 22, 0, 1638399, 0, 57344, 2, 108, 3, 0, 3, 2, 18, 2, 23, 2, 24, 2, 5, 2, 25, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -3, 0, 536870912, -4, 2, 18, 2, 0, 2, 27, 0, 1, 2, 0, 2, 55, 2, 6, 2, 12, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 28, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 45, 2, 0, 0, 4294950463, 2, 35, -7, 2, 0, 0, 203775, 0, 4261476604, 2, 53, 2, 18, 2, 41, 2, 27, 2, 16, 2, 35, 2, 16, 2, 124, 2, 19, 3, 0, 2, 2, 36, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 149, 2, 0, 2, 52, 0, 4294902000, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 37, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 38, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 39, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 28, 2, 79, 2, 11, 2, 58, 2, 36, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 134, 0, 4190109695, 2, 49, -2, 2, 135, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 41, 2, 0, 2, 65, 2, 16, 2, 0, 2, 40, 2, 136, -2, 2, 30, -2, 2, 0, 2, 43, 2, 54, 2, 42, 2, 43, 2, 137, 2, 44, 0, 8388351, -2, 2, 138, 0, 3028287487, 2, 45, 2, 140, 0, 33259519, 2, 28, 2, 7, 2, 125, -7, 2, 19, 2, 46, 0, 3355443199, 0, 134152199, -2, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 2, 29, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 0, 2, 31, -54, 3, 0, 17, 2, 40, 2, 8, 2, 28, 2, 0, 2, 8, 2, 28, 2, 48, 2, 0, 2, 19, 2, 49, 2, 142, 2, 22, -13, 2, 0, 2, 50, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 0, 1677656575, -130, 2, 23, -16, 2, 0, 2, 21, 2, 36, -14, 0, 384, -1, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 2550595612, -1, 0, 3, -11, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 91, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, 0, 4194303871, 0, 4294903771, 2, 0, 2, 56, 2, 99, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 16, 2, 57, 2, 0, 2, 31, -14, 2, 16, 2, 31, -6, 2, 16, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 159, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 58, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -105, 2, 23, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -20518, 3, 0, 7, 2, 22, -6130, 3, 5, 2, -1, 0, 69207040, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 6655, -1, 2, 16, 2, 63, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 22, 2, 55, 3, 0, 2, 0, 131135, 2, 97, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 6, 0, 65279, 2, 0, 2, 64, -1, 2, 98, 2, 65, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 67, 2, 66, 0, 33554435, 2, 131, 2, 67, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 66, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 68, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 69, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 70, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 12, -1, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2147745791, 3, 17, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 8, -1, 2, 16, 2, 48, 2, 0, 2, 78, 2, 64, -1, 2, 19, 2, 0, 2, 26, -2, 0, 128, -2, 2, 25, 2, 9, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 35, 2, 0, 2, 79, 0, 4227915776, 2, 10, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 85, -3, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 19, 3, 89, 2, -17, 2, 90, 0, 524157950, 2, 4, 2, 0, 2, 91, 2, 4, 2, 0, 2, 20, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 22, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 94, 2, 9, -1, 0, 1761345536, 2, 97, 0, 4294901823, 2, 36, 2, 18, 2, 98, 2, 34, 2, 99, 0, 2080440287, 2, 0, 2, 33, 2, 157, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 7, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, -3, 2, 108, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 109, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -8, 2, 18, 2, 0, 2, 27, -1, 2, 0, 2, 55, 2, 6, 2, 29, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 16, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 124, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 79, 2, 97, 0, 4294934591, 2, 35, -7, 2, 0, 2, 125, 0, 4261413116, 2, 57, 2, 18, 2, 41, 2, 35, 2, 16, 0, 3, 2, 16, 2, 124, 2, 19, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 22, 2, 16, 2, 33, 2, 126, 2, 36, 0, 4294901904, 0, 4718591, 2, 126, 2, 34, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 67, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 26, 0, 2147485568, 0, 3, 2, 0, 2, 22, 0, 176, -5, 2, 0, 2, 57, 0, 251658240, -1, 2, 0, 2, 22, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 36, -5, 2, 0, 2, 133, -3, 3, 0, 2, 2, 51, 2, 134, 0, 2147549183, 0, 2, -2, 2, 135, 2, 27, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 16, 2, 0, 2, 40, 2, 136, -5, 2, 0, 0, 1, 2, 54, 2, 57, 0, 1, 2, 137, 2, 22, -3, 2, 138, 2, 27, 2, 139, 2, 140, 0, 16778239, 2, 16, 2, 7, 0, 131072, -7, 2, 34, 0, 4294836212, 2, 9, -3, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 10, -55, 3, 0, 17, 2, 40, 2, 8, 2, 16, 2, 0, 2, 8, 2, 16, 2, 56, 2, 0, 2, 22, 2, 79, 2, 142, 2, 22, -13, 2, 0, 2, 70, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 67583, -1, 2, 106, -2, 0, 8126475, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 2, 149, -187, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 2, 157, -57, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, -1, 2, 16, 2, 0, 2, 56, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 16, 2, 56, 2, 0, 2, 133, -14, 2, 16, 2, 133, -6, 2, 16, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 159, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -26654], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 4294910143, 4294901759, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 131071, 4294902783, 4194303, 255, 67108863, 4294967039, 511, 524287, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 4294836223, 4294901775, 2047999, 67043343, 67051519, 2147483648, 4292870143, 4294934527, 4294966783, 4294959104, 16383, 32767, 67047423, 4294967279, 262083, 20511, 58720255, 493567, 1023, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 15, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 4294934528, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836228, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294915071, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 4294966591, 2445279231, 3670015, 31, 197631, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4095, 4285526655, 4294966527, 1024, 4294705152, 4294966143, 64, 4294966719, 4292935679, 3774873592, 4194303999, 1877934080, 262655, 2555904, 4294902256, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967167, 4160749565, 4087, 8323075, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
28
28
  const isIDContinue = (code) => (unicodeLookup[(code >>> 5) + 0] >>> code & 31 & 1) !== 0;
29
29
  const isIDStart = (code) => (unicodeLookup[(code >>> 5) + 34816] >>> code & 31 & 1) !== 0;
30
30
 
@@ -748,7 +748,7 @@ const errorMessages = {
748
748
  [135]: 'Unexpected character after object literal property name',
749
749
  [137]: 'Invalid key token',
750
750
  [138]: "Label '%0' has already been declared",
751
- [139]: 'continue statement must be nested within an iteration statement',
751
+ [139]: "Label '%0' does not denote an iteration statement",
752
752
  [140]: "Undefined label '%0'",
753
753
  [141]: 'Trailing comma is disallowed inside import(...) arguments',
754
754
  [142]: 'Invalid binding in JSON import',
@@ -1598,7 +1598,7 @@ function scanTemplate(parser, context) {
1598
1598
  char = advanceChar(parser);
1599
1599
  if (char === 13)
1600
1600
  hasCarriageReturn = true;
1601
- if (char > 0x7e) {
1601
+ if (char > 0x7e && char !== 8232 && char !== 8233) {
1602
1602
  ret += String.fromCodePoint(char);
1603
1603
  }
1604
1604
  else {
@@ -2165,9 +2165,10 @@ function consume(parser, context, t) {
2165
2165
  nextToken(parser, context);
2166
2166
  }
2167
2167
  function reinterpretToPattern(parser, node) {
2168
+ const rewritten = node;
2168
2169
  switch (node.type) {
2169
2170
  case 'ArrayExpression': {
2170
- node.type = 'ArrayPattern';
2171
+ rewritten.type = 'ArrayPattern';
2171
2172
  const { elements } = node;
2172
2173
  for (let i = 0, n = elements.length; i < n; ++i) {
2173
2174
  const element = elements[i];
@@ -2177,7 +2178,7 @@ function reinterpretToPattern(parser, node) {
2177
2178
  return;
2178
2179
  }
2179
2180
  case 'ObjectExpression': {
2180
- node.type = 'ObjectPattern';
2181
+ rewritten.type = 'ObjectPattern';
2181
2182
  const { properties } = node;
2182
2183
  for (let i = 0, n = properties.length; i < n; ++i) {
2183
2184
  reinterpretToPattern(parser, properties[i]);
@@ -2185,17 +2186,17 @@ function reinterpretToPattern(parser, node) {
2185
2186
  return;
2186
2187
  }
2187
2188
  case 'AssignmentExpression':
2188
- node.type = 'AssignmentPattern';
2189
+ rewritten.type = 'AssignmentPattern';
2189
2190
  if (node.operator !== '=')
2190
2191
  parser.report(71);
2191
- delete node.operator;
2192
+ delete rewritten.operator;
2192
2193
  reinterpretToPattern(parser, node.left);
2193
2194
  return;
2194
2195
  case 'Property':
2195
2196
  reinterpretToPattern(parser, node.value);
2196
2197
  return;
2197
2198
  case 'SpreadElement':
2198
- node.type = 'RestElement';
2199
+ rewritten.type = 'RestElement';
2199
2200
  reinterpretToPattern(parser, node.argument);
2200
2201
  }
2201
2202
  }
@@ -2247,7 +2248,7 @@ function validateFunctionName(parser, context, t) {
2247
2248
  }
2248
2249
  }
2249
2250
  function isStrictReservedWord(parser, context, t) {
2250
- if (t === 209006) {
2251
+ if ((t & 255) === (209006 & 255)) {
2251
2252
  if (context & (2048 | 2))
2252
2253
  parser.report(112);
2253
2254
  if ((parser.destructible & 128) === 0) {
@@ -2262,36 +2263,36 @@ function isStrictReservedWord(parser, context, t) {
2262
2263
  t == -2147483526);
2263
2264
  }
2264
2265
  function isPropertyWithPrivateFieldKey(expr) {
2265
- return !expr.property ? false : expr.property.type === 'PrivateIdentifier';
2266
+ return expr.type === 'MemberExpression' && expr.property.type === 'PrivateIdentifier';
2266
2267
  }
2267
2268
  function isValidLabel(parser, labels, name, isIterationStatement) {
2269
+ let isIterationLabelSet = 0;
2268
2270
  while (labels) {
2269
- if (labels['$' + name]) {
2270
- if (isIterationStatement)
2271
- parser.report(139);
2271
+ if (labels.names?.has(name)) {
2272
+ if (isIterationStatement && !isIterationLabelSet)
2273
+ parser.report(139, name);
2272
2274
  return 1;
2273
2275
  }
2274
- if (isIterationStatement && labels.loop)
2275
- isIterationStatement = 0;
2276
- labels = labels['$'];
2276
+ isIterationLabelSet = labels.loop ? 1 : 0;
2277
+ labels = labels.parent;
2277
2278
  }
2278
2279
  return 0;
2279
2280
  }
2280
2281
  function validateAndDeclareLabel(parser, labels, name) {
2281
2282
  let set = labels;
2282
2283
  while (set) {
2283
- if (set['$' + name])
2284
+ if (set.names?.has(name))
2284
2285
  parser.report(138, name);
2285
- set = set['$'];
2286
+ set = set.parent;
2286
2287
  }
2287
- labels['$' + name] = 1;
2288
+ (labels.names ??= new Set()).add(name);
2288
2289
  }
2289
2290
  function isEqualTagName(elementName) {
2290
2291
  switch (elementName.type) {
2291
2292
  case 'JSXIdentifier':
2292
2293
  return elementName.name;
2293
2294
  case 'JSXNamespacedName':
2294
- return elementName.namespace + ':' + elementName.name;
2295
+ return isEqualTagName(elementName.namespace) + ':' + elementName.name.name;
2295
2296
  case 'JSXMemberExpression':
2296
2297
  return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);
2297
2298
  }
@@ -2906,6 +2907,7 @@ class Parser {
2906
2907
  destructible = 0;
2907
2908
  strictReservedRange = null;
2908
2909
  firstAwaitLocation = null;
2910
+ firstYieldLocation = null;
2909
2911
  leadingDecorators = { decorators: [] };
2910
2912
  constructor(source, rawOptions = {}) {
2911
2913
  this.source = source;
@@ -3287,7 +3289,7 @@ function parseBlock(parser, context, scope, privateScope, labels, start = parser
3287
3289
  const body = [];
3288
3290
  consume(parser, context | 32, 2162700);
3289
3291
  while (parser.getToken() !== 1074790415) {
3290
- body.push(parseStatementListItem(parser, context, scope, privateScope, { $: labels }));
3292
+ body.push(parseStatementListItem(parser, context, scope, privateScope, { parent: labels }));
3291
3293
  }
3292
3294
  consume(parser, context | 32, 1074790415);
3293
3295
  return parser.finishNode({
@@ -3440,7 +3442,7 @@ function parseConsequentOrAlternative(parser, context, scope, privateScope, labe
3440
3442
  return context & 1 ||
3441
3443
  !parser.options.webcompat ||
3442
3444
  parser.getToken() !== 86104
3443
- ? parseStatement(parser, context, scope, privateScope, { $: labels }, 0)
3445
+ ? parseStatement(parser, context, scope, privateScope, { parent: labels }, 0)
3444
3446
  : parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, tokenStart);
3445
3447
  }
3446
3448
  function parseSwitchStatement(parser, context, scope, privateScope, labels) {
@@ -3471,7 +3473,7 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
3471
3473
  parser.getToken() !== 1074790415 &&
3472
3474
  parser.getToken() !== 20561) {
3473
3475
  const statement = parseStatementListItem(parser, context | 4, scope, privateScope, {
3474
- $: labels,
3476
+ parent: labels,
3475
3477
  });
3476
3478
  if (statement.type === 'VariableDeclaration' &&
3477
3479
  (statement.kind === 'using' || statement.kind === 'await using')) {
@@ -3506,7 +3508,7 @@ function parseWhileStatement(parser, context, scope, privateScope, labels) {
3506
3508
  }, start);
3507
3509
  }
3508
3510
  function parseIterationStatementBody(parser, context, scope, privateScope, labels) {
3509
- return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, $: labels }, 0);
3511
+ return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, parent: labels }, 0);
3510
3512
  }
3511
3513
  function parseContinueStatement(parser, context, labels) {
3512
3514
  if ((context & 128) === 0)
@@ -3516,9 +3518,9 @@ function parseContinueStatement(parser, context, labels) {
3516
3518
  let label = null;
3517
3519
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3518
3520
  const { tokenValue } = parser;
3519
- label = parseIdentifier(parser, context | 32);
3520
3521
  if (!isValidLabel(parser, labels, tokenValue, 1))
3521
3522
  parser.report(140, tokenValue);
3523
+ label = parseIdentifier(parser, context | 32);
3522
3524
  }
3523
3525
  matchOrInsertSemicolon(parser, context | 32);
3524
3526
  return parser.finishNode({
@@ -3532,9 +3534,9 @@ function parseBreakStatement(parser, context, labels) {
3532
3534
  let label = null;
3533
3535
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3534
3536
  const { tokenValue } = parser;
3535
- label = parseIdentifier(parser, context | 32);
3536
3537
  if (!isValidLabel(parser, labels, tokenValue, 0))
3537
3538
  parser.report(140, tokenValue);
3539
+ label = parseIdentifier(parser, context | 32);
3538
3540
  }
3539
3541
  else if ((context & (4 | 128)) === 0) {
3540
3542
  parser.report(69);
@@ -3572,7 +3574,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
3572
3574
  const start = parser.tokenStart;
3573
3575
  nextToken(parser, context | 32);
3574
3576
  const firstScope = scope?.createChildScope(16);
3575
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
3577
+ const block = parseBlock(parser, context, firstScope, privateScope, { parent: labels });
3576
3578
  const { tokenStart } = parser;
3577
3579
  const handler = consumeOpt(parser, context | 32, 20557)
3578
3580
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -3581,7 +3583,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
3581
3583
  if (parser.getToken() === 20566) {
3582
3584
  nextToken(parser, context | 32);
3583
3585
  const finalizerScope = scope?.createChildScope(4);
3584
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
3586
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { parent: labels });
3585
3587
  finalizer = block;
3586
3588
  }
3587
3589
  if (!handler && !finalizer) {
@@ -3610,7 +3612,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
3610
3612
  consume(parser, context | 32, 16);
3611
3613
  }
3612
3614
  const additionalScope = scope?.createChildScope(32);
3613
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
3615
+ const body = parseBlock(parser, context, additionalScope, privateScope, { parent: labels });
3614
3616
  return parser.finishNode({
3615
3617
  type: 'CatchClause',
3616
3618
  param,
@@ -4682,12 +4684,16 @@ function parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, can
4682
4684
  return expr;
4683
4685
  }
4684
4686
  function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {
4685
- if (inGroup)
4687
+ if (inGroup) {
4688
+ if ((parser.destructible & 256) === 0) {
4689
+ parser.firstYieldLocation ??= { start, end: parser.currentLocation };
4690
+ }
4686
4691
  parser.destructible |= 256;
4692
+ }
4687
4693
  if (context & 1024) {
4688
4694
  nextToken(parser, context | 32);
4689
4695
  if (context & 8192)
4690
- parser.report(32);
4696
+ throw new ParseError(start, parser.startPosition, 32);
4691
4697
  if (!canAssign)
4692
4698
  parser.report(26);
4693
4699
  if (parser.getToken() === 22)
@@ -4723,8 +4729,11 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
4723
4729
  }
4724
4730
  if (context & 524288)
4725
4731
  parser.report(179);
4726
- const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);
4727
- const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4732
+ const isEscaped = (parser.getToken() & -2147483648) !== 0;
4733
+ const allowRegExp = !isEscaped && context & (2048 | 2) ? 1 : 0;
4734
+ const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope, allowRegExp);
4735
+ const isIdentifier = isEscaped ||
4736
+ possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4728
4737
  (parser.getToken() & 65536) === 0;
4729
4738
  if (isIdentifier) {
4730
4739
  if (context & 2048)
@@ -4735,7 +4744,8 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
4735
4744
  throw new ParseError(start, parser.startPosition, 112);
4736
4745
  return possibleIdentifierOrArrowFunc;
4737
4746
  }
4738
- if (context & 8192) {
4747
+ if (context & 8192 &&
4748
+ (context & (2048 | 2) || parser.getToken() & 143360)) {
4739
4749
  throw new ParseError(start, parser.startPosition, 31);
4740
4750
  }
4741
4751
  if (context & 2048 || (context & 2 && context & 8)) {
@@ -5056,6 +5066,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
5056
5066
  if ((parser.getToken() & 143360) === 143360) {
5057
5067
  switch (parser.getToken()) {
5058
5068
  case 209006:
5069
+ case 209006 | -2147483648:
5059
5070
  return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);
5060
5071
  case 241771:
5061
5072
  return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);
@@ -5402,10 +5413,9 @@ function parseArguments(parser, context, privateScope, inGroup) {
5402
5413
  consume(parser, context | 64, 16);
5403
5414
  return args;
5404
5415
  }
5405
- function parseIdentifier(parser, context) {
5416
+ function parseIdentifier(parser, context, allowRegExp = 0) {
5406
5417
  const { tokenValue, tokenStart } = parser;
5407
- const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;
5408
- nextToken(parser, context | (allowRegex ? 32 : 0));
5418
+ nextToken(parser, context | (allowRegExp ? 32 : 0));
5409
5419
  return parser.finishNode({
5410
5420
  type: 'Identifier',
5411
5421
  name: tokenValue,
@@ -5765,10 +5775,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
5765
5775
  parser.report(41);
5766
5776
  }
5767
5777
  else if (token & 2097152) {
5768
- argument =
5769
- parser.getToken() === 2162700
5770
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
5771
- : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin);
5778
+ argument = (parser.getToken() === 2162700
5779
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
5780
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin));
5772
5781
  token = parser.getToken();
5773
5782
  if (token !== 1077936155 && token !== closingToken && token !== 18) {
5774
5783
  if (parser.destructible & 8)
@@ -5949,7 +5958,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
5949
5958
  }
5950
5959
  else {
5951
5960
  destructible |=
5952
- (token === 209006 ? 128 : 0) |
5961
+ ((token & 255) === (209006 & 255) ? 128 : 0) |
5953
5962
  (token === -2147483527 ? 16 : 0);
5954
5963
  value = parser.cloneIdentifier(key);
5955
5964
  }
@@ -6438,6 +6447,7 @@ function parseMethodFormals(parser, context, scope, privateScope, kind, type, in
6438
6447
  parser.flags = (parser.flags | 128) ^ 128;
6439
6448
  parser.strictReservedRange = null;
6440
6449
  parser.firstAwaitLocation = null;
6450
+ parser.firstYieldLocation = null;
6441
6451
  if (parser.getToken() === 16) {
6442
6452
  if (kind & 512) {
6443
6453
  parser.report(37, 'Setter', 'one', '');
@@ -6530,6 +6540,8 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6530
6540
  parser.destructible &= -385;
6531
6541
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6532
6542
  parser.firstAwaitLocation = null;
6543
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6544
+ parser.firstYieldLocation = null;
6533
6545
  let expr;
6534
6546
  let expressions = [];
6535
6547
  let isSequence = 0;
@@ -6616,7 +6628,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6616
6628
  parser.assignable = 2;
6617
6629
  expr = parser.finishNode({
6618
6630
  type: 'SequenceExpression',
6619
- expressions,
6631
+ expressions: expressions,
6620
6632
  }, tokenAfterParenthesesStart);
6621
6633
  }
6622
6634
  consume(parser, context, 16);
@@ -6624,6 +6636,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6624
6636
  if (previousFirstAwaitLocation) {
6625
6637
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6626
6638
  }
6639
+ if (previousFirstYieldLocation) {
6640
+ parser.firstYieldLocation = previousFirstYieldLocation;
6641
+ }
6627
6642
  return parser.options.preserveParens
6628
6643
  ? parser.finishNode({
6629
6644
  type: 'ParenthesizedExpression',
@@ -6649,7 +6664,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6649
6664
  parser.assignable = 2;
6650
6665
  expr = parser.finishNode({
6651
6666
  type: 'SequenceExpression',
6652
- expressions,
6667
+ expressions: expressions,
6653
6668
  }, tokenAfterParenthesesStart);
6654
6669
  }
6655
6670
  consume(parser, context, 16);
@@ -6668,6 +6683,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6668
6683
  parser.report(31);
6669
6684
  }
6670
6685
  if (context & (1 | 1024) && destructible & 256) {
6686
+ const loc = parser.firstYieldLocation;
6687
+ if (loc)
6688
+ throw new ParseError(loc.start, loc.end, 32);
6671
6689
  parser.report(32);
6672
6690
  }
6673
6691
  if (isNonSimpleParameterList)
@@ -6678,6 +6696,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6678
6696
  if (previousFirstAwaitLocation) {
6679
6697
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6680
6698
  }
6699
+ if (previousFirstYieldLocation) {
6700
+ parser.firstYieldLocation = previousFirstYieldLocation;
6701
+ }
6681
6702
  return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start, origin);
6682
6703
  }
6683
6704
  if (destructible & 64) {
@@ -6691,6 +6712,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6691
6712
  if (previousFirstAwaitLocation) {
6692
6713
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6693
6714
  }
6715
+ if (previousFirstYieldLocation) {
6716
+ parser.firstYieldLocation = previousFirstYieldLocation;
6717
+ }
6694
6718
  return parser.options.preserveParens
6695
6719
  ? parser.finishNode({
6696
6720
  type: 'ParenthesizedExpression',
@@ -6698,7 +6722,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6698
6722
  }, parenthesesStart)
6699
6723
  : expr;
6700
6724
  }
6701
- function parseIdentifierOrArrow(parser, context, privateScope) {
6725
+ function parseIdentifierOrArrow(parser, context, privateScope, allowRegExp = 0) {
6702
6726
  const { tokenValue, tokenStart, currentLocation } = parser;
6703
6727
  let isNonSimpleParameterList = 0;
6704
6728
  let hasStrictReserved = 0;
@@ -6708,7 +6732,7 @@ function parseIdentifierOrArrow(parser, context, privateScope) {
6708
6732
  else if ((parser.getToken() & 36864) === 36864) {
6709
6733
  hasStrictReserved = 1;
6710
6734
  }
6711
- const expr = parseIdentifier(parser, context);
6735
+ const expr = parseIdentifier(parser, context, allowRegExp);
6712
6736
  parser.assignable = 1;
6713
6737
  if (parser.getToken() === 10) {
6714
6738
  const scope = parser.options.lexical
@@ -6800,6 +6824,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, privateScope,
6800
6824
  parser.flags = (parser.flags | 128) ^ 128;
6801
6825
  parser.strictReservedRange = null;
6802
6826
  parser.firstAwaitLocation = null;
6827
+ parser.firstYieldLocation = null;
6803
6828
  const params = [];
6804
6829
  if (consumeOpt(parser, context, 16))
6805
6830
  return params;
@@ -6942,7 +6967,7 @@ function parseMetaProperty(parser, context, meta, start) {
6942
6967
  }, start);
6943
6968
  }
6944
6969
  function parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {
6945
- if (parser.getToken() === 209006)
6970
+ if ((parser.getToken() & 255) === (209006 & 255))
6946
6971
  parser.report(31);
6947
6972
  if (context & (1 | 1024) && parser.getToken() === 241771) {
6948
6973
  parser.report(32);
@@ -6958,6 +6983,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
6958
6983
  const scope = parser.createScopeIfLexical()?.createChildScope(512);
6959
6984
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6960
6985
  parser.firstAwaitLocation = null;
6986
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6987
+ parser.firstYieldLocation = null;
6961
6988
  context = (context | 131072) ^ 131072;
6962
6989
  if (consumeOpt(parser, context, 16)) {
6963
6990
  if (parser.getToken() === 10) {
@@ -6973,6 +7000,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
6973
7000
  }
6974
7001
  if (previousFirstAwaitLocation)
6975
7002
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7003
+ if (previousFirstYieldLocation)
7004
+ parser.firstYieldLocation = previousFirstYieldLocation;
6976
7005
  return parser.finishNode({
6977
7006
  type: 'CallExpression',
6978
7007
  callee,
@@ -7019,10 +7048,9 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7019
7048
  }
7020
7049
  }
7021
7050
  else if (token & 2097152) {
7022
- expr =
7023
- token === 2162700
7024
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
7025
- : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind);
7051
+ expr = (token === 2162700
7052
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
7053
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind));
7026
7054
  destructible |= parser.destructible;
7027
7055
  isNonSimpleParameterList = 1;
7028
7056
  if (parser.getToken() !== 16 && parser.getToken() !== 18) {
@@ -7062,6 +7090,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7062
7090
  }
7063
7091
  if (previousFirstAwaitLocation)
7064
7092
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7093
+ if (previousFirstYieldLocation)
7094
+ parser.firstYieldLocation = previousFirstYieldLocation;
7065
7095
  return parser.finishNode({
7066
7096
  type: 'CallExpression',
7067
7097
  callee,
@@ -7088,8 +7118,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7088
7118
  throw new ParseError(loc.start, loc.end, 31);
7089
7119
  parser.report(31);
7090
7120
  }
7091
- if (context & (1 | 1024) && destructible & 256)
7121
+ if (context & (1 | 1024) && destructible & 256) {
7122
+ const loc = parser.firstYieldLocation;
7123
+ if (loc)
7124
+ throw new ParseError(loc.start, loc.end, 32);
7092
7125
  parser.report(32);
7126
+ }
7093
7127
  if (isNonSimpleParameterList)
7094
7128
  parser.flags |= 128;
7095
7129
  return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);
@@ -7108,6 +7142,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7108
7142
  }
7109
7143
  if (previousFirstAwaitLocation)
7110
7144
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7145
+ if (previousFirstYieldLocation)
7146
+ parser.firstYieldLocation = previousFirstYieldLocation;
7111
7147
  return parser.finishNode({
7112
7148
  type: 'CallExpression',
7113
7149
  callee,
@@ -7487,6 +7523,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
7487
7523
  parser.report(121);
7488
7524
  const modifierFlags = 1024 |
7489
7525
  2048 |
7526
+ 8 |
7490
7527
  8192 |
7491
7528
  ((state & 64) === 0 ? 512 | 16384 : 0);
7492
7529
  context =