@hpcc-js/observablehq-compiler 1.4.0 → 1.5.1

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/index.esm.js CHANGED
@@ -1,14 +1,14 @@
1
1
  // This file was generated. Do not modify manually!
2
- var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
2
+ var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
3
3
 
4
4
  // This file was generated. Do not modify manually!
5
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
5
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
6
6
 
7
7
  // This file was generated. Do not modify manually!
8
- var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
8
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
9
9
 
10
10
  // This file was generated. Do not modify manually!
11
- var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
11
+ var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
12
12
 
13
13
  // These are a run-length and offset encoded representation of the
14
14
  // >0xffff code points that are a valid part of identifiers. The
@@ -487,6 +487,7 @@ var
487
487
  SCOPE_SUPER = 64,
488
488
  SCOPE_DIRECT_SUPER = 128,
489
489
  SCOPE_CLASS_STATIC_BLOCK = 256,
490
+ SCOPE_CLASS_FIELD_INIT = 512,
490
491
  SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION$1 | SCOPE_CLASS_STATIC_BLOCK;
491
492
 
492
493
  function functionFlags(async, generator) {
@@ -597,15 +598,16 @@ Parser.prototype.parse = function parse () {
597
598
 
598
599
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION$1) > 0 };
599
600
 
600
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0 && !this.currentVarScope().inClassFieldInit };
601
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0 };
601
602
 
602
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0 && !this.currentVarScope().inClassFieldInit };
603
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0 };
603
604
 
604
605
  prototypeAccessors.canAwait.get = function () {
605
606
  for (var i = this.scopeStack.length - 1; i >= 0; i--) {
606
- var scope = this.scopeStack[i];
607
- if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
608
- if (scope.flags & SCOPE_FUNCTION$1) { return (scope.flags & SCOPE_ASYNC$1) > 0 }
607
+ var ref = this.scopeStack[i];
608
+ var flags = ref.flags;
609
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
610
+ if (flags & SCOPE_FUNCTION$1) { return (flags & SCOPE_ASYNC$1) > 0 }
609
611
  }
610
612
  return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
611
613
  };
@@ -613,8 +615,7 @@ prototypeAccessors.canAwait.get = function () {
613
615
  prototypeAccessors.allowSuper.get = function () {
614
616
  var ref = this.currentThisScope();
615
617
  var flags = ref.flags;
616
- var inClassFieldInit = ref.inClassFieldInit;
617
- return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
618
+ return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
618
619
  };
619
620
 
620
621
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
@@ -622,10 +623,13 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
622
623
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
623
624
 
624
625
  prototypeAccessors.allowNewDotTarget.get = function () {
625
- var ref = this.currentThisScope();
626
- var flags = ref.flags;
627
- var inClassFieldInit = ref.inClassFieldInit;
628
- return (flags & (SCOPE_FUNCTION$1 | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
626
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
627
+ var ref = this.scopeStack[i];
628
+ var flags = ref.flags;
629
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
630
+ ((flags & SCOPE_FUNCTION$1) && !(flags & SCOPE_ARROW))) { return true }
631
+ }
632
+ return false
629
633
  };
630
634
 
631
635
  prototypeAccessors.inClassStaticBlock.get = function () {
@@ -817,10 +821,10 @@ var pp$8 = Parser.prototype;
817
821
  // to its body instead of creating a new node.
818
822
 
819
823
  pp$8.parseTopLevel = function(node) {
820
- var exports = Object.create(null);
824
+ var exports$1 = Object.create(null);
821
825
  if (!node.body) { node.body = []; }
822
826
  while (this.type !== types$1.eof) {
823
- var stmt = this.parseStatement(null, true, exports);
827
+ var stmt = this.parseStatement(null, true, exports$1);
824
828
  node.body.push(stmt);
825
829
  }
826
830
  if (this.inModule)
@@ -877,6 +881,49 @@ pp$8.isAsyncFunction = function() {
877
881
  !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
878
882
  };
879
883
 
884
+ pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
885
+ if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
886
+ { return false }
887
+
888
+ skipWhiteSpace.lastIndex = this.pos;
889
+ var skip = skipWhiteSpace.exec(this.input);
890
+ var next = this.pos + skip[0].length;
891
+
892
+ if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
893
+
894
+ if (isAwaitUsing) {
895
+ var awaitEndPos = next + 5 /* await */, after;
896
+ if (this.input.slice(next, awaitEndPos) !== "using" ||
897
+ awaitEndPos === this.input.length ||
898
+ isIdentifierChar(after = this.input.charCodeAt(awaitEndPos)) ||
899
+ (after > 0xd7ff && after < 0xdc00)
900
+ ) { return false }
901
+
902
+ skipWhiteSpace.lastIndex = awaitEndPos;
903
+ var skipAfterUsing = skipWhiteSpace.exec(this.input);
904
+ if (skipAfterUsing && lineBreak.test(this.input.slice(awaitEndPos, awaitEndPos + skipAfterUsing[0].length))) { return false }
905
+ }
906
+
907
+ if (isFor) {
908
+ var ofEndPos = next + 2 /* of */, after$1;
909
+ if (this.input.slice(next, ofEndPos) === "of") {
910
+ if (ofEndPos === this.input.length ||
911
+ (!isIdentifierChar(after$1 = this.input.charCodeAt(ofEndPos)) && !(after$1 > 0xd7ff && after$1 < 0xdc00))) { return false }
912
+ }
913
+ }
914
+
915
+ var ch = this.input.charCodeAt(next);
916
+ return isIdentifierStart(ch, true) || ch === 92 // '\'
917
+ };
918
+
919
+ pp$8.isAwaitUsing = function(isFor) {
920
+ return this.isUsingKeyword(true, isFor)
921
+ };
922
+
923
+ pp$8.isUsing = function(isFor) {
924
+ return this.isUsingKeyword(false, isFor)
925
+ };
926
+
880
927
  // Parse a single statement.
881
928
  //
882
929
  // If expecting a statement and finding a slash operator, parse a
@@ -884,7 +931,7 @@ pp$8.isAsyncFunction = function() {
884
931
  // `if (foo) /blah/.exec(foo)`, where looking at the previous token
885
932
  // does not help.
886
933
 
887
- pp$8.parseStatement = function(context, topLevel, exports) {
934
+ pp$8.parseStatement = function(context, topLevel, exports$1) {
888
935
  var starttype = this.type, node = this.startNode(), kind;
889
936
 
890
937
  if (this.isLet(context)) {
@@ -939,7 +986,7 @@ pp$8.parseStatement = function(context, topLevel, exports) {
939
986
  if (!this.inModule)
940
987
  { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
941
988
  }
942
- return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
989
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
943
990
 
944
991
  // If the statement does not start with a statement keyword or a
945
992
  // brace, it's an ExpressionStatement or LabeledStatement. We
@@ -953,6 +1000,23 @@ pp$8.parseStatement = function(context, topLevel, exports) {
953
1000
  return this.parseFunctionStatement(node, true, !context)
954
1001
  }
955
1002
 
1003
+ var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
1004
+ if (usingKind) {
1005
+ if (topLevel && this.options.sourceType === "script") {
1006
+ this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`");
1007
+ }
1008
+ if (usingKind === "await using") {
1009
+ if (!this.canAwait) {
1010
+ this.raise(this.start, "Await using cannot appear outside of async function");
1011
+ }
1012
+ this.next();
1013
+ }
1014
+ this.next();
1015
+ this.parseVar(node, false, usingKind);
1016
+ this.semicolon();
1017
+ return this.finishNode(node, "VariableDeclaration")
1018
+ }
1019
+
956
1020
  var maybeName = this.value, expr = this.parseExpression();
957
1021
  if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
958
1022
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
@@ -1028,18 +1092,19 @@ pp$8.parseForStatement = function(node) {
1028
1092
  this.next();
1029
1093
  this.parseVar(init$1, true, kind);
1030
1094
  this.finishNode(init$1, "VariableDeclaration");
1031
- if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1032
- if (this.options.ecmaVersion >= 9) {
1033
- if (this.type === types$1._in) {
1034
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1035
- } else { node.await = awaitAt > -1; }
1036
- }
1037
- return this.parseForIn(node, init$1)
1038
- }
1039
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1040
- return this.parseFor(node, init$1)
1095
+ return this.parseForAfterInit(node, init$1, awaitAt)
1041
1096
  }
1042
1097
  var startsWithLet = this.isContextual("let"), isForOf = false;
1098
+
1099
+ var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
1100
+ if (usingKind) {
1101
+ var init$2 = this.startNode();
1102
+ this.next();
1103
+ if (usingKind === "await using") { this.next(); }
1104
+ this.parseVar(init$2, true, usingKind);
1105
+ this.finishNode(init$2, "VariableDeclaration");
1106
+ return this.parseForAfterInit(node, init$2, awaitAt)
1107
+ }
1043
1108
  var containsEsc = this.containsEsc;
1044
1109
  var refDestructuringErrors = new DestructuringErrors;
1045
1110
  var initPos = this.start;
@@ -1065,6 +1130,20 @@ pp$8.parseForStatement = function(node) {
1065
1130
  return this.parseFor(node, init)
1066
1131
  };
1067
1132
 
1133
+ // Helper method to parse for loop after variable initialization
1134
+ pp$8.parseForAfterInit = function(node, init, awaitAt) {
1135
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
1136
+ if (this.options.ecmaVersion >= 9) {
1137
+ if (this.type === types$1._in) {
1138
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1139
+ } else { node.await = awaitAt > -1; }
1140
+ }
1141
+ return this.parseForIn(node, init)
1142
+ }
1143
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1144
+ return this.parseFor(node, init)
1145
+ };
1146
+
1068
1147
  pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1069
1148
  this.next();
1070
1149
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
@@ -1321,6 +1400,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1321
1400
  decl.init = this.parseMaybeAssign(isFor);
1322
1401
  } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1323
1402
  this.unexpected();
1403
+ } else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
1404
+ this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
1324
1405
  } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1325
1406
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1326
1407
  } else {
@@ -1333,7 +1414,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1333
1414
  };
1334
1415
 
1335
1416
  pp$8.parseVarId = function(decl, kind) {
1336
- decl.id = this.parseBindingAtom();
1417
+ decl.id = kind === "using" || kind === "await using"
1418
+ ? this.parseIdent()
1419
+ : this.parseBindingAtom();
1420
+
1337
1421
  this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1338
1422
  };
1339
1423
 
@@ -1552,11 +1636,9 @@ pp$8.parseClassField = function(field) {
1552
1636
 
1553
1637
  if (this.eat(types$1.eq)) {
1554
1638
  // To raise SyntaxError if 'arguments' exists in the initializer.
1555
- var scope = this.currentThisScope();
1556
- var inClassFieldInit = scope.inClassFieldInit;
1557
- scope.inClassFieldInit = true;
1639
+ this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
1558
1640
  field.value = this.parseMaybeAssign();
1559
- scope.inClassFieldInit = inClassFieldInit;
1641
+ this.exitScope();
1560
1642
  } else {
1561
1643
  field.value = null;
1562
1644
  }
@@ -1660,11 +1742,11 @@ function checkKeyName(node, name) {
1660
1742
 
1661
1743
  // Parses module export declaration.
1662
1744
 
1663
- pp$8.parseExportAllDeclaration = function(node, exports) {
1745
+ pp$8.parseExportAllDeclaration = function(node, exports$1) {
1664
1746
  if (this.options.ecmaVersion >= 11) {
1665
1747
  if (this.eatContextual("as")) {
1666
1748
  node.exported = this.parseModuleExportName();
1667
- this.checkExport(exports, node.exported, this.lastTokStart);
1749
+ this.checkExport(exports$1, node.exported, this.lastTokStart);
1668
1750
  } else {
1669
1751
  node.exported = null;
1670
1752
  }
@@ -1672,18 +1754,20 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
1672
1754
  this.expectContextual("from");
1673
1755
  if (this.type !== types$1.string) { this.unexpected(); }
1674
1756
  node.source = this.parseExprAtom();
1757
+ if (this.options.ecmaVersion >= 16)
1758
+ { node.attributes = this.parseWithClause(); }
1675
1759
  this.semicolon();
1676
1760
  return this.finishNode(node, "ExportAllDeclaration")
1677
1761
  };
1678
1762
 
1679
- pp$8.parseExport = function(node, exports) {
1763
+ pp$8.parseExport = function(node, exports$1) {
1680
1764
  this.next();
1681
1765
  // export * from '...'
1682
1766
  if (this.eat(types$1.star)) {
1683
- return this.parseExportAllDeclaration(node, exports)
1767
+ return this.parseExportAllDeclaration(node, exports$1)
1684
1768
  }
1685
1769
  if (this.eat(types$1._default)) { // export default ...
1686
- this.checkExport(exports, "default", this.lastTokStart);
1770
+ this.checkExport(exports$1, "default", this.lastTokStart);
1687
1771
  node.declaration = this.parseExportDefaultDeclaration();
1688
1772
  return this.finishNode(node, "ExportDefaultDeclaration")
1689
1773
  }
@@ -1691,17 +1775,21 @@ pp$8.parseExport = function(node, exports) {
1691
1775
  if (this.shouldParseExportStatement()) {
1692
1776
  node.declaration = this.parseExportDeclaration(node);
1693
1777
  if (node.declaration.type === "VariableDeclaration")
1694
- { this.checkVariableExport(exports, node.declaration.declarations); }
1778
+ { this.checkVariableExport(exports$1, node.declaration.declarations); }
1695
1779
  else
1696
- { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1780
+ { this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
1697
1781
  node.specifiers = [];
1698
1782
  node.source = null;
1783
+ if (this.options.ecmaVersion >= 16)
1784
+ { node.attributes = []; }
1699
1785
  } else { // export { x, y as z } [from '...']
1700
1786
  node.declaration = null;
1701
- node.specifiers = this.parseExportSpecifiers(exports);
1787
+ node.specifiers = this.parseExportSpecifiers(exports$1);
1702
1788
  if (this.eatContextual("from")) {
1703
1789
  if (this.type !== types$1.string) { this.unexpected(); }
1704
1790
  node.source = this.parseExprAtom();
1791
+ if (this.options.ecmaVersion >= 16)
1792
+ { node.attributes = this.parseWithClause(); }
1705
1793
  } else {
1706
1794
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
1707
1795
  // check for keywords used as local names
@@ -1717,6 +1805,8 @@ pp$8.parseExport = function(node, exports) {
1717
1805
  }
1718
1806
 
1719
1807
  node.source = null;
1808
+ if (this.options.ecmaVersion >= 16)
1809
+ { node.attributes = []; }
1720
1810
  }
1721
1811
  this.semicolon();
1722
1812
  }
@@ -1744,47 +1834,47 @@ pp$8.parseExportDefaultDeclaration = function() {
1744
1834
  }
1745
1835
  };
1746
1836
 
1747
- pp$8.checkExport = function(exports, name, pos) {
1748
- if (!exports) { return }
1837
+ pp$8.checkExport = function(exports$1, name, pos) {
1838
+ if (!exports$1) { return }
1749
1839
  if (typeof name !== "string")
1750
1840
  { name = name.type === "Identifier" ? name.name : name.value; }
1751
- if (hasOwn(exports, name))
1841
+ if (hasOwn(exports$1, name))
1752
1842
  { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
1753
- exports[name] = true;
1843
+ exports$1[name] = true;
1754
1844
  };
1755
1845
 
1756
- pp$8.checkPatternExport = function(exports, pat) {
1846
+ pp$8.checkPatternExport = function(exports$1, pat) {
1757
1847
  var type = pat.type;
1758
1848
  if (type === "Identifier")
1759
- { this.checkExport(exports, pat, pat.start); }
1849
+ { this.checkExport(exports$1, pat, pat.start); }
1760
1850
  else if (type === "ObjectPattern")
1761
1851
  { for (var i = 0, list = pat.properties; i < list.length; i += 1)
1762
1852
  {
1763
1853
  var prop = list[i];
1764
1854
 
1765
- this.checkPatternExport(exports, prop);
1855
+ this.checkPatternExport(exports$1, prop);
1766
1856
  } }
1767
1857
  else if (type === "ArrayPattern")
1768
1858
  { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
1769
1859
  var elt = list$1[i$1];
1770
1860
 
1771
- if (elt) { this.checkPatternExport(exports, elt); }
1861
+ if (elt) { this.checkPatternExport(exports$1, elt); }
1772
1862
  } }
1773
1863
  else if (type === "Property")
1774
- { this.checkPatternExport(exports, pat.value); }
1864
+ { this.checkPatternExport(exports$1, pat.value); }
1775
1865
  else if (type === "AssignmentPattern")
1776
- { this.checkPatternExport(exports, pat.left); }
1866
+ { this.checkPatternExport(exports$1, pat.left); }
1777
1867
  else if (type === "RestElement")
1778
- { this.checkPatternExport(exports, pat.argument); }
1868
+ { this.checkPatternExport(exports$1, pat.argument); }
1779
1869
  };
1780
1870
 
1781
- pp$8.checkVariableExport = function(exports, decls) {
1782
- if (!exports) { return }
1871
+ pp$8.checkVariableExport = function(exports$1, decls) {
1872
+ if (!exports$1) { return }
1783
1873
  for (var i = 0, list = decls; i < list.length; i += 1)
1784
1874
  {
1785
1875
  var decl = list[i];
1786
1876
 
1787
- this.checkPatternExport(exports, decl.id);
1877
+ this.checkPatternExport(exports$1, decl.id);
1788
1878
  }
1789
1879
  };
1790
1880
 
@@ -1799,13 +1889,13 @@ pp$8.shouldParseExportStatement = function() {
1799
1889
 
1800
1890
  // Parses a comma-separated list of module exports.
1801
1891
 
1802
- pp$8.parseExportSpecifier = function(exports) {
1892
+ pp$8.parseExportSpecifier = function(exports$1) {
1803
1893
  var node = this.startNode();
1804
1894
  node.local = this.parseModuleExportName();
1805
1895
 
1806
1896
  node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
1807
1897
  this.checkExport(
1808
- exports,
1898
+ exports$1,
1809
1899
  node.exported,
1810
1900
  node.exported.start
1811
1901
  );
@@ -1813,7 +1903,7 @@ pp$8.parseExportSpecifier = function(exports) {
1813
1903
  return this.finishNode(node, "ExportSpecifier")
1814
1904
  };
1815
1905
 
1816
- pp$8.parseExportSpecifiers = function(exports) {
1906
+ pp$8.parseExportSpecifiers = function(exports$1) {
1817
1907
  var nodes = [], first = true;
1818
1908
  // export { x, y as z } [from '...']
1819
1909
  this.expect(types$1.braceL);
@@ -1823,7 +1913,7 @@ pp$8.parseExportSpecifiers = function(exports) {
1823
1913
  if (this.afterTrailingComma(types$1.braceR)) { break }
1824
1914
  } else { first = false; }
1825
1915
 
1826
- nodes.push(this.parseExportSpecifier(exports));
1916
+ nodes.push(this.parseExportSpecifier(exports$1));
1827
1917
  }
1828
1918
  return nodes
1829
1919
  };
@@ -1842,6 +1932,8 @@ pp$8.parseImport = function(node) {
1842
1932
  this.expectContextual("from");
1843
1933
  node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1844
1934
  }
1935
+ if (this.options.ecmaVersion >= 16)
1936
+ { node.attributes = this.parseWithClause(); }
1845
1937
  this.semicolon();
1846
1938
  return this.finishNode(node, "ImportDeclaration")
1847
1939
  };
@@ -1902,6 +1994,41 @@ pp$8.parseImportSpecifiers = function() {
1902
1994
  return nodes
1903
1995
  };
1904
1996
 
1997
+ pp$8.parseWithClause = function() {
1998
+ var nodes = [];
1999
+ if (!this.eat(types$1._with)) {
2000
+ return nodes
2001
+ }
2002
+ this.expect(types$1.braceL);
2003
+ var attributeKeys = {};
2004
+ var first = true;
2005
+ while (!this.eat(types$1.braceR)) {
2006
+ if (!first) {
2007
+ this.expect(types$1.comma);
2008
+ if (this.afterTrailingComma(types$1.braceR)) { break }
2009
+ } else { first = false; }
2010
+
2011
+ var attr = this.parseImportAttribute();
2012
+ var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
2013
+ if (hasOwn(attributeKeys, keyName))
2014
+ { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
2015
+ attributeKeys[keyName] = true;
2016
+ nodes.push(attr);
2017
+ }
2018
+ return nodes
2019
+ };
2020
+
2021
+ pp$8.parseImportAttribute = function() {
2022
+ var node = this.startNode();
2023
+ node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2024
+ this.expect(types$1.colon);
2025
+ if (this.type !== types$1.string) {
2026
+ this.unexpected();
2027
+ }
2028
+ node.value = this.parseExprAtom();
2029
+ return this.finishNode(node, "ImportAttribute")
2030
+ };
2031
+
1905
2032
  pp$8.parseModuleExportName = function() {
1906
2033
  if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1907
2034
  var stringLiteral = this.parseLiteral(this.value);
@@ -2969,13 +3096,32 @@ pp$5.parseDynamicImport = function(node) {
2969
3096
  // Parse node.source.
2970
3097
  node.source = this.parseMaybeAssign();
2971
3098
 
2972
- // Verify ending.
2973
- if (!this.eat(types$1.parenR)) {
2974
- var errorPos = this.start;
2975
- if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2976
- this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3099
+ if (this.options.ecmaVersion >= 16) {
3100
+ if (!this.eat(types$1.parenR)) {
3101
+ this.expect(types$1.comma);
3102
+ if (!this.afterTrailingComma(types$1.parenR)) {
3103
+ node.options = this.parseMaybeAssign();
3104
+ if (!this.eat(types$1.parenR)) {
3105
+ this.expect(types$1.comma);
3106
+ if (!this.afterTrailingComma(types$1.parenR)) {
3107
+ this.unexpected();
3108
+ }
3109
+ }
3110
+ } else {
3111
+ node.options = null;
3112
+ }
2977
3113
  } else {
2978
- this.unexpected(errorPos);
3114
+ node.options = null;
3115
+ }
3116
+ } else {
3117
+ // Verify ending.
3118
+ if (!this.eat(types$1.parenR)) {
3119
+ var errorPos = this.start;
3120
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
3121
+ this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3122
+ } else {
3123
+ this.unexpected(errorPos);
3124
+ }
2979
3125
  }
2980
3126
  }
2981
3127
 
@@ -3002,7 +3148,8 @@ pp$5.parseLiteral = function(value) {
3002
3148
  var node = this.startNode();
3003
3149
  node.value = value;
3004
3150
  node.raw = this.input.slice(this.start, this.end);
3005
- if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); }
3151
+ if (node.raw.charCodeAt(node.raw.length - 1) === 110)
3152
+ { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
3006
3153
  this.next();
3007
3154
  return this.finishNode(node, "Literal")
3008
3155
  };
@@ -3240,9 +3387,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
3240
3387
  };
3241
3388
 
3242
3389
  pp$5.parseGetterSetter = function(prop) {
3243
- prop.kind = prop.key.name;
3390
+ var kind = prop.key.name;
3244
3391
  this.parsePropertyName(prop);
3245
3392
  prop.value = this.parseMethod(false);
3393
+ prop.kind = kind;
3246
3394
  var paramCount = prop.kind === "get" ? 0 : 1;
3247
3395
  if (prop.value.params.length !== paramCount) {
3248
3396
  var start = prop.value.start;
@@ -3265,9 +3413,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3265
3413
  prop.kind = "init";
3266
3414
  } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
3267
3415
  if (isPattern) { this.unexpected(); }
3268
- prop.kind = "init";
3269
3416
  prop.method = true;
3270
3417
  prop.value = this.parseMethod(isGenerator, isAsync);
3418
+ prop.kind = "init";
3271
3419
  } else if (!isPattern && !containsEsc &&
3272
3420
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
3273
3421
  (prop.key.name === "get" || prop.key.name === "set") &&
@@ -3279,7 +3427,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3279
3427
  this.checkUnreserved(prop.key);
3280
3428
  if (prop.key.name === "await" && !this.awaitIdentPos)
3281
3429
  { this.awaitIdentPos = startPos; }
3282
- prop.kind = "init";
3283
3430
  if (isPattern) {
3284
3431
  prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3285
3432
  } else if (this.type === types$1.eq && refDestructuringErrors) {
@@ -3289,6 +3436,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3289
3436
  } else {
3290
3437
  prop.value = this.copyNode(prop.key);
3291
3438
  }
3439
+ prop.kind = "init";
3292
3440
  prop.shorthand = true;
3293
3441
  } else { this.unexpected(); }
3294
3442
  };
@@ -3464,7 +3612,7 @@ pp$5.checkUnreserved = function(ref) {
3464
3612
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
3465
3613
  if (this.inAsync && name === "await")
3466
3614
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3467
- if (this.currentThisScope().inClassFieldInit && name === "arguments")
3615
+ if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
3468
3616
  { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3469
3617
  if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3470
3618
  { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
@@ -3577,6 +3725,9 @@ var pp$4 = Parser.prototype;
3577
3725
  pp$4.raise = function(pos, message) {
3578
3726
  var loc = getLineInfo(this.input, pos);
3579
3727
  message += " (" + loc.line + ":" + loc.column + ")";
3728
+ if (this.sourceFile) {
3729
+ message += " in " + this.sourceFile;
3730
+ }
3580
3731
  var err = new SyntaxError(message);
3581
3732
  err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
3582
3733
  throw err
@@ -3600,8 +3751,6 @@ var Scope = function Scope(flags) {
3600
3751
  this.lexical = [];
3601
3752
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
3602
3753
  this.functions = [];
3603
- // A switch to disallow the identifier reference 'arguments'
3604
- this.inClassFieldInit = false;
3605
3754
  };
3606
3755
 
3607
3756
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
@@ -3671,7 +3820,7 @@ pp$3.currentScope = function() {
3671
3820
  pp$3.currentVarScope = function() {
3672
3821
  for (var i = this.scopeStack.length - 1;; i--) {
3673
3822
  var scope = this.scopeStack[i];
3674
- if (scope.flags & SCOPE_VAR) { return scope }
3823
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
3675
3824
  }
3676
3825
  };
3677
3826
 
@@ -3679,7 +3828,8 @@ pp$3.currentVarScope = function() {
3679
3828
  pp$3.currentThisScope = function() {
3680
3829
  for (var i = this.scopeStack.length - 1;; i--) {
3681
3830
  var scope = this.scopeStack[i];
3682
- if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
3831
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
3832
+ !(scope.flags & SCOPE_ARROW)) { return scope }
3683
3833
  }
3684
3834
  };
3685
3835
 
@@ -3735,6 +3885,9 @@ pp$2.copyNode = function(node) {
3735
3885
  return newNode
3736
3886
  };
3737
3887
 
3888
+ // This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
3889
+ var scriptValuesAddedInUnicode = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz";
3890
+
3738
3891
  // This file contains Unicode properties extracted from the ECMAScript specification.
3739
3892
  // The lists are extracted like so:
3740
3893
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
@@ -3777,7 +3930,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
3777
3930
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3778
3931
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3779
3932
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3780
- var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
3933
+ var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
3781
3934
 
3782
3935
  var unicodeScriptValues = {
3783
3936
  9: ecma9ScriptValues,
@@ -4202,12 +4355,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
4202
4355
  pp$1.regexp_eatUncapturingGroup = function(state) {
4203
4356
  var start = state.pos;
4204
4357
  if (state.eat(0x28 /* ( */)) {
4205
- if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
4206
- this.regexp_disjunction(state);
4207
- if (state.eat(0x29 /* ) */)) {
4208
- return true
4358
+ if (state.eat(0x3F /* ? */)) {
4359
+ if (this.options.ecmaVersion >= 16) {
4360
+ var addModifiers = this.regexp_eatModifiers(state);
4361
+ var hasHyphen = state.eat(0x2D /* - */);
4362
+ if (addModifiers || hasHyphen) {
4363
+ for (var i = 0; i < addModifiers.length; i++) {
4364
+ var modifier = addModifiers.charAt(i);
4365
+ if (addModifiers.indexOf(modifier, i + 1) > -1) {
4366
+ state.raise("Duplicate regular expression modifiers");
4367
+ }
4368
+ }
4369
+ if (hasHyphen) {
4370
+ var removeModifiers = this.regexp_eatModifiers(state);
4371
+ if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
4372
+ state.raise("Invalid regular expression modifiers");
4373
+ }
4374
+ for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
4375
+ var modifier$1 = removeModifiers.charAt(i$1);
4376
+ if (
4377
+ removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
4378
+ addModifiers.indexOf(modifier$1) > -1
4379
+ ) {
4380
+ state.raise("Duplicate regular expression modifiers");
4381
+ }
4382
+ }
4383
+ }
4384
+ }
4385
+ }
4386
+ if (state.eat(0x3A /* : */)) {
4387
+ this.regexp_disjunction(state);
4388
+ if (state.eat(0x29 /* ) */)) {
4389
+ return true
4390
+ }
4391
+ state.raise("Unterminated group");
4209
4392
  }
4210
- state.raise("Unterminated group");
4211
4393
  }
4212
4394
  state.pos = start;
4213
4395
  }
@@ -4229,6 +4411,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
4229
4411
  }
4230
4412
  return false
4231
4413
  };
4414
+ // RegularExpressionModifiers ::
4415
+ // [empty]
4416
+ // RegularExpressionModifiers RegularExpressionModifier
4417
+ pp$1.regexp_eatModifiers = function(state) {
4418
+ var modifiers = "";
4419
+ var ch = 0;
4420
+ while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
4421
+ modifiers += codePointToString(ch);
4422
+ state.advance();
4423
+ }
4424
+ return modifiers
4425
+ };
4426
+ // RegularExpressionModifier :: one of
4427
+ // `i` `m` `s`
4428
+ function isRegularExpressionModifier(ch) {
4429
+ return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
4430
+ }
4232
4431
 
4233
4432
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
4234
4433
  pp$1.regexp_eatExtendedAtom = function(state) {
@@ -5980,11 +6179,9 @@ pp.readWord = function() {
5980
6179
  // Please use the [github bug tracker][ghbt] to report issues.
5981
6180
  //
5982
6181
  // [ghbt]: https://github.com/acornjs/acorn/issues
5983
- //
5984
- // [walk]: util/walk.js
5985
6182
 
5986
6183
 
5987
- var version = "8.12.1";
6184
+ var version = "8.15.0";
5988
6185
 
5989
6186
  Parser.acorn = {
5990
6187
  Parser: Parser,
@@ -7666,23 +7863,23 @@ class Writer {
7666
7863
  this._functionUid = 0;
7667
7864
  }
7668
7865
  toString() {
7669
- return `\
7670
- ${this._imports.join("\n")}
7671
-
7672
- ${this._functions.join("\n").split("\n) {").join("){")}
7673
-
7674
- export default function define(runtime, observer) {
7675
- const main = runtime.module();
7676
-
7677
- function toString() { return this.url; }
7678
- const fileAttachments = new Map([
7679
- ${this._files.map(f => `["${f.name}", { url: new URL("${f.url}"), mimeType: ${JSON.stringify(f.mime_type)}, toString }]`).join(",\n ")}
7680
- ]);
7681
- main.builtin("FileAttachment", runtime.fileAttachments(name => fileAttachments.get(name)));
7682
-
7683
- ${this._defines.join("\n ")}
7684
-
7685
- return main;
7866
+ return `\
7867
+ ${this._imports.join("\n")}
7868
+
7869
+ ${this._functions.join("\n").split("\n) {").join("){")}
7870
+
7871
+ export default function define(runtime, observer) {
7872
+ const main = runtime.module();
7873
+
7874
+ function toString() { return this.url; }
7875
+ const fileAttachments = new Map([
7876
+ ${this._files.map(f => `["${f.name}", { url: new URL("${f.url}"), mimeType: ${JSON.stringify(f.mime_type)}, toString }]`).join(",\n ")}
7877
+ ]);
7878
+ main.builtin("FileAttachment", runtime.fileAttachments(name => fileAttachments.get(name)));
7879
+
7880
+ ${this._defines.join("\n ")}
7881
+
7882
+ return main;
7686
7883
  }\n`;
7687
7884
  }
7688
7885
  files(files) {
@@ -7839,8 +8036,8 @@ function createVariable(node, inspect, name, inputs, definition, inline = false)
7839
8036
  v = module.variable(inspector(name, node.id));
7840
8037
  try {
7841
8038
  v.define(undefined, ["md"], md => {
7842
- return md `\`\`\`js
7843
- ${node.value}
8039
+ return md `\`\`\`js
8040
+ ${node.value}
7844
8041
  \`\`\``;
7845
8042
  });
7846
8043
  }
@@ -7941,7 +8138,7 @@ function createFile(file, options) {
7941
8138
  return [file.name, { url: new URL(fixRelativeUrl(file.url, options.baseUrl)), mimeType: file.mime_type, toString }];
7942
8139
  }
7943
8140
  function notebook(_files = [], _cells = [], { baseUrl = ".", importMode = "precompiled" } = {}) {
7944
- const files = _files.map(f => createFile(f, { baseUrl, importMode }));
8141
+ const files = _files.map(f => createFile(f, { baseUrl}));
7945
8142
  const fileAttachments = new Map(files);
7946
8143
  const cells = new Map(_cells.map(c => [c.id, c]));
7947
8144
  const retVal = (runtime, inspector) => {