protobufjs 6.11.2 → 6.11.4

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.
Files changed (2135) hide show
  1. package/bin/pbjs +0 -0
  2. package/bin/pbts +0 -0
  3. package/cli/bin/pbjs +0 -0
  4. package/cli/bin/pbts +0 -0
  5. package/cli/node_modules/.package-lock.json +281 -64
  6. package/cli/node_modules/@babel/parser/CHANGELOG.md +1073 -0
  7. package/cli/node_modules/{word-wrap → @babel/parser}/LICENSE +1 -3
  8. package/cli/node_modules/@babel/parser/README.md +19 -0
  9. package/cli/node_modules/@babel/parser/bin/babel-parser.js +15 -0
  10. package/cli/node_modules/@babel/parser/index.cjs +5 -0
  11. package/cli/node_modules/@babel/parser/lib/index.js +16800 -0
  12. package/cli/node_modules/@babel/parser/lib/index.js.map +1 -0
  13. package/cli/node_modules/@babel/parser/package.json +46 -0
  14. package/cli/node_modules/@babel/parser/typings/babel-parser.d.ts +214 -0
  15. package/cli/node_modules/@types/linkify-it/LICENSE +21 -0
  16. package/cli/node_modules/@types/linkify-it/README.md +89 -0
  17. package/cli/node_modules/@types/linkify-it/index.d.ts +69 -0
  18. package/cli/node_modules/@types/linkify-it/package.json +39 -0
  19. package/cli/node_modules/@types/markdown-it/LICENSE +21 -0
  20. package/cli/node_modules/@types/markdown-it/README.md +16 -0
  21. package/cli/node_modules/@types/markdown-it/index.d.ts +13 -0
  22. package/cli/node_modules/@types/markdown-it/lib/common/entities.d.ts +7 -0
  23. package/cli/node_modules/@types/markdown-it/lib/common/html_blocks.d.ts +3 -0
  24. package/cli/node_modules/@types/markdown-it/lib/common/html_re.d.ts +8 -0
  25. package/cli/node_modules/@types/markdown-it/lib/common/utils.d.ts +70 -0
  26. package/cli/node_modules/@types/markdown-it/lib/helpers/index.d.ts +13 -0
  27. package/cli/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts +12 -0
  28. package/cli/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts +5 -0
  29. package/cli/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts +5 -0
  30. package/cli/node_modules/@types/markdown-it/lib/index.d.ts +406 -0
  31. package/cli/node_modules/@types/markdown-it/lib/parser_block.d.ts +29 -0
  32. package/cli/node_modules/@types/markdown-it/lib/parser_core.d.ts +19 -0
  33. package/cli/node_modules/@types/markdown-it/lib/parser_inline.d.ts +42 -0
  34. package/cli/node_modules/@types/markdown-it/lib/renderer.d.ts +96 -0
  35. package/cli/node_modules/@types/markdown-it/lib/ruler.d.ts +167 -0
  36. package/cli/node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts +134 -0
  37. package/cli/node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts +20 -0
  38. package/cli/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts +78 -0
  39. package/cli/node_modules/@types/markdown-it/lib/token.d.ts +111 -0
  40. package/cli/node_modules/@types/markdown-it/package.json +43 -0
  41. package/cli/node_modules/@types/mdurl/LICENSE +21 -0
  42. package/cli/node_modules/@types/mdurl/README.md +16 -0
  43. package/cli/node_modules/@types/mdurl/decode.d.ts +7 -0
  44. package/cli/node_modules/@types/mdurl/encode.d.ts +7 -0
  45. package/cli/node_modules/@types/mdurl/format.d.ts +5 -0
  46. package/cli/node_modules/@types/mdurl/index.d.ts +26 -0
  47. package/cli/node_modules/@types/mdurl/package.json +23 -0
  48. package/cli/node_modules/@types/mdurl/parse.d.ts +5 -0
  49. package/cli/node_modules/acorn/CHANGELOG.md +190 -0
  50. package/cli/node_modules/acorn/LICENSE +1 -1
  51. package/cli/node_modules/acorn/README.md +31 -27
  52. package/cli/node_modules/acorn/bin/acorn +2 -2
  53. package/cli/node_modules/acorn/dist/acorn.d.ts +50 -7
  54. package/cli/node_modules/acorn/dist/acorn.js +1313 -894
  55. package/cli/node_modules/acorn/dist/acorn.mjs +1308 -889
  56. package/cli/node_modules/acorn/dist/bin.js +48 -21
  57. package/cli/node_modules/acorn/package.json +19 -4
  58. package/cli/node_modules/acorn-jsx/index.d.ts +12 -0
  59. package/cli/node_modules/acorn-jsx/package.json +1 -1
  60. package/cli/node_modules/argparse/CHANGELOG.md +216 -0
  61. package/cli/node_modules/argparse/LICENSE +254 -0
  62. package/cli/node_modules/argparse/README.md +84 -0
  63. package/cli/node_modules/argparse/argparse.js +3707 -0
  64. package/cli/node_modules/argparse/lib/sub.js +67 -0
  65. package/cli/node_modules/argparse/lib/textwrap.js +440 -0
  66. package/cli/node_modules/argparse/package.json +31 -0
  67. package/cli/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  68. package/cli/node_modules/balanced-match/README.md +6 -0
  69. package/cli/node_modules/balanced-match/index.js +3 -0
  70. package/cli/node_modules/balanced-match/package.json +3 -4
  71. package/cli/node_modules/bluebird/LICENSE +21 -0
  72. package/cli/node_modules/bluebird/README.md +57 -0
  73. package/cli/node_modules/bluebird/changelog.md +1 -0
  74. package/cli/node_modules/bluebird/js/browser/bluebird.core.js +3914 -0
  75. package/cli/node_modules/bluebird/js/browser/bluebird.core.min.js +31 -0
  76. package/cli/node_modules/bluebird/js/browser/bluebird.js +5778 -0
  77. package/cli/node_modules/bluebird/js/browser/bluebird.min.js +31 -0
  78. package/cli/node_modules/bluebird/js/release/any.js +21 -0
  79. package/cli/node_modules/bluebird/js/release/assert.js +55 -0
  80. package/cli/node_modules/bluebird/js/release/async.js +120 -0
  81. package/cli/node_modules/bluebird/js/release/bind.js +67 -0
  82. package/cli/node_modules/bluebird/js/release/bluebird.js +11 -0
  83. package/cli/node_modules/bluebird/js/release/call_get.js +123 -0
  84. package/cli/node_modules/bluebird/js/release/cancel.js +129 -0
  85. package/cli/node_modules/bluebird/js/release/catch_filter.js +42 -0
  86. package/cli/node_modules/bluebird/js/release/context.js +69 -0
  87. package/cli/node_modules/bluebird/js/release/debuggability.js +1009 -0
  88. package/cli/node_modules/bluebird/js/release/direct_resolve.js +46 -0
  89. package/cli/node_modules/bluebird/js/release/each.js +30 -0
  90. package/cli/node_modules/bluebird/js/release/errors.js +116 -0
  91. package/cli/node_modules/bluebird/js/release/es5.js +80 -0
  92. package/cli/node_modules/bluebird/js/release/filter.js +12 -0
  93. package/cli/node_modules/bluebird/js/release/finally.js +146 -0
  94. package/cli/node_modules/bluebird/js/release/generators.js +223 -0
  95. package/cli/node_modules/bluebird/js/release/join.js +165 -0
  96. package/cli/node_modules/bluebird/js/release/map.js +175 -0
  97. package/cli/node_modules/bluebird/js/release/method.js +55 -0
  98. package/cli/node_modules/bluebird/js/release/nodeback.js +51 -0
  99. package/cli/node_modules/bluebird/js/release/nodeify.js +58 -0
  100. package/cli/node_modules/bluebird/js/release/promise.js +819 -0
  101. package/cli/node_modules/bluebird/js/release/promise_array.js +186 -0
  102. package/cli/node_modules/bluebird/js/release/promisify.js +314 -0
  103. package/cli/node_modules/bluebird/js/release/props.js +118 -0
  104. package/cli/node_modules/bluebird/js/release/queue.js +73 -0
  105. package/cli/node_modules/bluebird/js/release/race.js +49 -0
  106. package/cli/node_modules/bluebird/js/release/reduce.js +183 -0
  107. package/cli/node_modules/bluebird/js/release/schedule.js +62 -0
  108. package/cli/node_modules/bluebird/js/release/settle.js +47 -0
  109. package/cli/node_modules/bluebird/js/release/some.js +148 -0
  110. package/cli/node_modules/bluebird/js/release/synchronous_inspection.js +103 -0
  111. package/cli/node_modules/bluebird/js/release/thenables.js +86 -0
  112. package/cli/node_modules/bluebird/js/release/timers.js +93 -0
  113. package/cli/node_modules/bluebird/js/release/using.js +226 -0
  114. package/cli/node_modules/bluebird/js/release/util.js +421 -0
  115. package/cli/node_modules/bluebird/package.json +78 -0
  116. package/cli/node_modules/catharsis/LICENSE +17 -0
  117. package/cli/node_modules/catharsis/README.md +393 -0
  118. package/cli/node_modules/catharsis/bin/parse.js +55 -0
  119. package/cli/node_modules/catharsis/catharsis.js +169 -0
  120. package/cli/node_modules/catharsis/lib/describe.js +563 -0
  121. package/cli/node_modules/catharsis/lib/parser.js +5776 -0
  122. package/cli/node_modules/catharsis/lib/schema.js +72 -0
  123. package/cli/node_modules/catharsis/lib/stringify.js +277 -0
  124. package/cli/node_modules/catharsis/lib/types.js +22 -0
  125. package/cli/node_modules/catharsis/package.json +30 -0
  126. package/cli/node_modules/catharsis/res/en.json +92 -0
  127. package/cli/node_modules/entities/LICENSE +11 -0
  128. package/cli/node_modules/entities/lib/decode.d.ts +7 -0
  129. package/cli/node_modules/entities/lib/decode.d.ts.map +1 -0
  130. package/cli/node_modules/entities/lib/decode.js +54 -0
  131. package/cli/node_modules/entities/lib/decode_codepoint.d.ts +2 -0
  132. package/cli/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  133. package/cli/node_modules/entities/lib/decode_codepoint.js +24 -0
  134. package/cli/node_modules/entities/lib/encode.d.ts +4 -0
  135. package/cli/node_modules/entities/lib/encode.d.ts.map +1 -0
  136. package/cli/node_modules/entities/lib/encode.js +73 -0
  137. package/cli/node_modules/entities/lib/index.d.ts +24 -0
  138. package/cli/node_modules/entities/lib/index.d.ts.map +1 -0
  139. package/cli/node_modules/entities/lib/index.js +52 -0
  140. package/cli/node_modules/entities/lib/maps/decode.json +1 -0
  141. package/cli/node_modules/entities/lib/maps/entities.json +1 -0
  142. package/cli/node_modules/entities/lib/maps/legacy.json +1 -0
  143. package/cli/node_modules/entities/lib/maps/xml.json +1 -0
  144. package/cli/node_modules/entities/package.json +63 -0
  145. package/cli/node_modules/entities/readme.md +50 -0
  146. package/cli/node_modules/escape-string-regexp/index.d.ts +18 -0
  147. package/cli/node_modules/escape-string-regexp/index.js +11 -0
  148. package/cli/node_modules/escape-string-regexp/license +9 -0
  149. package/cli/node_modules/escape-string-regexp/package.json +43 -0
  150. package/cli/node_modules/escape-string-regexp/readme.md +29 -0
  151. package/cli/node_modules/escodegen/escodegen.js +42 -22
  152. package/cli/node_modules/escodegen/package.json +9 -8
  153. package/cli/node_modules/espree/node_modules/acorn/CHANGELOG.md +620 -0
  154. package/cli/node_modules/espree/node_modules/acorn/LICENSE +21 -0
  155. package/cli/node_modules/espree/node_modules/acorn/README.md +269 -0
  156. package/cli/node_modules/espree/node_modules/acorn/bin/acorn +4 -0
  157. package/cli/node_modules/espree/node_modules/acorn/dist/acorn.d.ts +209 -0
  158. package/cli/node_modules/espree/node_modules/acorn/dist/acorn.js +5186 -0
  159. package/cli/node_modules/espree/node_modules/acorn/dist/acorn.mjs +5155 -0
  160. package/cli/node_modules/espree/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  161. package/cli/node_modules/espree/node_modules/acorn/dist/bin.js +64 -0
  162. package/cli/node_modules/espree/node_modules/acorn/package.json +35 -0
  163. package/cli/node_modules/estraverse/estraverse.js +4 -0
  164. package/cli/node_modules/estraverse/package.json +1 -1
  165. package/cli/node_modules/glob/README.md +4 -1
  166. package/cli/node_modules/glob/common.js +6 -8
  167. package/cli/node_modules/glob/glob.js +8 -8
  168. package/cli/node_modules/glob/package.json +13 -4
  169. package/cli/node_modules/glob/sync.js +10 -10
  170. package/cli/node_modules/graceful-fs/LICENSE +15 -0
  171. package/cli/node_modules/graceful-fs/README.md +143 -0
  172. package/cli/node_modules/graceful-fs/clone.js +23 -0
  173. package/cli/node_modules/graceful-fs/graceful-fs.js +448 -0
  174. package/cli/node_modules/graceful-fs/legacy-streams.js +118 -0
  175. package/cli/node_modules/graceful-fs/package.json +50 -0
  176. package/cli/node_modules/graceful-fs/polyfills.js +355 -0
  177. package/cli/node_modules/js2xmlparser/CHANGES.md +133 -0
  178. package/cli/node_modules/js2xmlparser/LICENSE +201 -0
  179. package/cli/node_modules/js2xmlparser/NOTICE +10 -0
  180. package/cli/node_modules/js2xmlparser/README.md +155 -0
  181. package/cli/node_modules/js2xmlparser/lib/main.d.ts +49 -0
  182. package/cli/node_modules/js2xmlparser/lib/main.js +282 -0
  183. package/cli/node_modules/js2xmlparser/lib/options.d.ts +477 -0
  184. package/cli/node_modules/js2xmlparser/lib/options.js +155 -0
  185. package/cli/node_modules/js2xmlparser/lib/utils.d.ts +32 -0
  186. package/cli/node_modules/js2xmlparser/lib/utils.js +67 -0
  187. package/cli/node_modules/js2xmlparser/package.json +65 -0
  188. package/cli/node_modules/jsdoc/Apache_License_2.0.txt +202 -0
  189. package/cli/node_modules/jsdoc/LICENSE.md +102 -0
  190. package/cli/node_modules/jsdoc/README.md +100 -0
  191. package/cli/node_modules/jsdoc/cli.js +465 -0
  192. package/cli/node_modules/jsdoc/conf.json.EXAMPLE +17 -0
  193. package/cli/node_modules/jsdoc/jsdoc.js +94 -0
  194. package/cli/node_modules/jsdoc/lib/jsdoc/app.js +19 -0
  195. package/cli/node_modules/jsdoc/lib/jsdoc/augment.js +608 -0
  196. package/cli/node_modules/jsdoc/lib/jsdoc/borrow.js +52 -0
  197. package/cli/node_modules/jsdoc/lib/jsdoc/config.js +74 -0
  198. package/cli/node_modules/jsdoc/lib/jsdoc/doclet.js +562 -0
  199. package/cli/node_modules/jsdoc/lib/jsdoc/env.js +77 -0
  200. package/cli/node_modules/jsdoc/lib/jsdoc/fs.js +109 -0
  201. package/cli/node_modules/jsdoc/lib/jsdoc/name.js +595 -0
  202. package/cli/node_modules/jsdoc/lib/jsdoc/opts/argparser.js +306 -0
  203. package/cli/node_modules/jsdoc/lib/jsdoc/opts/args.js +82 -0
  204. package/cli/node_modules/jsdoc/lib/jsdoc/package.js +257 -0
  205. package/cli/node_modules/jsdoc/lib/jsdoc/path.js +169 -0
  206. package/cli/node_modules/jsdoc/lib/jsdoc/plugins.js +35 -0
  207. package/cli/node_modules/jsdoc/lib/jsdoc/readme.js +24 -0
  208. package/cli/node_modules/jsdoc/lib/jsdoc/schema.js +664 -0
  209. package/cli/node_modules/jsdoc/lib/jsdoc/src/astbuilder.js +72 -0
  210. package/cli/node_modules/jsdoc/lib/jsdoc/src/astnode.js +555 -0
  211. package/cli/node_modules/jsdoc/lib/jsdoc/src/filter.js +63 -0
  212. package/cli/node_modules/jsdoc/lib/jsdoc/src/handlers.js +372 -0
  213. package/cli/node_modules/jsdoc/lib/jsdoc/src/parser.js +673 -0
  214. package/cli/node_modules/jsdoc/lib/jsdoc/src/scanner.js +62 -0
  215. package/cli/node_modules/jsdoc/lib/jsdoc/src/syntax.js +96 -0
  216. package/cli/node_modules/jsdoc/lib/jsdoc/src/visitor.js +859 -0
  217. package/cli/node_modules/jsdoc/lib/jsdoc/src/walker.js +704 -0
  218. package/cli/node_modules/jsdoc/lib/jsdoc/tag/dictionary/definitions.js +1089 -0
  219. package/cli/node_modules/jsdoc/lib/jsdoc/tag/dictionary.js +120 -0
  220. package/cli/node_modules/jsdoc/lib/jsdoc/tag/inline.js +135 -0
  221. package/cli/node_modules/jsdoc/lib/jsdoc/tag/type.js +306 -0
  222. package/cli/node_modules/jsdoc/lib/jsdoc/tag/validator.js +51 -0
  223. package/cli/node_modules/jsdoc/lib/jsdoc/tag.js +198 -0
  224. package/cli/node_modules/jsdoc/lib/jsdoc/template.js +80 -0
  225. package/cli/node_modules/jsdoc/lib/jsdoc/tutorial/resolver.js +183 -0
  226. package/cli/node_modules/jsdoc/lib/jsdoc/tutorial.js +153 -0
  227. package/cli/node_modules/jsdoc/lib/jsdoc/util/cast.js +95 -0
  228. package/cli/node_modules/jsdoc/lib/jsdoc/util/doop.js +79 -0
  229. package/cli/node_modules/jsdoc/lib/jsdoc/util/dumper.js +146 -0
  230. package/cli/node_modules/jsdoc/lib/jsdoc/util/error.js +32 -0
  231. package/cli/node_modules/jsdoc/lib/jsdoc/util/logger.js +254 -0
  232. package/cli/node_modules/jsdoc/lib/jsdoc/util/markdown.js +282 -0
  233. package/cli/node_modules/jsdoc/lib/jsdoc/util/stripbom.js +14 -0
  234. package/cli/node_modules/jsdoc/lib/jsdoc/util/templateHelper.js +1018 -0
  235. package/cli/node_modules/jsdoc/package.json +80 -0
  236. package/cli/node_modules/jsdoc/plugins/commentConvert.js +21 -0
  237. package/cli/node_modules/jsdoc/plugins/commentsOnly.js +17 -0
  238. package/cli/node_modules/jsdoc/plugins/escapeHtml.js +18 -0
  239. package/cli/node_modules/jsdoc/plugins/eventDumper.js +98 -0
  240. package/cli/node_modules/jsdoc/plugins/markdown.js +88 -0
  241. package/cli/node_modules/jsdoc/plugins/overloadHelper.js +181 -0
  242. package/cli/node_modules/jsdoc/plugins/partial.js +30 -0
  243. package/cli/node_modules/jsdoc/plugins/railsTemplate.js +19 -0
  244. package/cli/node_modules/jsdoc/plugins/shout.js +15 -0
  245. package/cli/node_modules/jsdoc/plugins/sourcetag.js +49 -0
  246. package/cli/node_modules/jsdoc/plugins/summarize.js +58 -0
  247. package/cli/node_modules/jsdoc/plugins/test/fixtures/markdown.js +31 -0
  248. package/cli/node_modules/jsdoc/plugins/test/fixtures/overloadHelper.js +50 -0
  249. package/cli/node_modules/jsdoc/plugins/test/fixtures/railsTemplate.js.erb +19 -0
  250. package/cli/node_modules/jsdoc/plugins/test/fixtures/underscore.js +22 -0
  251. package/cli/node_modules/jsdoc/plugins/test/specs/commentConvert.js +20 -0
  252. package/cli/node_modules/jsdoc/plugins/test/specs/escapeHtml.js +20 -0
  253. package/cli/node_modules/jsdoc/plugins/test/specs/markdown.js +60 -0
  254. package/cli/node_modules/jsdoc/plugins/test/specs/overloadHelper.js +102 -0
  255. package/cli/node_modules/jsdoc/plugins/test/specs/railsTemplate.js +19 -0
  256. package/cli/node_modules/jsdoc/plugins/test/specs/shout.js +20 -0
  257. package/cli/node_modules/jsdoc/plugins/test/specs/sourcetag.js +22 -0
  258. package/cli/node_modules/jsdoc/plugins/test/specs/summarize.js +112 -0
  259. package/cli/node_modules/jsdoc/plugins/test/specs/underscore.js +35 -0
  260. package/cli/node_modules/jsdoc/plugins/underscore.js +16 -0
  261. package/cli/node_modules/jsdoc/templates/README.md +27 -0
  262. package/cli/node_modules/jsdoc/templates/default/README.md +12 -0
  263. package/cli/node_modules/jsdoc/templates/default/publish.js +692 -0
  264. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  265. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.svg +1830 -0
  266. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  267. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  268. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
  269. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  270. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  271. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Italic-webfont.svg +1830 -0
  272. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  273. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Light-webfont.eot +0 -0
  274. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Light-webfont.svg +1831 -0
  275. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Light-webfont.woff +0 -0
  276. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  277. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
  278. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  279. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  280. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Regular-webfont.svg +1831 -0
  281. package/cli/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  282. package/cli/node_modules/jsdoc/templates/default/static/scripts/linenumber.js +25 -0
  283. package/cli/node_modules/jsdoc/templates/default/static/scripts/prettify/Apache-License-2.0.txt +202 -0
  284. package/cli/node_modules/jsdoc/templates/default/static/scripts/prettify/lang-css.js +2 -0
  285. package/cli/node_modules/jsdoc/templates/default/static/scripts/prettify/prettify.js +28 -0
  286. package/cli/node_modules/jsdoc/templates/default/static/styles/jsdoc-default.css +358 -0
  287. package/cli/node_modules/jsdoc/templates/default/static/styles/prettify-jsdoc.css +111 -0
  288. package/cli/node_modules/jsdoc/templates/default/static/styles/prettify-tomorrow.css +132 -0
  289. package/cli/node_modules/jsdoc/templates/default/tmpl/augments.tmpl +10 -0
  290. package/cli/node_modules/jsdoc/templates/default/tmpl/container.tmpl +196 -0
  291. package/cli/node_modules/jsdoc/templates/default/tmpl/details.tmpl +143 -0
  292. package/cli/node_modules/jsdoc/templates/default/tmpl/example.tmpl +2 -0
  293. package/cli/node_modules/jsdoc/templates/default/tmpl/examples.tmpl +13 -0
  294. package/cli/node_modules/jsdoc/templates/default/tmpl/exceptions.tmpl +32 -0
  295. package/cli/node_modules/jsdoc/templates/default/tmpl/layout.tmpl +38 -0
  296. package/cli/node_modules/jsdoc/templates/default/tmpl/mainpage.tmpl +14 -0
  297. package/cli/node_modules/jsdoc/templates/default/tmpl/members.tmpl +38 -0
  298. package/cli/node_modules/jsdoc/templates/default/tmpl/method.tmpl +131 -0
  299. package/cli/node_modules/jsdoc/templates/default/tmpl/modifies.tmpl +14 -0
  300. package/cli/node_modules/jsdoc/templates/default/tmpl/params.tmpl +131 -0
  301. package/cli/node_modules/jsdoc/templates/default/tmpl/properties.tmpl +108 -0
  302. package/cli/node_modules/jsdoc/templates/default/tmpl/returns.tmpl +19 -0
  303. package/cli/node_modules/jsdoc/templates/default/tmpl/source.tmpl +8 -0
  304. package/cli/node_modules/jsdoc/templates/default/tmpl/tutorial.tmpl +19 -0
  305. package/cli/node_modules/jsdoc/templates/default/tmpl/type.tmpl +7 -0
  306. package/cli/node_modules/jsdoc/templates/haruki/README.md +39 -0
  307. package/cli/node_modules/jsdoc/templates/haruki/publish.js +224 -0
  308. package/cli/node_modules/jsdoc/templates/silent/README.md +11 -0
  309. package/cli/node_modules/jsdoc/templates/silent/publish.js +7 -0
  310. package/cli/node_modules/klaw/CHANGELOG.md +68 -0
  311. package/cli/node_modules/klaw/LICENSE +15 -0
  312. package/cli/node_modules/klaw/README.md +253 -0
  313. package/cli/node_modules/klaw/package.json +40 -0
  314. package/cli/node_modules/klaw/src/index.js +64 -0
  315. package/cli/node_modules/linkify-it/CHANGELOG.md +182 -0
  316. package/cli/node_modules/{prelude-ls → linkify-it}/LICENSE +1 -1
  317. package/cli/node_modules/linkify-it/README.md +188 -0
  318. package/cli/node_modules/linkify-it/index.js +636 -0
  319. package/cli/node_modules/linkify-it/lib/re.js +181 -0
  320. package/cli/node_modules/linkify-it/package.json +48 -0
  321. package/cli/node_modules/lodash/LICENSE +47 -0
  322. package/cli/node_modules/lodash/README.md +39 -0
  323. package/cli/node_modules/lodash/_DataView.js +7 -0
  324. package/cli/node_modules/lodash/_Hash.js +32 -0
  325. package/cli/node_modules/lodash/_LazyWrapper.js +28 -0
  326. package/cli/node_modules/lodash/_ListCache.js +32 -0
  327. package/cli/node_modules/lodash/_LodashWrapper.js +22 -0
  328. package/cli/node_modules/lodash/_Map.js +7 -0
  329. package/cli/node_modules/lodash/_MapCache.js +32 -0
  330. package/cli/node_modules/lodash/_Promise.js +7 -0
  331. package/cli/node_modules/lodash/_Set.js +7 -0
  332. package/cli/node_modules/lodash/_SetCache.js +27 -0
  333. package/cli/node_modules/lodash/_Stack.js +27 -0
  334. package/cli/node_modules/lodash/_Symbol.js +6 -0
  335. package/cli/node_modules/lodash/_Uint8Array.js +6 -0
  336. package/cli/node_modules/lodash/_WeakMap.js +7 -0
  337. package/cli/node_modules/lodash/_apply.js +21 -0
  338. package/cli/node_modules/lodash/_arrayAggregator.js +22 -0
  339. package/cli/node_modules/lodash/_arrayEach.js +22 -0
  340. package/cli/node_modules/lodash/_arrayEachRight.js +21 -0
  341. package/cli/node_modules/lodash/_arrayEvery.js +23 -0
  342. package/cli/node_modules/lodash/_arrayFilter.js +25 -0
  343. package/cli/node_modules/lodash/_arrayIncludes.js +17 -0
  344. package/cli/node_modules/lodash/_arrayIncludesWith.js +22 -0
  345. package/cli/node_modules/lodash/_arrayLikeKeys.js +49 -0
  346. package/cli/node_modules/lodash/_arrayMap.js +21 -0
  347. package/cli/node_modules/lodash/_arrayPush.js +20 -0
  348. package/cli/node_modules/lodash/_arrayReduce.js +26 -0
  349. package/cli/node_modules/lodash/_arrayReduceRight.js +24 -0
  350. package/cli/node_modules/lodash/_arraySample.js +15 -0
  351. package/cli/node_modules/lodash/_arraySampleSize.js +17 -0
  352. package/cli/node_modules/lodash/_arrayShuffle.js +15 -0
  353. package/cli/node_modules/lodash/_arraySome.js +23 -0
  354. package/cli/node_modules/lodash/_asciiSize.js +12 -0
  355. package/cli/node_modules/lodash/_asciiToArray.js +12 -0
  356. package/cli/node_modules/lodash/_asciiWords.js +15 -0
  357. package/cli/node_modules/lodash/_assignMergeValue.js +20 -0
  358. package/cli/node_modules/lodash/_assignValue.js +28 -0
  359. package/cli/node_modules/lodash/_assocIndexOf.js +21 -0
  360. package/cli/node_modules/lodash/_baseAggregator.js +21 -0
  361. package/cli/node_modules/lodash/_baseAssign.js +17 -0
  362. package/cli/node_modules/lodash/_baseAssignIn.js +17 -0
  363. package/cli/node_modules/lodash/_baseAssignValue.js +25 -0
  364. package/cli/node_modules/lodash/_baseAt.js +23 -0
  365. package/cli/node_modules/lodash/_baseClamp.js +22 -0
  366. package/cli/node_modules/lodash/_baseClone.js +166 -0
  367. package/cli/node_modules/lodash/_baseConforms.js +18 -0
  368. package/cli/node_modules/lodash/_baseConformsTo.js +27 -0
  369. package/cli/node_modules/lodash/_baseCreate.js +30 -0
  370. package/cli/node_modules/lodash/_baseDelay.js +21 -0
  371. package/cli/node_modules/lodash/_baseDifference.js +67 -0
  372. package/cli/node_modules/lodash/_baseEach.js +14 -0
  373. package/cli/node_modules/lodash/_baseEachRight.js +14 -0
  374. package/cli/node_modules/lodash/_baseEvery.js +21 -0
  375. package/cli/node_modules/lodash/_baseExtremum.js +32 -0
  376. package/cli/node_modules/lodash/_baseFill.js +32 -0
  377. package/cli/node_modules/lodash/_baseFilter.js +21 -0
  378. package/cli/node_modules/lodash/_baseFindIndex.js +24 -0
  379. package/cli/node_modules/lodash/_baseFindKey.js +23 -0
  380. package/cli/node_modules/lodash/_baseFlatten.js +38 -0
  381. package/cli/node_modules/lodash/_baseFor.js +16 -0
  382. package/cli/node_modules/lodash/_baseForOwn.js +16 -0
  383. package/cli/node_modules/lodash/_baseForOwnRight.js +16 -0
  384. package/cli/node_modules/lodash/_baseForRight.js +15 -0
  385. package/cli/node_modules/lodash/_baseFunctions.js +19 -0
  386. package/cli/node_modules/lodash/_baseGet.js +24 -0
  387. package/cli/node_modules/lodash/_baseGetAllKeys.js +20 -0
  388. package/cli/node_modules/lodash/_baseGetTag.js +28 -0
  389. package/cli/node_modules/lodash/_baseGt.js +14 -0
  390. package/cli/node_modules/lodash/_baseHas.js +19 -0
  391. package/cli/node_modules/lodash/_baseHasIn.js +13 -0
  392. package/cli/node_modules/lodash/_baseInRange.js +18 -0
  393. package/cli/node_modules/lodash/_baseIndexOf.js +20 -0
  394. package/cli/node_modules/lodash/_baseIndexOfWith.js +23 -0
  395. package/cli/node_modules/lodash/_baseIntersection.js +74 -0
  396. package/cli/node_modules/lodash/_baseInverter.js +21 -0
  397. package/cli/node_modules/lodash/_baseInvoke.js +24 -0
  398. package/cli/node_modules/lodash/_baseIsArguments.js +18 -0
  399. package/cli/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  400. package/cli/node_modules/lodash/_baseIsDate.js +18 -0
  401. package/cli/node_modules/lodash/_baseIsEqual.js +28 -0
  402. package/cli/node_modules/lodash/_baseIsEqualDeep.js +83 -0
  403. package/cli/node_modules/lodash/_baseIsMap.js +18 -0
  404. package/cli/node_modules/lodash/_baseIsMatch.js +62 -0
  405. package/cli/node_modules/lodash/_baseIsNaN.js +12 -0
  406. package/cli/node_modules/lodash/_baseIsNative.js +47 -0
  407. package/cli/node_modules/lodash/_baseIsRegExp.js +18 -0
  408. package/cli/node_modules/lodash/_baseIsSet.js +18 -0
  409. package/cli/node_modules/lodash/_baseIsTypedArray.js +60 -0
  410. package/cli/node_modules/lodash/_baseIteratee.js +31 -0
  411. package/cli/node_modules/lodash/_baseKeys.js +30 -0
  412. package/cli/node_modules/lodash/_baseKeysIn.js +33 -0
  413. package/cli/node_modules/lodash/_baseLodash.js +10 -0
  414. package/cli/node_modules/lodash/_baseLt.js +14 -0
  415. package/cli/node_modules/lodash/_baseMap.js +22 -0
  416. package/cli/node_modules/lodash/_baseMatches.js +22 -0
  417. package/cli/node_modules/lodash/_baseMatchesProperty.js +33 -0
  418. package/cli/node_modules/lodash/_baseMean.js +20 -0
  419. package/cli/node_modules/lodash/_baseMerge.js +42 -0
  420. package/cli/node_modules/lodash/_baseMergeDeep.js +94 -0
  421. package/cli/node_modules/lodash/_baseNth.js +20 -0
  422. package/cli/node_modules/lodash/_baseOrderBy.js +49 -0
  423. package/cli/node_modules/lodash/_basePick.js +19 -0
  424. package/cli/node_modules/lodash/_basePickBy.js +30 -0
  425. package/cli/node_modules/lodash/_baseProperty.js +14 -0
  426. package/cli/node_modules/lodash/_basePropertyDeep.js +16 -0
  427. package/cli/node_modules/lodash/_basePropertyOf.js +14 -0
  428. package/cli/node_modules/lodash/_basePullAll.js +51 -0
  429. package/cli/node_modules/lodash/_basePullAt.js +37 -0
  430. package/cli/node_modules/lodash/_baseRandom.js +18 -0
  431. package/cli/node_modules/lodash/_baseRange.js +28 -0
  432. package/cli/node_modules/lodash/_baseReduce.js +23 -0
  433. package/cli/node_modules/lodash/_baseRepeat.js +35 -0
  434. package/cli/node_modules/lodash/_baseRest.js +17 -0
  435. package/cli/node_modules/lodash/_baseSample.js +15 -0
  436. package/cli/node_modules/lodash/_baseSampleSize.js +18 -0
  437. package/cli/node_modules/lodash/_baseSet.js +51 -0
  438. package/cli/node_modules/lodash/_baseSetData.js +17 -0
  439. package/cli/node_modules/lodash/_baseSetToString.js +22 -0
  440. package/cli/node_modules/lodash/_baseShuffle.js +15 -0
  441. package/cli/node_modules/lodash/_baseSlice.js +31 -0
  442. package/cli/node_modules/lodash/_baseSome.js +22 -0
  443. package/cli/node_modules/lodash/_baseSortBy.js +21 -0
  444. package/cli/node_modules/lodash/_baseSortedIndex.js +42 -0
  445. package/cli/node_modules/lodash/_baseSortedIndexBy.js +67 -0
  446. package/cli/node_modules/lodash/_baseSortedUniq.js +30 -0
  447. package/cli/node_modules/lodash/_baseSum.js +24 -0
  448. package/cli/node_modules/lodash/_baseTimes.js +20 -0
  449. package/cli/node_modules/lodash/_baseToNumber.js +24 -0
  450. package/cli/node_modules/lodash/_baseToPairs.js +18 -0
  451. package/cli/node_modules/lodash/_baseToString.js +37 -0
  452. package/cli/node_modules/lodash/_baseTrim.js +19 -0
  453. package/cli/node_modules/lodash/_baseUnary.js +14 -0
  454. package/cli/node_modules/lodash/_baseUniq.js +72 -0
  455. package/cli/node_modules/lodash/_baseUnset.js +20 -0
  456. package/cli/node_modules/lodash/_baseUpdate.js +18 -0
  457. package/cli/node_modules/lodash/_baseValues.js +19 -0
  458. package/cli/node_modules/lodash/_baseWhile.js +26 -0
  459. package/cli/node_modules/lodash/_baseWrapperValue.js +25 -0
  460. package/cli/node_modules/lodash/_baseXor.js +36 -0
  461. package/cli/node_modules/lodash/_baseZipObject.js +23 -0
  462. package/cli/node_modules/lodash/_cacheHas.js +13 -0
  463. package/cli/node_modules/lodash/_castArrayLikeObject.js +14 -0
  464. package/cli/node_modules/lodash/_castFunction.js +14 -0
  465. package/cli/node_modules/lodash/_castPath.js +21 -0
  466. package/cli/node_modules/lodash/_castRest.js +14 -0
  467. package/cli/node_modules/lodash/_castSlice.js +18 -0
  468. package/cli/node_modules/lodash/_charsEndIndex.js +19 -0
  469. package/cli/node_modules/lodash/_charsStartIndex.js +20 -0
  470. package/cli/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  471. package/cli/node_modules/lodash/_cloneBuffer.js +35 -0
  472. package/cli/node_modules/lodash/_cloneDataView.js +16 -0
  473. package/cli/node_modules/lodash/_cloneRegExp.js +17 -0
  474. package/cli/node_modules/lodash/_cloneSymbol.js +18 -0
  475. package/cli/node_modules/lodash/_cloneTypedArray.js +16 -0
  476. package/cli/node_modules/lodash/_compareAscending.js +41 -0
  477. package/cli/node_modules/lodash/_compareMultiple.js +44 -0
  478. package/cli/node_modules/lodash/_composeArgs.js +39 -0
  479. package/cli/node_modules/lodash/_composeArgsRight.js +41 -0
  480. package/cli/node_modules/lodash/_copyArray.js +20 -0
  481. package/cli/node_modules/lodash/_copyObject.js +40 -0
  482. package/cli/node_modules/lodash/_copySymbols.js +16 -0
  483. package/cli/node_modules/lodash/_copySymbolsIn.js +16 -0
  484. package/cli/node_modules/lodash/_coreJsData.js +6 -0
  485. package/cli/node_modules/lodash/_countHolders.js +21 -0
  486. package/cli/node_modules/lodash/_createAggregator.js +23 -0
  487. package/cli/node_modules/lodash/_createAssigner.js +37 -0
  488. package/cli/node_modules/lodash/_createBaseEach.js +32 -0
  489. package/cli/node_modules/lodash/_createBaseFor.js +25 -0
  490. package/cli/node_modules/lodash/_createBind.js +28 -0
  491. package/cli/node_modules/lodash/_createCaseFirst.js +33 -0
  492. package/cli/node_modules/lodash/_createCompounder.js +24 -0
  493. package/cli/node_modules/lodash/_createCtor.js +37 -0
  494. package/cli/node_modules/lodash/_createCurry.js +46 -0
  495. package/cli/node_modules/lodash/_createFind.js +25 -0
  496. package/cli/node_modules/lodash/_createFlow.js +78 -0
  497. package/cli/node_modules/lodash/_createHybrid.js +92 -0
  498. package/cli/node_modules/lodash/_createInverter.js +17 -0
  499. package/cli/node_modules/lodash/_createMathOperation.js +38 -0
  500. package/cli/node_modules/lodash/_createOver.js +27 -0
  501. package/cli/node_modules/lodash/_createPadding.js +33 -0
  502. package/cli/node_modules/lodash/_createPartial.js +43 -0
  503. package/cli/node_modules/lodash/_createRange.js +30 -0
  504. package/cli/node_modules/lodash/_createRecurry.js +56 -0
  505. package/cli/node_modules/lodash/_createRelationalOperation.js +20 -0
  506. package/cli/node_modules/lodash/_createRound.js +35 -0
  507. package/cli/node_modules/lodash/_createSet.js +19 -0
  508. package/cli/node_modules/lodash/_createToPairs.js +30 -0
  509. package/cli/node_modules/lodash/_createWrap.js +106 -0
  510. package/cli/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
  511. package/cli/node_modules/lodash/_customDefaultsMerge.js +28 -0
  512. package/cli/node_modules/lodash/_customOmitClone.js +16 -0
  513. package/cli/node_modules/lodash/_deburrLetter.js +71 -0
  514. package/cli/node_modules/lodash/_defineProperty.js +11 -0
  515. package/cli/node_modules/lodash/_equalArrays.js +84 -0
  516. package/cli/node_modules/lodash/_equalByTag.js +112 -0
  517. package/cli/node_modules/lodash/_equalObjects.js +90 -0
  518. package/cli/node_modules/lodash/_escapeHtmlChar.js +21 -0
  519. package/cli/node_modules/lodash/_escapeStringChar.js +22 -0
  520. package/cli/node_modules/lodash/_flatRest.js +16 -0
  521. package/cli/node_modules/lodash/_freeGlobal.js +4 -0
  522. package/cli/node_modules/lodash/_getAllKeys.js +16 -0
  523. package/cli/node_modules/lodash/_getAllKeysIn.js +17 -0
  524. package/cli/node_modules/lodash/_getData.js +15 -0
  525. package/cli/node_modules/lodash/_getFuncName.js +31 -0
  526. package/cli/node_modules/lodash/_getHolder.js +13 -0
  527. package/cli/node_modules/lodash/_getMapData.js +18 -0
  528. package/cli/node_modules/lodash/_getMatchData.js +24 -0
  529. package/cli/node_modules/lodash/_getNative.js +17 -0
  530. package/cli/node_modules/lodash/_getPrototype.js +6 -0
  531. package/cli/node_modules/lodash/_getRawTag.js +46 -0
  532. package/cli/node_modules/lodash/_getSymbols.js +30 -0
  533. package/cli/node_modules/lodash/_getSymbolsIn.js +25 -0
  534. package/cli/node_modules/lodash/_getTag.js +58 -0
  535. package/cli/node_modules/lodash/_getValue.js +13 -0
  536. package/cli/node_modules/lodash/_getView.js +33 -0
  537. package/cli/node_modules/lodash/_getWrapDetails.js +17 -0
  538. package/cli/node_modules/lodash/_hasPath.js +39 -0
  539. package/cli/node_modules/lodash/_hasUnicode.js +26 -0
  540. package/cli/node_modules/lodash/_hasUnicodeWord.js +15 -0
  541. package/cli/node_modules/lodash/_hashClear.js +15 -0
  542. package/cli/node_modules/lodash/_hashDelete.js +17 -0
  543. package/cli/node_modules/lodash/_hashGet.js +30 -0
  544. package/cli/node_modules/lodash/_hashHas.js +23 -0
  545. package/cli/node_modules/lodash/_hashSet.js +23 -0
  546. package/cli/node_modules/lodash/_initCloneArray.js +26 -0
  547. package/cli/node_modules/lodash/_initCloneByTag.js +77 -0
  548. package/cli/node_modules/lodash/_initCloneObject.js +18 -0
  549. package/cli/node_modules/lodash/_insertWrapDetails.js +23 -0
  550. package/cli/node_modules/lodash/_isFlattenable.js +20 -0
  551. package/cli/node_modules/lodash/_isIndex.js +25 -0
  552. package/cli/node_modules/lodash/_isIterateeCall.js +30 -0
  553. package/cli/node_modules/lodash/_isKey.js +29 -0
  554. package/cli/node_modules/lodash/_isKeyable.js +15 -0
  555. package/cli/node_modules/lodash/_isLaziable.js +28 -0
  556. package/cli/node_modules/lodash/_isMaskable.js +14 -0
  557. package/cli/node_modules/lodash/_isMasked.js +20 -0
  558. package/cli/node_modules/lodash/_isPrototype.js +18 -0
  559. package/cli/node_modules/lodash/_isStrictComparable.js +15 -0
  560. package/cli/node_modules/lodash/_iteratorToArray.js +18 -0
  561. package/cli/node_modules/lodash/_lazyClone.js +23 -0
  562. package/cli/node_modules/lodash/_lazyReverse.js +23 -0
  563. package/cli/node_modules/lodash/_lazyValue.js +69 -0
  564. package/cli/node_modules/lodash/_listCacheClear.js +13 -0
  565. package/cli/node_modules/lodash/_listCacheDelete.js +35 -0
  566. package/cli/node_modules/lodash/_listCacheGet.js +19 -0
  567. package/cli/node_modules/lodash/_listCacheHas.js +16 -0
  568. package/cli/node_modules/lodash/_listCacheSet.js +26 -0
  569. package/cli/node_modules/lodash/_mapCacheClear.js +21 -0
  570. package/cli/node_modules/lodash/_mapCacheDelete.js +18 -0
  571. package/cli/node_modules/lodash/_mapCacheGet.js +16 -0
  572. package/cli/node_modules/lodash/_mapCacheHas.js +16 -0
  573. package/cli/node_modules/lodash/_mapCacheSet.js +22 -0
  574. package/cli/node_modules/lodash/_mapToArray.js +18 -0
  575. package/cli/node_modules/lodash/_matchesStrictComparable.js +20 -0
  576. package/cli/node_modules/lodash/_memoizeCapped.js +26 -0
  577. package/cli/node_modules/lodash/_mergeData.js +90 -0
  578. package/cli/node_modules/lodash/_metaMap.js +6 -0
  579. package/cli/node_modules/lodash/_nativeCreate.js +6 -0
  580. package/cli/node_modules/lodash/_nativeKeys.js +6 -0
  581. package/cli/node_modules/lodash/_nativeKeysIn.js +20 -0
  582. package/cli/node_modules/lodash/_nodeUtil.js +30 -0
  583. package/cli/node_modules/lodash/_objectToString.js +22 -0
  584. package/cli/node_modules/lodash/_overArg.js +15 -0
  585. package/cli/node_modules/lodash/_overRest.js +36 -0
  586. package/cli/node_modules/lodash/_parent.js +16 -0
  587. package/cli/node_modules/lodash/_reEscape.js +4 -0
  588. package/cli/node_modules/lodash/_reEvaluate.js +4 -0
  589. package/cli/node_modules/lodash/_reInterpolate.js +4 -0
  590. package/cli/node_modules/lodash/_realNames.js +4 -0
  591. package/cli/node_modules/lodash/_reorder.js +29 -0
  592. package/cli/node_modules/lodash/_replaceHolders.js +29 -0
  593. package/cli/node_modules/lodash/_root.js +9 -0
  594. package/cli/node_modules/lodash/_safeGet.js +21 -0
  595. package/cli/node_modules/lodash/_setCacheAdd.js +19 -0
  596. package/cli/node_modules/lodash/_setCacheHas.js +14 -0
  597. package/cli/node_modules/lodash/_setData.js +20 -0
  598. package/cli/node_modules/lodash/_setToArray.js +18 -0
  599. package/cli/node_modules/lodash/_setToPairs.js +18 -0
  600. package/cli/node_modules/lodash/_setToString.js +14 -0
  601. package/cli/node_modules/lodash/_setWrapToString.js +21 -0
  602. package/cli/node_modules/lodash/_shortOut.js +37 -0
  603. package/cli/node_modules/lodash/_shuffleSelf.js +28 -0
  604. package/cli/node_modules/lodash/_stackClear.js +15 -0
  605. package/cli/node_modules/lodash/_stackDelete.js +18 -0
  606. package/cli/node_modules/lodash/_stackGet.js +14 -0
  607. package/cli/node_modules/lodash/_stackHas.js +14 -0
  608. package/cli/node_modules/lodash/_stackSet.js +34 -0
  609. package/cli/node_modules/lodash/_strictIndexOf.js +23 -0
  610. package/cli/node_modules/lodash/_strictLastIndexOf.js +21 -0
  611. package/cli/node_modules/lodash/_stringSize.js +18 -0
  612. package/cli/node_modules/lodash/_stringToArray.js +18 -0
  613. package/cli/node_modules/lodash/_stringToPath.js +27 -0
  614. package/cli/node_modules/lodash/_toKey.js +21 -0
  615. package/cli/node_modules/lodash/_toSource.js +26 -0
  616. package/cli/node_modules/lodash/_trimmedEndIndex.js +19 -0
  617. package/cli/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  618. package/cli/node_modules/lodash/_unicodeSize.js +44 -0
  619. package/cli/node_modules/lodash/_unicodeToArray.js +40 -0
  620. package/cli/node_modules/lodash/_unicodeWords.js +69 -0
  621. package/cli/node_modules/lodash/_updateWrapDetails.js +46 -0
  622. package/cli/node_modules/lodash/_wrapperClone.js +23 -0
  623. package/cli/node_modules/lodash/add.js +22 -0
  624. package/cli/node_modules/lodash/after.js +42 -0
  625. package/cli/node_modules/lodash/array.js +67 -0
  626. package/cli/node_modules/lodash/ary.js +29 -0
  627. package/cli/node_modules/lodash/assign.js +58 -0
  628. package/cli/node_modules/lodash/assignIn.js +40 -0
  629. package/cli/node_modules/lodash/assignInWith.js +38 -0
  630. package/cli/node_modules/lodash/assignWith.js +37 -0
  631. package/cli/node_modules/lodash/at.js +23 -0
  632. package/cli/node_modules/lodash/attempt.js +35 -0
  633. package/cli/node_modules/lodash/before.js +40 -0
  634. package/cli/node_modules/lodash/bind.js +57 -0
  635. package/cli/node_modules/lodash/bindAll.js +41 -0
  636. package/cli/node_modules/lodash/bindKey.js +68 -0
  637. package/cli/node_modules/lodash/camelCase.js +29 -0
  638. package/cli/node_modules/lodash/capitalize.js +23 -0
  639. package/cli/node_modules/lodash/castArray.js +44 -0
  640. package/cli/node_modules/lodash/ceil.js +26 -0
  641. package/cli/node_modules/lodash/chain.js +38 -0
  642. package/cli/node_modules/lodash/chunk.js +50 -0
  643. package/cli/node_modules/lodash/clamp.js +39 -0
  644. package/cli/node_modules/lodash/clone.js +36 -0
  645. package/cli/node_modules/lodash/cloneDeep.js +29 -0
  646. package/cli/node_modules/lodash/cloneDeepWith.js +40 -0
  647. package/cli/node_modules/lodash/cloneWith.js +42 -0
  648. package/cli/node_modules/lodash/collection.js +30 -0
  649. package/cli/node_modules/lodash/commit.js +33 -0
  650. package/cli/node_modules/lodash/compact.js +31 -0
  651. package/cli/node_modules/lodash/concat.js +43 -0
  652. package/cli/node_modules/lodash/cond.js +60 -0
  653. package/cli/node_modules/lodash/conforms.js +35 -0
  654. package/cli/node_modules/lodash/conformsTo.js +32 -0
  655. package/cli/node_modules/lodash/constant.js +26 -0
  656. package/cli/node_modules/lodash/core.js +3877 -0
  657. package/cli/node_modules/lodash/core.min.js +29 -0
  658. package/cli/node_modules/lodash/countBy.js +40 -0
  659. package/cli/node_modules/lodash/create.js +43 -0
  660. package/cli/node_modules/lodash/curry.js +57 -0
  661. package/cli/node_modules/lodash/curryRight.js +54 -0
  662. package/cli/node_modules/lodash/date.js +3 -0
  663. package/cli/node_modules/lodash/debounce.js +191 -0
  664. package/cli/node_modules/lodash/deburr.js +45 -0
  665. package/cli/node_modules/lodash/defaultTo.js +25 -0
  666. package/cli/node_modules/lodash/defaults.js +64 -0
  667. package/cli/node_modules/lodash/defaultsDeep.js +30 -0
  668. package/cli/node_modules/lodash/defer.js +26 -0
  669. package/cli/node_modules/lodash/delay.js +28 -0
  670. package/cli/node_modules/lodash/difference.js +33 -0
  671. package/cli/node_modules/lodash/differenceBy.js +44 -0
  672. package/cli/node_modules/lodash/differenceWith.js +40 -0
  673. package/cli/node_modules/lodash/divide.js +22 -0
  674. package/cli/node_modules/lodash/drop.js +38 -0
  675. package/cli/node_modules/lodash/dropRight.js +39 -0
  676. package/cli/node_modules/lodash/dropRightWhile.js +45 -0
  677. package/cli/node_modules/lodash/dropWhile.js +45 -0
  678. package/cli/node_modules/lodash/each.js +1 -0
  679. package/cli/node_modules/lodash/eachRight.js +1 -0
  680. package/cli/node_modules/lodash/endsWith.js +43 -0
  681. package/cli/node_modules/lodash/entries.js +1 -0
  682. package/cli/node_modules/lodash/entriesIn.js +1 -0
  683. package/cli/node_modules/lodash/eq.js +37 -0
  684. package/cli/node_modules/lodash/escape.js +43 -0
  685. package/cli/node_modules/lodash/escapeRegExp.js +32 -0
  686. package/cli/node_modules/lodash/every.js +56 -0
  687. package/cli/node_modules/lodash/extend.js +1 -0
  688. package/cli/node_modules/lodash/extendWith.js +1 -0
  689. package/cli/node_modules/lodash/fill.js +45 -0
  690. package/cli/node_modules/lodash/filter.js +52 -0
  691. package/cli/node_modules/lodash/find.js +42 -0
  692. package/cli/node_modules/lodash/findIndex.js +55 -0
  693. package/cli/node_modules/lodash/findKey.js +44 -0
  694. package/cli/node_modules/lodash/findLast.js +25 -0
  695. package/cli/node_modules/lodash/findLastIndex.js +59 -0
  696. package/cli/node_modules/lodash/findLastKey.js +44 -0
  697. package/cli/node_modules/lodash/first.js +1 -0
  698. package/cli/node_modules/lodash/flake.lock +40 -0
  699. package/cli/node_modules/lodash/flake.nix +20 -0
  700. package/cli/node_modules/lodash/flatMap.js +29 -0
  701. package/cli/node_modules/lodash/flatMapDeep.js +31 -0
  702. package/cli/node_modules/lodash/flatMapDepth.js +31 -0
  703. package/cli/node_modules/lodash/flatten.js +22 -0
  704. package/cli/node_modules/lodash/flattenDeep.js +25 -0
  705. package/cli/node_modules/lodash/flattenDepth.js +33 -0
  706. package/cli/node_modules/lodash/flip.js +28 -0
  707. package/cli/node_modules/lodash/floor.js +26 -0
  708. package/cli/node_modules/lodash/flow.js +27 -0
  709. package/cli/node_modules/lodash/flowRight.js +26 -0
  710. package/cli/node_modules/lodash/forEach.js +41 -0
  711. package/cli/node_modules/lodash/forEachRight.js +31 -0
  712. package/cli/node_modules/lodash/forIn.js +39 -0
  713. package/cli/node_modules/lodash/forInRight.js +37 -0
  714. package/cli/node_modules/lodash/forOwn.js +36 -0
  715. package/cli/node_modules/lodash/forOwnRight.js +34 -0
  716. package/cli/node_modules/lodash/fp/F.js +1 -0
  717. package/cli/node_modules/lodash/fp/T.js +1 -0
  718. package/cli/node_modules/lodash/fp/__.js +1 -0
  719. package/cli/node_modules/lodash/fp/_baseConvert.js +569 -0
  720. package/cli/node_modules/lodash/fp/_convertBrowser.js +18 -0
  721. package/cli/node_modules/lodash/fp/_falseOptions.js +7 -0
  722. package/cli/node_modules/lodash/fp/_mapping.js +358 -0
  723. package/cli/node_modules/lodash/fp/_util.js +16 -0
  724. package/cli/node_modules/lodash/fp/add.js +5 -0
  725. package/cli/node_modules/lodash/fp/after.js +5 -0
  726. package/cli/node_modules/lodash/fp/all.js +1 -0
  727. package/cli/node_modules/lodash/fp/allPass.js +1 -0
  728. package/cli/node_modules/lodash/fp/always.js +1 -0
  729. package/cli/node_modules/lodash/fp/any.js +1 -0
  730. package/cli/node_modules/lodash/fp/anyPass.js +1 -0
  731. package/cli/node_modules/lodash/fp/apply.js +1 -0
  732. package/cli/node_modules/lodash/fp/array.js +2 -0
  733. package/cli/node_modules/lodash/fp/ary.js +5 -0
  734. package/cli/node_modules/lodash/fp/assign.js +5 -0
  735. package/cli/node_modules/lodash/fp/assignAll.js +5 -0
  736. package/cli/node_modules/lodash/fp/assignAllWith.js +5 -0
  737. package/cli/node_modules/lodash/fp/assignIn.js +5 -0
  738. package/cli/node_modules/lodash/fp/assignInAll.js +5 -0
  739. package/cli/node_modules/lodash/fp/assignInAllWith.js +5 -0
  740. package/cli/node_modules/lodash/fp/assignInWith.js +5 -0
  741. package/cli/node_modules/lodash/fp/assignWith.js +5 -0
  742. package/cli/node_modules/lodash/fp/assoc.js +1 -0
  743. package/cli/node_modules/lodash/fp/assocPath.js +1 -0
  744. package/cli/node_modules/lodash/fp/at.js +5 -0
  745. package/cli/node_modules/lodash/fp/attempt.js +5 -0
  746. package/cli/node_modules/lodash/fp/before.js +5 -0
  747. package/cli/node_modules/lodash/fp/bind.js +5 -0
  748. package/cli/node_modules/lodash/fp/bindAll.js +5 -0
  749. package/cli/node_modules/lodash/fp/bindKey.js +5 -0
  750. package/cli/node_modules/lodash/fp/camelCase.js +5 -0
  751. package/cli/node_modules/lodash/fp/capitalize.js +5 -0
  752. package/cli/node_modules/lodash/fp/castArray.js +5 -0
  753. package/cli/node_modules/lodash/fp/ceil.js +5 -0
  754. package/cli/node_modules/lodash/fp/chain.js +5 -0
  755. package/cli/node_modules/lodash/fp/chunk.js +5 -0
  756. package/cli/node_modules/lodash/fp/clamp.js +5 -0
  757. package/cli/node_modules/lodash/fp/clone.js +5 -0
  758. package/cli/node_modules/lodash/fp/cloneDeep.js +5 -0
  759. package/cli/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  760. package/cli/node_modules/lodash/fp/cloneWith.js +5 -0
  761. package/cli/node_modules/lodash/fp/collection.js +2 -0
  762. package/cli/node_modules/lodash/fp/commit.js +5 -0
  763. package/cli/node_modules/lodash/fp/compact.js +5 -0
  764. package/cli/node_modules/lodash/fp/complement.js +1 -0
  765. package/cli/node_modules/lodash/fp/compose.js +1 -0
  766. package/cli/node_modules/lodash/fp/concat.js +5 -0
  767. package/cli/node_modules/lodash/fp/cond.js +5 -0
  768. package/cli/node_modules/lodash/fp/conforms.js +1 -0
  769. package/cli/node_modules/lodash/fp/conformsTo.js +5 -0
  770. package/cli/node_modules/lodash/fp/constant.js +5 -0
  771. package/cli/node_modules/lodash/fp/contains.js +1 -0
  772. package/cli/node_modules/lodash/fp/convert.js +18 -0
  773. package/cli/node_modules/lodash/fp/countBy.js +5 -0
  774. package/cli/node_modules/lodash/fp/create.js +5 -0
  775. package/cli/node_modules/lodash/fp/curry.js +5 -0
  776. package/cli/node_modules/lodash/fp/curryN.js +5 -0
  777. package/cli/node_modules/lodash/fp/curryRight.js +5 -0
  778. package/cli/node_modules/lodash/fp/curryRightN.js +5 -0
  779. package/cli/node_modules/lodash/fp/date.js +2 -0
  780. package/cli/node_modules/lodash/fp/debounce.js +5 -0
  781. package/cli/node_modules/lodash/fp/deburr.js +5 -0
  782. package/cli/node_modules/lodash/fp/defaultTo.js +5 -0
  783. package/cli/node_modules/lodash/fp/defaults.js +5 -0
  784. package/cli/node_modules/lodash/fp/defaultsAll.js +5 -0
  785. package/cli/node_modules/lodash/fp/defaultsDeep.js +5 -0
  786. package/cli/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  787. package/cli/node_modules/lodash/fp/defer.js +5 -0
  788. package/cli/node_modules/lodash/fp/delay.js +5 -0
  789. package/cli/node_modules/lodash/fp/difference.js +5 -0
  790. package/cli/node_modules/lodash/fp/differenceBy.js +5 -0
  791. package/cli/node_modules/lodash/fp/differenceWith.js +5 -0
  792. package/cli/node_modules/lodash/fp/dissoc.js +1 -0
  793. package/cli/node_modules/lodash/fp/dissocPath.js +1 -0
  794. package/cli/node_modules/lodash/fp/divide.js +5 -0
  795. package/cli/node_modules/lodash/fp/drop.js +5 -0
  796. package/cli/node_modules/lodash/fp/dropLast.js +1 -0
  797. package/cli/node_modules/lodash/fp/dropLastWhile.js +1 -0
  798. package/cli/node_modules/lodash/fp/dropRight.js +5 -0
  799. package/cli/node_modules/lodash/fp/dropRightWhile.js +5 -0
  800. package/cli/node_modules/lodash/fp/dropWhile.js +5 -0
  801. package/cli/node_modules/lodash/fp/each.js +1 -0
  802. package/cli/node_modules/lodash/fp/eachRight.js +1 -0
  803. package/cli/node_modules/lodash/fp/endsWith.js +5 -0
  804. package/cli/node_modules/lodash/fp/entries.js +1 -0
  805. package/cli/node_modules/lodash/fp/entriesIn.js +1 -0
  806. package/cli/node_modules/lodash/fp/eq.js +5 -0
  807. package/cli/node_modules/lodash/fp/equals.js +1 -0
  808. package/cli/node_modules/lodash/fp/escape.js +5 -0
  809. package/cli/node_modules/lodash/fp/escapeRegExp.js +5 -0
  810. package/cli/node_modules/lodash/fp/every.js +5 -0
  811. package/cli/node_modules/lodash/fp/extend.js +1 -0
  812. package/cli/node_modules/lodash/fp/extendAll.js +1 -0
  813. package/cli/node_modules/lodash/fp/extendAllWith.js +1 -0
  814. package/cli/node_modules/lodash/fp/extendWith.js +1 -0
  815. package/cli/node_modules/lodash/fp/fill.js +5 -0
  816. package/cli/node_modules/lodash/fp/filter.js +5 -0
  817. package/cli/node_modules/lodash/fp/find.js +5 -0
  818. package/cli/node_modules/lodash/fp/findFrom.js +5 -0
  819. package/cli/node_modules/lodash/fp/findIndex.js +5 -0
  820. package/cli/node_modules/lodash/fp/findIndexFrom.js +5 -0
  821. package/cli/node_modules/lodash/fp/findKey.js +5 -0
  822. package/cli/node_modules/lodash/fp/findLast.js +5 -0
  823. package/cli/node_modules/lodash/fp/findLastFrom.js +5 -0
  824. package/cli/node_modules/lodash/fp/findLastIndex.js +5 -0
  825. package/cli/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  826. package/cli/node_modules/lodash/fp/findLastKey.js +5 -0
  827. package/cli/node_modules/lodash/fp/first.js +1 -0
  828. package/cli/node_modules/lodash/fp/flatMap.js +5 -0
  829. package/cli/node_modules/lodash/fp/flatMapDeep.js +5 -0
  830. package/cli/node_modules/lodash/fp/flatMapDepth.js +5 -0
  831. package/cli/node_modules/lodash/fp/flatten.js +5 -0
  832. package/cli/node_modules/lodash/fp/flattenDeep.js +5 -0
  833. package/cli/node_modules/lodash/fp/flattenDepth.js +5 -0
  834. package/cli/node_modules/lodash/fp/flip.js +5 -0
  835. package/cli/node_modules/lodash/fp/floor.js +5 -0
  836. package/cli/node_modules/lodash/fp/flow.js +5 -0
  837. package/cli/node_modules/lodash/fp/flowRight.js +5 -0
  838. package/cli/node_modules/lodash/fp/forEach.js +5 -0
  839. package/cli/node_modules/lodash/fp/forEachRight.js +5 -0
  840. package/cli/node_modules/lodash/fp/forIn.js +5 -0
  841. package/cli/node_modules/lodash/fp/forInRight.js +5 -0
  842. package/cli/node_modules/lodash/fp/forOwn.js +5 -0
  843. package/cli/node_modules/lodash/fp/forOwnRight.js +5 -0
  844. package/cli/node_modules/lodash/fp/fromPairs.js +5 -0
  845. package/cli/node_modules/lodash/fp/function.js +2 -0
  846. package/cli/node_modules/lodash/fp/functions.js +5 -0
  847. package/cli/node_modules/lodash/fp/functionsIn.js +5 -0
  848. package/cli/node_modules/lodash/fp/get.js +5 -0
  849. package/cli/node_modules/lodash/fp/getOr.js +5 -0
  850. package/cli/node_modules/lodash/fp/groupBy.js +5 -0
  851. package/cli/node_modules/lodash/fp/gt.js +5 -0
  852. package/cli/node_modules/lodash/fp/gte.js +5 -0
  853. package/cli/node_modules/lodash/fp/has.js +5 -0
  854. package/cli/node_modules/lodash/fp/hasIn.js +5 -0
  855. package/cli/node_modules/lodash/fp/head.js +5 -0
  856. package/cli/node_modules/lodash/fp/identical.js +1 -0
  857. package/cli/node_modules/lodash/fp/identity.js +5 -0
  858. package/cli/node_modules/lodash/fp/inRange.js +5 -0
  859. package/cli/node_modules/lodash/fp/includes.js +5 -0
  860. package/cli/node_modules/lodash/fp/includesFrom.js +5 -0
  861. package/cli/node_modules/lodash/fp/indexBy.js +1 -0
  862. package/cli/node_modules/lodash/fp/indexOf.js +5 -0
  863. package/cli/node_modules/lodash/fp/indexOfFrom.js +5 -0
  864. package/cli/node_modules/lodash/fp/init.js +1 -0
  865. package/cli/node_modules/lodash/fp/initial.js +5 -0
  866. package/cli/node_modules/lodash/fp/intersection.js +5 -0
  867. package/cli/node_modules/lodash/fp/intersectionBy.js +5 -0
  868. package/cli/node_modules/lodash/fp/intersectionWith.js +5 -0
  869. package/cli/node_modules/lodash/fp/invert.js +5 -0
  870. package/cli/node_modules/lodash/fp/invertBy.js +5 -0
  871. package/cli/node_modules/lodash/fp/invertObj.js +1 -0
  872. package/cli/node_modules/lodash/fp/invoke.js +5 -0
  873. package/cli/node_modules/lodash/fp/invokeArgs.js +5 -0
  874. package/cli/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  875. package/cli/node_modules/lodash/fp/invokeMap.js +5 -0
  876. package/cli/node_modules/lodash/fp/isArguments.js +5 -0
  877. package/cli/node_modules/lodash/fp/isArray.js +5 -0
  878. package/cli/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  879. package/cli/node_modules/lodash/fp/isArrayLike.js +5 -0
  880. package/cli/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  881. package/cli/node_modules/lodash/fp/isBoolean.js +5 -0
  882. package/cli/node_modules/lodash/fp/isBuffer.js +5 -0
  883. package/cli/node_modules/lodash/fp/isDate.js +5 -0
  884. package/cli/node_modules/lodash/fp/isElement.js +5 -0
  885. package/cli/node_modules/lodash/fp/isEmpty.js +5 -0
  886. package/cli/node_modules/lodash/fp/isEqual.js +5 -0
  887. package/cli/node_modules/lodash/fp/isEqualWith.js +5 -0
  888. package/cli/node_modules/lodash/fp/isError.js +5 -0
  889. package/cli/node_modules/lodash/fp/isFinite.js +5 -0
  890. package/cli/node_modules/lodash/fp/isFunction.js +5 -0
  891. package/cli/node_modules/lodash/fp/isInteger.js +5 -0
  892. package/cli/node_modules/lodash/fp/isLength.js +5 -0
  893. package/cli/node_modules/lodash/fp/isMap.js +5 -0
  894. package/cli/node_modules/lodash/fp/isMatch.js +5 -0
  895. package/cli/node_modules/lodash/fp/isMatchWith.js +5 -0
  896. package/cli/node_modules/lodash/fp/isNaN.js +5 -0
  897. package/cli/node_modules/lodash/fp/isNative.js +5 -0
  898. package/cli/node_modules/lodash/fp/isNil.js +5 -0
  899. package/cli/node_modules/lodash/fp/isNull.js +5 -0
  900. package/cli/node_modules/lodash/fp/isNumber.js +5 -0
  901. package/cli/node_modules/lodash/fp/isObject.js +5 -0
  902. package/cli/node_modules/lodash/fp/isObjectLike.js +5 -0
  903. package/cli/node_modules/lodash/fp/isPlainObject.js +5 -0
  904. package/cli/node_modules/lodash/fp/isRegExp.js +5 -0
  905. package/cli/node_modules/lodash/fp/isSafeInteger.js +5 -0
  906. package/cli/node_modules/lodash/fp/isSet.js +5 -0
  907. package/cli/node_modules/lodash/fp/isString.js +5 -0
  908. package/cli/node_modules/lodash/fp/isSymbol.js +5 -0
  909. package/cli/node_modules/lodash/fp/isTypedArray.js +5 -0
  910. package/cli/node_modules/lodash/fp/isUndefined.js +5 -0
  911. package/cli/node_modules/lodash/fp/isWeakMap.js +5 -0
  912. package/cli/node_modules/lodash/fp/isWeakSet.js +5 -0
  913. package/cli/node_modules/lodash/fp/iteratee.js +5 -0
  914. package/cli/node_modules/lodash/fp/join.js +5 -0
  915. package/cli/node_modules/lodash/fp/juxt.js +1 -0
  916. package/cli/node_modules/lodash/fp/kebabCase.js +5 -0
  917. package/cli/node_modules/lodash/fp/keyBy.js +5 -0
  918. package/cli/node_modules/lodash/fp/keys.js +5 -0
  919. package/cli/node_modules/lodash/fp/keysIn.js +5 -0
  920. package/cli/node_modules/lodash/fp/lang.js +2 -0
  921. package/cli/node_modules/lodash/fp/last.js +5 -0
  922. package/cli/node_modules/lodash/fp/lastIndexOf.js +5 -0
  923. package/cli/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  924. package/cli/node_modules/lodash/fp/lowerCase.js +5 -0
  925. package/cli/node_modules/lodash/fp/lowerFirst.js +5 -0
  926. package/cli/node_modules/lodash/fp/lt.js +5 -0
  927. package/cli/node_modules/lodash/fp/lte.js +5 -0
  928. package/cli/node_modules/lodash/fp/map.js +5 -0
  929. package/cli/node_modules/lodash/fp/mapKeys.js +5 -0
  930. package/cli/node_modules/lodash/fp/mapValues.js +5 -0
  931. package/cli/node_modules/lodash/fp/matches.js +1 -0
  932. package/cli/node_modules/lodash/fp/matchesProperty.js +5 -0
  933. package/cli/node_modules/lodash/fp/math.js +2 -0
  934. package/cli/node_modules/lodash/fp/max.js +5 -0
  935. package/cli/node_modules/lodash/fp/maxBy.js +5 -0
  936. package/cli/node_modules/lodash/fp/mean.js +5 -0
  937. package/cli/node_modules/lodash/fp/meanBy.js +5 -0
  938. package/cli/node_modules/lodash/fp/memoize.js +5 -0
  939. package/cli/node_modules/lodash/fp/merge.js +5 -0
  940. package/cli/node_modules/lodash/fp/mergeAll.js +5 -0
  941. package/cli/node_modules/lodash/fp/mergeAllWith.js +5 -0
  942. package/cli/node_modules/lodash/fp/mergeWith.js +5 -0
  943. package/cli/node_modules/lodash/fp/method.js +5 -0
  944. package/cli/node_modules/lodash/fp/methodOf.js +5 -0
  945. package/cli/node_modules/lodash/fp/min.js +5 -0
  946. package/cli/node_modules/lodash/fp/minBy.js +5 -0
  947. package/cli/node_modules/lodash/fp/mixin.js +5 -0
  948. package/cli/node_modules/lodash/fp/multiply.js +5 -0
  949. package/cli/node_modules/lodash/fp/nAry.js +1 -0
  950. package/cli/node_modules/lodash/fp/negate.js +5 -0
  951. package/cli/node_modules/lodash/fp/next.js +5 -0
  952. package/cli/node_modules/lodash/fp/noop.js +5 -0
  953. package/cli/node_modules/lodash/fp/now.js +5 -0
  954. package/cli/node_modules/lodash/fp/nth.js +5 -0
  955. package/cli/node_modules/lodash/fp/nthArg.js +5 -0
  956. package/cli/node_modules/lodash/fp/number.js +2 -0
  957. package/cli/node_modules/lodash/fp/object.js +2 -0
  958. package/cli/node_modules/lodash/fp/omit.js +5 -0
  959. package/cli/node_modules/lodash/fp/omitAll.js +1 -0
  960. package/cli/node_modules/lodash/fp/omitBy.js +5 -0
  961. package/cli/node_modules/lodash/fp/once.js +5 -0
  962. package/cli/node_modules/lodash/fp/orderBy.js +5 -0
  963. package/cli/node_modules/lodash/fp/over.js +5 -0
  964. package/cli/node_modules/lodash/fp/overArgs.js +5 -0
  965. package/cli/node_modules/lodash/fp/overEvery.js +5 -0
  966. package/cli/node_modules/lodash/fp/overSome.js +5 -0
  967. package/cli/node_modules/lodash/fp/pad.js +5 -0
  968. package/cli/node_modules/lodash/fp/padChars.js +5 -0
  969. package/cli/node_modules/lodash/fp/padCharsEnd.js +5 -0
  970. package/cli/node_modules/lodash/fp/padCharsStart.js +5 -0
  971. package/cli/node_modules/lodash/fp/padEnd.js +5 -0
  972. package/cli/node_modules/lodash/fp/padStart.js +5 -0
  973. package/cli/node_modules/lodash/fp/parseInt.js +5 -0
  974. package/cli/node_modules/lodash/fp/partial.js +5 -0
  975. package/cli/node_modules/lodash/fp/partialRight.js +5 -0
  976. package/cli/node_modules/lodash/fp/partition.js +5 -0
  977. package/cli/node_modules/lodash/fp/path.js +1 -0
  978. package/cli/node_modules/lodash/fp/pathEq.js +1 -0
  979. package/cli/node_modules/lodash/fp/pathOr.js +1 -0
  980. package/cli/node_modules/lodash/fp/paths.js +1 -0
  981. package/cli/node_modules/lodash/fp/pick.js +5 -0
  982. package/cli/node_modules/lodash/fp/pickAll.js +1 -0
  983. package/cli/node_modules/lodash/fp/pickBy.js +5 -0
  984. package/cli/node_modules/lodash/fp/pipe.js +1 -0
  985. package/cli/node_modules/lodash/fp/placeholder.js +6 -0
  986. package/cli/node_modules/lodash/fp/plant.js +5 -0
  987. package/cli/node_modules/lodash/fp/pluck.js +1 -0
  988. package/cli/node_modules/lodash/fp/prop.js +1 -0
  989. package/cli/node_modules/lodash/fp/propEq.js +1 -0
  990. package/cli/node_modules/lodash/fp/propOr.js +1 -0
  991. package/cli/node_modules/lodash/fp/property.js +1 -0
  992. package/cli/node_modules/lodash/fp/propertyOf.js +5 -0
  993. package/cli/node_modules/lodash/fp/props.js +1 -0
  994. package/cli/node_modules/lodash/fp/pull.js +5 -0
  995. package/cli/node_modules/lodash/fp/pullAll.js +5 -0
  996. package/cli/node_modules/lodash/fp/pullAllBy.js +5 -0
  997. package/cli/node_modules/lodash/fp/pullAllWith.js +5 -0
  998. package/cli/node_modules/lodash/fp/pullAt.js +5 -0
  999. package/cli/node_modules/lodash/fp/random.js +5 -0
  1000. package/cli/node_modules/lodash/fp/range.js +5 -0
  1001. package/cli/node_modules/lodash/fp/rangeRight.js +5 -0
  1002. package/cli/node_modules/lodash/fp/rangeStep.js +5 -0
  1003. package/cli/node_modules/lodash/fp/rangeStepRight.js +5 -0
  1004. package/cli/node_modules/lodash/fp/rearg.js +5 -0
  1005. package/cli/node_modules/lodash/fp/reduce.js +5 -0
  1006. package/cli/node_modules/lodash/fp/reduceRight.js +5 -0
  1007. package/cli/node_modules/lodash/fp/reject.js +5 -0
  1008. package/cli/node_modules/lodash/fp/remove.js +5 -0
  1009. package/cli/node_modules/lodash/fp/repeat.js +5 -0
  1010. package/cli/node_modules/lodash/fp/replace.js +5 -0
  1011. package/cli/node_modules/lodash/fp/rest.js +5 -0
  1012. package/cli/node_modules/lodash/fp/restFrom.js +5 -0
  1013. package/cli/node_modules/lodash/fp/result.js +5 -0
  1014. package/cli/node_modules/lodash/fp/reverse.js +5 -0
  1015. package/cli/node_modules/lodash/fp/round.js +5 -0
  1016. package/cli/node_modules/lodash/fp/sample.js +5 -0
  1017. package/cli/node_modules/lodash/fp/sampleSize.js +5 -0
  1018. package/cli/node_modules/lodash/fp/seq.js +2 -0
  1019. package/cli/node_modules/lodash/fp/set.js +5 -0
  1020. package/cli/node_modules/lodash/fp/setWith.js +5 -0
  1021. package/cli/node_modules/lodash/fp/shuffle.js +5 -0
  1022. package/cli/node_modules/lodash/fp/size.js +5 -0
  1023. package/cli/node_modules/lodash/fp/slice.js +5 -0
  1024. package/cli/node_modules/lodash/fp/snakeCase.js +5 -0
  1025. package/cli/node_modules/lodash/fp/some.js +5 -0
  1026. package/cli/node_modules/lodash/fp/sortBy.js +5 -0
  1027. package/cli/node_modules/lodash/fp/sortedIndex.js +5 -0
  1028. package/cli/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  1029. package/cli/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  1030. package/cli/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  1031. package/cli/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  1032. package/cli/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  1033. package/cli/node_modules/lodash/fp/sortedUniq.js +5 -0
  1034. package/cli/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  1035. package/cli/node_modules/lodash/fp/split.js +5 -0
  1036. package/cli/node_modules/lodash/fp/spread.js +5 -0
  1037. package/cli/node_modules/lodash/fp/spreadFrom.js +5 -0
  1038. package/cli/node_modules/lodash/fp/startCase.js +5 -0
  1039. package/cli/node_modules/lodash/fp/startsWith.js +5 -0
  1040. package/cli/node_modules/lodash/fp/string.js +2 -0
  1041. package/cli/node_modules/lodash/fp/stubArray.js +5 -0
  1042. package/cli/node_modules/lodash/fp/stubFalse.js +5 -0
  1043. package/cli/node_modules/lodash/fp/stubObject.js +5 -0
  1044. package/cli/node_modules/lodash/fp/stubString.js +5 -0
  1045. package/cli/node_modules/lodash/fp/stubTrue.js +5 -0
  1046. package/cli/node_modules/lodash/fp/subtract.js +5 -0
  1047. package/cli/node_modules/lodash/fp/sum.js +5 -0
  1048. package/cli/node_modules/lodash/fp/sumBy.js +5 -0
  1049. package/cli/node_modules/lodash/fp/symmetricDifference.js +1 -0
  1050. package/cli/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  1051. package/cli/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  1052. package/cli/node_modules/lodash/fp/tail.js +5 -0
  1053. package/cli/node_modules/lodash/fp/take.js +5 -0
  1054. package/cli/node_modules/lodash/fp/takeLast.js +1 -0
  1055. package/cli/node_modules/lodash/fp/takeLastWhile.js +1 -0
  1056. package/cli/node_modules/lodash/fp/takeRight.js +5 -0
  1057. package/cli/node_modules/lodash/fp/takeRightWhile.js +5 -0
  1058. package/cli/node_modules/lodash/fp/takeWhile.js +5 -0
  1059. package/cli/node_modules/lodash/fp/tap.js +5 -0
  1060. package/cli/node_modules/lodash/fp/template.js +5 -0
  1061. package/cli/node_modules/lodash/fp/templateSettings.js +5 -0
  1062. package/cli/node_modules/lodash/fp/throttle.js +5 -0
  1063. package/cli/node_modules/lodash/fp/thru.js +5 -0
  1064. package/cli/node_modules/lodash/fp/times.js +5 -0
  1065. package/cli/node_modules/lodash/fp/toArray.js +5 -0
  1066. package/cli/node_modules/lodash/fp/toFinite.js +5 -0
  1067. package/cli/node_modules/lodash/fp/toInteger.js +5 -0
  1068. package/cli/node_modules/lodash/fp/toIterator.js +5 -0
  1069. package/cli/node_modules/lodash/fp/toJSON.js +5 -0
  1070. package/cli/node_modules/lodash/fp/toLength.js +5 -0
  1071. package/cli/node_modules/lodash/fp/toLower.js +5 -0
  1072. package/cli/node_modules/lodash/fp/toNumber.js +5 -0
  1073. package/cli/node_modules/lodash/fp/toPairs.js +5 -0
  1074. package/cli/node_modules/lodash/fp/toPairsIn.js +5 -0
  1075. package/cli/node_modules/lodash/fp/toPath.js +5 -0
  1076. package/cli/node_modules/lodash/fp/toPlainObject.js +5 -0
  1077. package/cli/node_modules/lodash/fp/toSafeInteger.js +5 -0
  1078. package/cli/node_modules/lodash/fp/toString.js +5 -0
  1079. package/cli/node_modules/lodash/fp/toUpper.js +5 -0
  1080. package/cli/node_modules/lodash/fp/transform.js +5 -0
  1081. package/cli/node_modules/lodash/fp/trim.js +5 -0
  1082. package/cli/node_modules/lodash/fp/trimChars.js +5 -0
  1083. package/cli/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  1084. package/cli/node_modules/lodash/fp/trimCharsStart.js +5 -0
  1085. package/cli/node_modules/lodash/fp/trimEnd.js +5 -0
  1086. package/cli/node_modules/lodash/fp/trimStart.js +5 -0
  1087. package/cli/node_modules/lodash/fp/truncate.js +5 -0
  1088. package/cli/node_modules/lodash/fp/unapply.js +1 -0
  1089. package/cli/node_modules/lodash/fp/unary.js +5 -0
  1090. package/cli/node_modules/lodash/fp/unescape.js +5 -0
  1091. package/cli/node_modules/lodash/fp/union.js +5 -0
  1092. package/cli/node_modules/lodash/fp/unionBy.js +5 -0
  1093. package/cli/node_modules/lodash/fp/unionWith.js +5 -0
  1094. package/cli/node_modules/lodash/fp/uniq.js +5 -0
  1095. package/cli/node_modules/lodash/fp/uniqBy.js +5 -0
  1096. package/cli/node_modules/lodash/fp/uniqWith.js +5 -0
  1097. package/cli/node_modules/lodash/fp/uniqueId.js +5 -0
  1098. package/cli/node_modules/lodash/fp/unnest.js +1 -0
  1099. package/cli/node_modules/lodash/fp/unset.js +5 -0
  1100. package/cli/node_modules/lodash/fp/unzip.js +5 -0
  1101. package/cli/node_modules/lodash/fp/unzipWith.js +5 -0
  1102. package/cli/node_modules/lodash/fp/update.js +5 -0
  1103. package/cli/node_modules/lodash/fp/updateWith.js +5 -0
  1104. package/cli/node_modules/lodash/fp/upperCase.js +5 -0
  1105. package/cli/node_modules/lodash/fp/upperFirst.js +5 -0
  1106. package/cli/node_modules/lodash/fp/useWith.js +1 -0
  1107. package/cli/node_modules/lodash/fp/util.js +2 -0
  1108. package/cli/node_modules/lodash/fp/value.js +5 -0
  1109. package/cli/node_modules/lodash/fp/valueOf.js +5 -0
  1110. package/cli/node_modules/lodash/fp/values.js +5 -0
  1111. package/cli/node_modules/lodash/fp/valuesIn.js +5 -0
  1112. package/cli/node_modules/lodash/fp/where.js +1 -0
  1113. package/cli/node_modules/lodash/fp/whereEq.js +1 -0
  1114. package/cli/node_modules/lodash/fp/without.js +5 -0
  1115. package/cli/node_modules/lodash/fp/words.js +5 -0
  1116. package/cli/node_modules/lodash/fp/wrap.js +5 -0
  1117. package/cli/node_modules/lodash/fp/wrapperAt.js +5 -0
  1118. package/cli/node_modules/lodash/fp/wrapperChain.js +5 -0
  1119. package/cli/node_modules/lodash/fp/wrapperLodash.js +5 -0
  1120. package/cli/node_modules/lodash/fp/wrapperReverse.js +5 -0
  1121. package/cli/node_modules/lodash/fp/wrapperValue.js +5 -0
  1122. package/cli/node_modules/lodash/fp/xor.js +5 -0
  1123. package/cli/node_modules/lodash/fp/xorBy.js +5 -0
  1124. package/cli/node_modules/lodash/fp/xorWith.js +5 -0
  1125. package/cli/node_modules/lodash/fp/zip.js +5 -0
  1126. package/cli/node_modules/lodash/fp/zipAll.js +5 -0
  1127. package/cli/node_modules/lodash/fp/zipObj.js +1 -0
  1128. package/cli/node_modules/lodash/fp/zipObject.js +5 -0
  1129. package/cli/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  1130. package/cli/node_modules/lodash/fp/zipWith.js +5 -0
  1131. package/cli/node_modules/lodash/fp.js +2 -0
  1132. package/cli/node_modules/lodash/fromPairs.js +28 -0
  1133. package/cli/node_modules/lodash/function.js +25 -0
  1134. package/cli/node_modules/lodash/functions.js +31 -0
  1135. package/cli/node_modules/lodash/functionsIn.js +31 -0
  1136. package/cli/node_modules/lodash/get.js +33 -0
  1137. package/cli/node_modules/lodash/groupBy.js +41 -0
  1138. package/cli/node_modules/lodash/gt.js +29 -0
  1139. package/cli/node_modules/lodash/gte.js +30 -0
  1140. package/cli/node_modules/lodash/has.js +35 -0
  1141. package/cli/node_modules/lodash/hasIn.js +34 -0
  1142. package/cli/node_modules/lodash/head.js +23 -0
  1143. package/cli/node_modules/lodash/identity.js +21 -0
  1144. package/cli/node_modules/lodash/inRange.js +55 -0
  1145. package/cli/node_modules/lodash/includes.js +53 -0
  1146. package/cli/node_modules/lodash/index.js +1 -0
  1147. package/cli/node_modules/lodash/indexOf.js +42 -0
  1148. package/cli/node_modules/lodash/initial.js +22 -0
  1149. package/cli/node_modules/lodash/intersection.js +30 -0
  1150. package/cli/node_modules/lodash/intersectionBy.js +45 -0
  1151. package/cli/node_modules/lodash/intersectionWith.js +41 -0
  1152. package/cli/node_modules/lodash/invert.js +42 -0
  1153. package/cli/node_modules/lodash/invertBy.js +56 -0
  1154. package/cli/node_modules/lodash/invoke.js +24 -0
  1155. package/cli/node_modules/lodash/invokeMap.js +41 -0
  1156. package/cli/node_modules/lodash/isArguments.js +36 -0
  1157. package/cli/node_modules/lodash/isArray.js +26 -0
  1158. package/cli/node_modules/lodash/isArrayBuffer.js +27 -0
  1159. package/cli/node_modules/lodash/isArrayLike.js +33 -0
  1160. package/cli/node_modules/lodash/isArrayLikeObject.js +33 -0
  1161. package/cli/node_modules/lodash/isBoolean.js +29 -0
  1162. package/cli/node_modules/lodash/isBuffer.js +38 -0
  1163. package/cli/node_modules/lodash/isDate.js +27 -0
  1164. package/cli/node_modules/lodash/isElement.js +25 -0
  1165. package/cli/node_modules/lodash/isEmpty.js +77 -0
  1166. package/cli/node_modules/lodash/isEqual.js +35 -0
  1167. package/cli/node_modules/lodash/isEqualWith.js +41 -0
  1168. package/cli/node_modules/lodash/isError.js +36 -0
  1169. package/cli/node_modules/lodash/isFinite.js +36 -0
  1170. package/cli/node_modules/lodash/isFunction.js +37 -0
  1171. package/cli/node_modules/lodash/isInteger.js +33 -0
  1172. package/cli/node_modules/lodash/isLength.js +35 -0
  1173. package/cli/node_modules/lodash/isMap.js +27 -0
  1174. package/cli/node_modules/lodash/isMatch.js +36 -0
  1175. package/cli/node_modules/lodash/isMatchWith.js +41 -0
  1176. package/cli/node_modules/lodash/isNaN.js +38 -0
  1177. package/cli/node_modules/lodash/isNative.js +40 -0
  1178. package/cli/node_modules/lodash/isNil.js +25 -0
  1179. package/cli/node_modules/lodash/isNull.js +22 -0
  1180. package/cli/node_modules/lodash/isNumber.js +38 -0
  1181. package/cli/node_modules/lodash/isObject.js +31 -0
  1182. package/cli/node_modules/lodash/isObjectLike.js +29 -0
  1183. package/cli/node_modules/lodash/isPlainObject.js +62 -0
  1184. package/cli/node_modules/lodash/isRegExp.js +27 -0
  1185. package/cli/node_modules/lodash/isSafeInteger.js +37 -0
  1186. package/cli/node_modules/lodash/isSet.js +27 -0
  1187. package/cli/node_modules/lodash/isString.js +30 -0
  1188. package/cli/node_modules/lodash/isSymbol.js +29 -0
  1189. package/cli/node_modules/lodash/isTypedArray.js +27 -0
  1190. package/cli/node_modules/lodash/isUndefined.js +22 -0
  1191. package/cli/node_modules/lodash/isWeakMap.js +28 -0
  1192. package/cli/node_modules/lodash/isWeakSet.js +28 -0
  1193. package/cli/node_modules/lodash/iteratee.js +53 -0
  1194. package/cli/node_modules/lodash/join.js +26 -0
  1195. package/cli/node_modules/lodash/kebabCase.js +28 -0
  1196. package/cli/node_modules/lodash/keyBy.js +36 -0
  1197. package/cli/node_modules/lodash/keys.js +37 -0
  1198. package/cli/node_modules/lodash/keysIn.js +32 -0
  1199. package/cli/node_modules/lodash/lang.js +58 -0
  1200. package/cli/node_modules/lodash/last.js +20 -0
  1201. package/cli/node_modules/lodash/lastIndexOf.js +46 -0
  1202. package/cli/node_modules/lodash/lodash.js +17209 -0
  1203. package/cli/node_modules/lodash/lodash.min.js +140 -0
  1204. package/cli/node_modules/lodash/lowerCase.js +27 -0
  1205. package/cli/node_modules/lodash/lowerFirst.js +22 -0
  1206. package/cli/node_modules/lodash/lt.js +29 -0
  1207. package/cli/node_modules/lodash/lte.js +30 -0
  1208. package/cli/node_modules/lodash/map.js +53 -0
  1209. package/cli/node_modules/lodash/mapKeys.js +36 -0
  1210. package/cli/node_modules/lodash/mapValues.js +43 -0
  1211. package/cli/node_modules/lodash/matches.js +46 -0
  1212. package/cli/node_modules/lodash/matchesProperty.js +44 -0
  1213. package/cli/node_modules/lodash/math.js +17 -0
  1214. package/cli/node_modules/lodash/max.js +29 -0
  1215. package/cli/node_modules/lodash/maxBy.js +34 -0
  1216. package/cli/node_modules/lodash/mean.js +22 -0
  1217. package/cli/node_modules/lodash/meanBy.js +31 -0
  1218. package/cli/node_modules/lodash/memoize.js +73 -0
  1219. package/cli/node_modules/lodash/merge.js +39 -0
  1220. package/cli/node_modules/lodash/mergeWith.js +39 -0
  1221. package/cli/node_modules/lodash/method.js +34 -0
  1222. package/cli/node_modules/lodash/methodOf.js +33 -0
  1223. package/cli/node_modules/lodash/min.js +29 -0
  1224. package/cli/node_modules/lodash/minBy.js +34 -0
  1225. package/cli/node_modules/lodash/mixin.js +74 -0
  1226. package/cli/node_modules/lodash/multiply.js +22 -0
  1227. package/cli/node_modules/lodash/negate.js +40 -0
  1228. package/cli/node_modules/lodash/next.js +35 -0
  1229. package/cli/node_modules/lodash/noop.js +17 -0
  1230. package/cli/node_modules/lodash/now.js +23 -0
  1231. package/cli/node_modules/lodash/nth.js +29 -0
  1232. package/cli/node_modules/lodash/nthArg.js +32 -0
  1233. package/cli/node_modules/lodash/number.js +5 -0
  1234. package/cli/node_modules/lodash/object.js +49 -0
  1235. package/cli/node_modules/lodash/omit.js +57 -0
  1236. package/cli/node_modules/lodash/omitBy.js +29 -0
  1237. package/cli/node_modules/lodash/once.js +25 -0
  1238. package/cli/node_modules/lodash/orderBy.js +47 -0
  1239. package/cli/node_modules/lodash/over.js +24 -0
  1240. package/cli/node_modules/lodash/overArgs.js +61 -0
  1241. package/cli/node_modules/lodash/overEvery.js +34 -0
  1242. package/cli/node_modules/lodash/overSome.js +37 -0
  1243. package/cli/node_modules/lodash/package.json +17 -0
  1244. package/cli/node_modules/lodash/pad.js +49 -0
  1245. package/cli/node_modules/lodash/padEnd.js +39 -0
  1246. package/cli/node_modules/lodash/padStart.js +39 -0
  1247. package/cli/node_modules/lodash/parseInt.js +43 -0
  1248. package/cli/node_modules/lodash/partial.js +50 -0
  1249. package/cli/node_modules/lodash/partialRight.js +49 -0
  1250. package/cli/node_modules/lodash/partition.js +43 -0
  1251. package/cli/node_modules/lodash/pick.js +25 -0
  1252. package/cli/node_modules/lodash/pickBy.js +37 -0
  1253. package/cli/node_modules/lodash/plant.js +48 -0
  1254. package/cli/node_modules/lodash/property.js +32 -0
  1255. package/cli/node_modules/lodash/propertyOf.js +30 -0
  1256. package/cli/node_modules/lodash/pull.js +29 -0
  1257. package/cli/node_modules/lodash/pullAll.js +29 -0
  1258. package/cli/node_modules/lodash/pullAllBy.js +33 -0
  1259. package/cli/node_modules/lodash/pullAllWith.js +32 -0
  1260. package/cli/node_modules/lodash/pullAt.js +43 -0
  1261. package/cli/node_modules/lodash/random.js +82 -0
  1262. package/cli/node_modules/lodash/range.js +46 -0
  1263. package/cli/node_modules/lodash/rangeRight.js +41 -0
  1264. package/cli/node_modules/lodash/rearg.js +33 -0
  1265. package/cli/node_modules/lodash/reduce.js +51 -0
  1266. package/cli/node_modules/lodash/reduceRight.js +36 -0
  1267. package/cli/node_modules/lodash/reject.js +46 -0
  1268. package/cli/node_modules/lodash/release.md +48 -0
  1269. package/cli/node_modules/lodash/remove.js +53 -0
  1270. package/cli/node_modules/lodash/repeat.js +37 -0
  1271. package/cli/node_modules/lodash/replace.js +29 -0
  1272. package/cli/node_modules/lodash/rest.js +40 -0
  1273. package/cli/node_modules/lodash/result.js +56 -0
  1274. package/cli/node_modules/lodash/reverse.js +34 -0
  1275. package/cli/node_modules/lodash/round.js +26 -0
  1276. package/cli/node_modules/lodash/sample.js +24 -0
  1277. package/cli/node_modules/lodash/sampleSize.js +37 -0
  1278. package/cli/node_modules/lodash/seq.js +16 -0
  1279. package/cli/node_modules/lodash/set.js +35 -0
  1280. package/cli/node_modules/lodash/setWith.js +32 -0
  1281. package/cli/node_modules/lodash/shuffle.js +25 -0
  1282. package/cli/node_modules/lodash/size.js +46 -0
  1283. package/cli/node_modules/lodash/slice.js +37 -0
  1284. package/cli/node_modules/lodash/snakeCase.js +28 -0
  1285. package/cli/node_modules/lodash/some.js +51 -0
  1286. package/cli/node_modules/lodash/sortBy.js +48 -0
  1287. package/cli/node_modules/lodash/sortedIndex.js +24 -0
  1288. package/cli/node_modules/lodash/sortedIndexBy.js +33 -0
  1289. package/cli/node_modules/lodash/sortedIndexOf.js +31 -0
  1290. package/cli/node_modules/lodash/sortedLastIndex.js +25 -0
  1291. package/cli/node_modules/lodash/sortedLastIndexBy.js +33 -0
  1292. package/cli/node_modules/lodash/sortedLastIndexOf.js +31 -0
  1293. package/cli/node_modules/lodash/sortedUniq.js +24 -0
  1294. package/cli/node_modules/lodash/sortedUniqBy.js +26 -0
  1295. package/cli/node_modules/lodash/split.js +52 -0
  1296. package/cli/node_modules/lodash/spread.js +63 -0
  1297. package/cli/node_modules/lodash/startCase.js +29 -0
  1298. package/cli/node_modules/lodash/startsWith.js +39 -0
  1299. package/cli/node_modules/lodash/string.js +33 -0
  1300. package/cli/node_modules/lodash/stubArray.js +23 -0
  1301. package/cli/node_modules/lodash/stubFalse.js +18 -0
  1302. package/cli/node_modules/lodash/stubObject.js +23 -0
  1303. package/cli/node_modules/lodash/stubString.js +18 -0
  1304. package/cli/node_modules/lodash/stubTrue.js +18 -0
  1305. package/cli/node_modules/lodash/subtract.js +22 -0
  1306. package/cli/node_modules/lodash/sum.js +24 -0
  1307. package/cli/node_modules/lodash/sumBy.js +33 -0
  1308. package/cli/node_modules/lodash/tail.js +22 -0
  1309. package/cli/node_modules/lodash/take.js +37 -0
  1310. package/cli/node_modules/lodash/takeRight.js +39 -0
  1311. package/cli/node_modules/lodash/takeRightWhile.js +45 -0
  1312. package/cli/node_modules/lodash/takeWhile.js +45 -0
  1313. package/cli/node_modules/lodash/tap.js +29 -0
  1314. package/cli/node_modules/lodash/template.js +272 -0
  1315. package/cli/node_modules/lodash/templateSettings.js +67 -0
  1316. package/cli/node_modules/lodash/throttle.js +69 -0
  1317. package/cli/node_modules/lodash/thru.js +28 -0
  1318. package/cli/node_modules/lodash/times.js +51 -0
  1319. package/cli/node_modules/lodash/toArray.js +58 -0
  1320. package/cli/node_modules/lodash/toFinite.js +42 -0
  1321. package/cli/node_modules/lodash/toInteger.js +36 -0
  1322. package/cli/node_modules/lodash/toIterator.js +23 -0
  1323. package/cli/node_modules/lodash/toJSON.js +1 -0
  1324. package/cli/node_modules/lodash/toLength.js +38 -0
  1325. package/cli/node_modules/lodash/toLower.js +28 -0
  1326. package/cli/node_modules/lodash/toNumber.js +64 -0
  1327. package/cli/node_modules/lodash/toPairs.js +30 -0
  1328. package/cli/node_modules/lodash/toPairsIn.js +30 -0
  1329. package/cli/node_modules/lodash/toPath.js +33 -0
  1330. package/cli/node_modules/lodash/toPlainObject.js +32 -0
  1331. package/cli/node_modules/lodash/toSafeInteger.js +37 -0
  1332. package/cli/node_modules/lodash/toString.js +28 -0
  1333. package/cli/node_modules/lodash/toUpper.js +28 -0
  1334. package/cli/node_modules/lodash/transform.js +65 -0
  1335. package/cli/node_modules/lodash/trim.js +47 -0
  1336. package/cli/node_modules/lodash/trimEnd.js +41 -0
  1337. package/cli/node_modules/lodash/trimStart.js +43 -0
  1338. package/cli/node_modules/lodash/truncate.js +111 -0
  1339. package/cli/node_modules/lodash/unary.js +22 -0
  1340. package/cli/node_modules/lodash/unescape.js +34 -0
  1341. package/cli/node_modules/lodash/union.js +26 -0
  1342. package/cli/node_modules/lodash/unionBy.js +39 -0
  1343. package/cli/node_modules/lodash/unionWith.js +34 -0
  1344. package/cli/node_modules/lodash/uniq.js +25 -0
  1345. package/cli/node_modules/lodash/uniqBy.js +31 -0
  1346. package/cli/node_modules/lodash/uniqWith.js +28 -0
  1347. package/cli/node_modules/lodash/uniqueId.js +28 -0
  1348. package/cli/node_modules/lodash/unset.js +34 -0
  1349. package/cli/node_modules/lodash/unzip.js +45 -0
  1350. package/cli/node_modules/lodash/unzipWith.js +39 -0
  1351. package/cli/node_modules/lodash/update.js +35 -0
  1352. package/cli/node_modules/lodash/updateWith.js +33 -0
  1353. package/cli/node_modules/lodash/upperCase.js +27 -0
  1354. package/cli/node_modules/lodash/upperFirst.js +22 -0
  1355. package/cli/node_modules/lodash/util.js +34 -0
  1356. package/cli/node_modules/lodash/value.js +1 -0
  1357. package/cli/node_modules/lodash/valueOf.js +1 -0
  1358. package/cli/node_modules/lodash/values.js +34 -0
  1359. package/cli/node_modules/lodash/valuesIn.js +32 -0
  1360. package/cli/node_modules/lodash/without.js +31 -0
  1361. package/cli/node_modules/lodash/words.js +35 -0
  1362. package/cli/node_modules/lodash/wrap.js +30 -0
  1363. package/cli/node_modules/lodash/wrapperAt.js +48 -0
  1364. package/cli/node_modules/lodash/wrapperChain.js +34 -0
  1365. package/cli/node_modules/lodash/wrapperLodash.js +147 -0
  1366. package/cli/node_modules/lodash/wrapperReverse.js +44 -0
  1367. package/cli/node_modules/lodash/wrapperValue.js +21 -0
  1368. package/cli/node_modules/lodash/xor.js +28 -0
  1369. package/cli/node_modules/lodash/xorBy.js +39 -0
  1370. package/cli/node_modules/lodash/xorWith.js +34 -0
  1371. package/cli/node_modules/lodash/zip.js +22 -0
  1372. package/cli/node_modules/lodash/zipObject.js +24 -0
  1373. package/cli/node_modules/lodash/zipObjectDeep.js +23 -0
  1374. package/cli/node_modules/lodash/zipWith.js +32 -0
  1375. package/cli/node_modules/{levn → markdown-it}/LICENSE +1 -1
  1376. package/cli/node_modules/markdown-it/README.md +307 -0
  1377. package/cli/node_modules/markdown-it/bin/markdown-it.js +117 -0
  1378. package/cli/node_modules/markdown-it/dist/markdown-it.js +8356 -0
  1379. package/cli/node_modules/markdown-it/dist/markdown-it.min.js +3 -0
  1380. package/cli/node_modules/markdown-it/index.js +4 -0
  1381. package/cli/node_modules/markdown-it/lib/common/entities.js +6 -0
  1382. package/cli/node_modules/markdown-it/lib/common/html_blocks.js +70 -0
  1383. package/cli/node_modules/markdown-it/lib/common/html_re.js +28 -0
  1384. package/cli/node_modules/markdown-it/lib/common/utils.js +317 -0
  1385. package/cli/node_modules/markdown-it/lib/helpers/index.js +7 -0
  1386. package/cli/node_modules/markdown-it/lib/helpers/parse_link_destination.js +82 -0
  1387. package/cli/node_modules/markdown-it/lib/helpers/parse_link_label.js +48 -0
  1388. package/cli/node_modules/markdown-it/lib/helpers/parse_link_title.js +55 -0
  1389. package/cli/node_modules/markdown-it/lib/index.js +582 -0
  1390. package/cli/node_modules/markdown-it/lib/parser_block.js +122 -0
  1391. package/cli/node_modules/markdown-it/lib/parser_core.js +58 -0
  1392. package/cli/node_modules/markdown-it/lib/parser_inline.js +177 -0
  1393. package/cli/node_modules/markdown-it/lib/presets/commonmark.js +80 -0
  1394. package/cli/node_modules/markdown-it/lib/presets/default.js +41 -0
  1395. package/cli/node_modules/markdown-it/lib/presets/zero.js +62 -0
  1396. package/cli/node_modules/markdown-it/lib/renderer.js +341 -0
  1397. package/cli/node_modules/markdown-it/lib/ruler.js +352 -0
  1398. package/cli/node_modules/markdown-it/lib/rules_block/blockquote.js +284 -0
  1399. package/cli/node_modules/markdown-it/lib/rules_block/code.js +34 -0
  1400. package/cli/node_modules/markdown-it/lib/rules_block/fence.js +98 -0
  1401. package/cli/node_modules/markdown-it/lib/rules_block/heading.js +55 -0
  1402. package/cli/node_modules/markdown-it/lib/rules_block/hr.js +45 -0
  1403. package/cli/node_modules/markdown-it/lib/rules_block/html_block.js +74 -0
  1404. package/cli/node_modules/markdown-it/lib/rules_block/lheading.js +83 -0
  1405. package/cli/node_modules/markdown-it/lib/rules_block/list.js +364 -0
  1406. package/cli/node_modules/markdown-it/lib/rules_block/paragraph.js +52 -0
  1407. package/cli/node_modules/markdown-it/lib/rules_block/reference.js +198 -0
  1408. package/cli/node_modules/markdown-it/lib/rules_block/state_block.js +231 -0
  1409. package/cli/node_modules/markdown-it/lib/rules_block/table.js +221 -0
  1410. package/cli/node_modules/markdown-it/lib/rules_core/block.js +16 -0
  1411. package/cli/node_modules/markdown-it/lib/rules_core/inline.js +13 -0
  1412. package/cli/node_modules/markdown-it/lib/rules_core/linkify.js +133 -0
  1413. package/cli/node_modules/markdown-it/lib/rules_core/normalize.js +21 -0
  1414. package/cli/node_modules/markdown-it/lib/rules_core/replacements.js +107 -0
  1415. package/cli/node_modules/markdown-it/lib/rules_core/smartquotes.js +201 -0
  1416. package/cli/node_modules/markdown-it/lib/rules_core/state_core.js +20 -0
  1417. package/cli/node_modules/markdown-it/lib/rules_inline/autolink.js +76 -0
  1418. package/cli/node_modules/markdown-it/lib/rules_inline/backticks.js +63 -0
  1419. package/cli/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +130 -0
  1420. package/cli/node_modules/markdown-it/lib/rules_inline/emphasis.js +130 -0
  1421. package/cli/node_modules/markdown-it/lib/rules_inline/entity.js +48 -0
  1422. package/cli/node_modules/markdown-it/lib/rules_inline/escape.js +52 -0
  1423. package/cli/node_modules/markdown-it/lib/rules_inline/html_inline.js +47 -0
  1424. package/cli/node_modules/markdown-it/lib/rules_inline/image.js +152 -0
  1425. package/cli/node_modules/markdown-it/lib/rules_inline/link.js +148 -0
  1426. package/cli/node_modules/markdown-it/lib/rules_inline/newline.js +46 -0
  1427. package/cli/node_modules/markdown-it/lib/rules_inline/state_inline.js +154 -0
  1428. package/cli/node_modules/markdown-it/lib/rules_inline/strikethrough.js +130 -0
  1429. package/cli/node_modules/markdown-it/lib/rules_inline/text.js +89 -0
  1430. package/cli/node_modules/markdown-it/lib/rules_inline/text_collapse.js +41 -0
  1431. package/cli/node_modules/markdown-it/lib/token.js +201 -0
  1432. package/cli/node_modules/markdown-it/package.json +87 -0
  1433. package/cli/node_modules/markdown-it-anchor/README.md +561 -0
  1434. package/cli/node_modules/markdown-it-anchor/UNLICENSE +24 -0
  1435. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.js +2 -0
  1436. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.js.map +1 -0
  1437. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.mjs +2 -0
  1438. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.mjs.map +1 -0
  1439. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.modern.js +2 -0
  1440. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.modern.js.map +1 -0
  1441. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.umd.js +2 -0
  1442. package/cli/node_modules/markdown-it-anchor/dist/markdownItAnchor.umd.js.map +1 -0
  1443. package/cli/node_modules/markdown-it-anchor/package.json +53 -0
  1444. package/cli/node_modules/markdown-it-anchor/runkit.js +22 -0
  1445. package/cli/node_modules/markdown-it-anchor/types/index.d.ts +71 -0
  1446. package/cli/node_modules/marked/LICENSE.md +44 -0
  1447. package/cli/node_modules/marked/README.md +98 -0
  1448. package/cli/node_modules/marked/bin/marked.js +217 -0
  1449. package/cli/node_modules/marked/lib/marked.cjs +3056 -0
  1450. package/cli/node_modules/marked/lib/marked.esm.js +2796 -0
  1451. package/cli/node_modules/marked/lib/marked.umd.js +3062 -0
  1452. package/cli/node_modules/marked/man/marked.1 +92 -0
  1453. package/cli/node_modules/marked/man/marked.1.txt +86 -0
  1454. package/cli/node_modules/marked/marked.min.js +6 -0
  1455. package/cli/node_modules/marked/package.json +97 -0
  1456. package/cli/node_modules/marked/src/Lexer.js +502 -0
  1457. package/cli/node_modules/marked/src/Parser.js +286 -0
  1458. package/cli/node_modules/marked/src/Renderer.js +203 -0
  1459. package/cli/node_modules/marked/src/Slugger.js +55 -0
  1460. package/cli/node_modules/marked/src/TextRenderer.js +42 -0
  1461. package/cli/node_modules/marked/src/Tokenizer.js +785 -0
  1462. package/cli/node_modules/marked/src/defaults.js +29 -0
  1463. package/cli/node_modules/marked/src/helpers.js +276 -0
  1464. package/cli/node_modules/marked/src/marked.js +351 -0
  1465. package/cli/node_modules/marked/src/rules.js +302 -0
  1466. package/cli/node_modules/mdurl/CHANGELOG.md +16 -0
  1467. package/cli/node_modules/mdurl/LICENSE +45 -0
  1468. package/cli/node_modules/mdurl/README.md +102 -0
  1469. package/cli/node_modules/mdurl/decode.js +122 -0
  1470. package/cli/node_modules/mdurl/encode.js +98 -0
  1471. package/cli/node_modules/mdurl/format.js +25 -0
  1472. package/cli/node_modules/mdurl/index.js +7 -0
  1473. package/cli/node_modules/mdurl/package.json +16 -0
  1474. package/cli/node_modules/mdurl/parse.js +312 -0
  1475. package/cli/node_modules/minimatch/README.md +22 -1
  1476. package/cli/node_modules/minimatch/minimatch.js +93 -69
  1477. package/cli/node_modules/minimatch/package.json +6 -3
  1478. package/cli/node_modules/mkdirp/CHANGELOG.md +15 -0
  1479. package/cli/node_modules/mkdirp/LICENSE +21 -0
  1480. package/cli/node_modules/mkdirp/bin/cmd.js +68 -0
  1481. package/cli/node_modules/mkdirp/index.js +31 -0
  1482. package/cli/node_modules/mkdirp/lib/find-made.js +29 -0
  1483. package/cli/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  1484. package/cli/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  1485. package/cli/node_modules/mkdirp/lib/opts-arg.js +23 -0
  1486. package/cli/node_modules/mkdirp/lib/path-arg.js +29 -0
  1487. package/cli/node_modules/mkdirp/lib/use-native.js +10 -0
  1488. package/cli/node_modules/mkdirp/package.json +44 -0
  1489. package/cli/node_modules/mkdirp/readme.markdown +266 -0
  1490. package/cli/node_modules/requizzle/.editorconfig +12 -0
  1491. package/cli/node_modules/requizzle/.travis.yml +8 -0
  1492. package/cli/node_modules/requizzle/LICENSE +22 -0
  1493. package/cli/node_modules/requizzle/README.md +171 -0
  1494. package/cli/node_modules/requizzle/index.js +28 -0
  1495. package/cli/node_modules/requizzle/lib/loader.js +165 -0
  1496. package/cli/node_modules/requizzle/lib/requizzle.js +93 -0
  1497. package/cli/node_modules/requizzle/lib/wrappers/extras.js +21 -0
  1498. package/cli/node_modules/requizzle/lib/wrappers/requirepaths.js +46 -0
  1499. package/cli/node_modules/requizzle/lib/wrappers/strict.js +13 -0
  1500. package/cli/node_modules/requizzle/package.json +36 -0
  1501. package/cli/node_modules/strip-json-comments/index.d.ts +36 -0
  1502. package/cli/node_modules/strip-json-comments/index.js +77 -0
  1503. package/cli/node_modules/strip-json-comments/license +9 -0
  1504. package/cli/node_modules/strip-json-comments/package.json +47 -0
  1505. package/cli/node_modules/strip-json-comments/readme.md +78 -0
  1506. package/cli/node_modules/taffydb/package.json +47 -0
  1507. package/cli/node_modules/taffydb/taffy-test.html +84 -0
  1508. package/cli/node_modules/taffydb/taffy.js +1973 -0
  1509. package/cli/node_modules/uc.micro/CHANGELOG.md +52 -0
  1510. package/cli/node_modules/uc.micro/LICENSE.txt +20 -0
  1511. package/cli/node_modules/uc.micro/README.md +14 -0
  1512. package/cli/node_modules/uc.micro/categories/Cc/regex.js +1 -0
  1513. package/cli/node_modules/uc.micro/categories/Cf/regex.js +1 -0
  1514. package/cli/node_modules/uc.micro/categories/P/regex.js +1 -0
  1515. package/cli/node_modules/uc.micro/categories/Z/regex.js +1 -0
  1516. package/cli/node_modules/uc.micro/index.js +7 -0
  1517. package/cli/node_modules/uc.micro/package.json +21 -0
  1518. package/cli/node_modules/uc.micro/properties/Any/regex.js +1 -0
  1519. package/cli/node_modules/{type-check → underscore}/LICENSE +1 -1
  1520. package/cli/node_modules/underscore/README.md +34 -0
  1521. package/cli/node_modules/underscore/amd/_baseCreate.js +21 -0
  1522. package/cli/node_modules/underscore/amd/_baseIteratee.js +15 -0
  1523. package/cli/node_modules/underscore/amd/_cb.js +12 -0
  1524. package/cli/node_modules/underscore/amd/_chainResult.js +10 -0
  1525. package/cli/node_modules/underscore/amd/_collectNonEnumProps.js +42 -0
  1526. package/cli/node_modules/underscore/amd/_createAssigner.js +24 -0
  1527. package/cli/node_modules/underscore/amd/_createEscaper.js +21 -0
  1528. package/cli/node_modules/underscore/amd/_createIndexFinder.js +30 -0
  1529. package/cli/node_modules/underscore/amd/_createPredicateIndexFinder.js +18 -0
  1530. package/cli/node_modules/underscore/amd/_createReduce.js +30 -0
  1531. package/cli/node_modules/underscore/amd/_createSizePropertyCheck.js +13 -0
  1532. package/cli/node_modules/underscore/amd/_deepGet.js +15 -0
  1533. package/cli/node_modules/underscore/amd/_escapeMap.js +15 -0
  1534. package/cli/node_modules/underscore/amd/_executeBound.js +16 -0
  1535. package/cli/node_modules/underscore/amd/_flatten.js +32 -0
  1536. package/cli/node_modules/underscore/amd/_getByteLength.js +8 -0
  1537. package/cli/node_modules/underscore/amd/_getLength.js +8 -0
  1538. package/cli/node_modules/underscore/amd/_group.js +18 -0
  1539. package/cli/node_modules/underscore/amd/_has.js +10 -0
  1540. package/cli/node_modules/underscore/amd/_hasObjectTag.js +7 -0
  1541. package/cli/node_modules/underscore/amd/_isArrayLike.js +11 -0
  1542. package/cli/node_modules/underscore/amd/_isBufferLike.js +9 -0
  1543. package/cli/node_modules/underscore/amd/_keyInObj.js +11 -0
  1544. package/cli/node_modules/underscore/amd/_methodFingerprint.js +44 -0
  1545. package/cli/node_modules/underscore/amd/_optimizeCb.js +27 -0
  1546. package/cli/node_modules/underscore/amd/_setup.js +70 -0
  1547. package/cli/node_modules/underscore/amd/_shallowProperty.js +12 -0
  1548. package/cli/node_modules/underscore/amd/_stringTagBug.js +16 -0
  1549. package/cli/node_modules/underscore/amd/_tagTester.js +13 -0
  1550. package/cli/node_modules/underscore/amd/_toBufferView.js +15 -0
  1551. package/cli/node_modules/underscore/amd/_toPath.js +11 -0
  1552. package/cli/node_modules/underscore/amd/_unescapeMap.js +8 -0
  1553. package/cli/node_modules/underscore/amd/after.js +14 -0
  1554. package/cli/node_modules/underscore/amd/allKeys.js +15 -0
  1555. package/cli/node_modules/underscore/amd/before.js +18 -0
  1556. package/cli/node_modules/underscore/amd/bind.js +15 -0
  1557. package/cli/node_modules/underscore/amd/bindAll.js +19 -0
  1558. package/cli/node_modules/underscore/amd/chain.js +12 -0
  1559. package/cli/node_modules/underscore/amd/chunk.js +17 -0
  1560. package/cli/node_modules/underscore/amd/clone.js +11 -0
  1561. package/cli/node_modules/underscore/amd/compact.js +10 -0
  1562. package/cli/node_modules/underscore/amd/compose.js +18 -0
  1563. package/cli/node_modules/underscore/amd/constant.js +12 -0
  1564. package/cli/node_modules/underscore/amd/contains.js +12 -0
  1565. package/cli/node_modules/underscore/amd/countBy.js +12 -0
  1566. package/cli/node_modules/underscore/amd/create.js +14 -0
  1567. package/cli/node_modules/underscore/amd/debounce.js +43 -0
  1568. package/cli/node_modules/underscore/amd/defaults.js +8 -0
  1569. package/cli/node_modules/underscore/amd/defer.js +9 -0
  1570. package/cli/node_modules/underscore/amd/delay.js +13 -0
  1571. package/cli/node_modules/underscore/amd/difference.js +14 -0
  1572. package/cli/node_modules/underscore/amd/each.js +25 -0
  1573. package/cli/node_modules/underscore/amd/escape.js +8 -0
  1574. package/cli/node_modules/underscore/amd/every.js +17 -0
  1575. package/cli/node_modules/underscore/amd/extend.js +8 -0
  1576. package/cli/node_modules/underscore/amd/extendOwn.js +10 -0
  1577. package/cli/node_modules/underscore/amd/filter.js +15 -0
  1578. package/cli/node_modules/underscore/amd/find.js +12 -0
  1579. package/cli/node_modules/underscore/amd/findIndex.js +8 -0
  1580. package/cli/node_modules/underscore/amd/findKey.js +15 -0
  1581. package/cli/node_modules/underscore/amd/findLastIndex.js +8 -0
  1582. package/cli/node_modules/underscore/amd/findWhere.js +11 -0
  1583. package/cli/node_modules/underscore/amd/first.js +13 -0
  1584. package/cli/node_modules/underscore/amd/flatten.js +11 -0
  1585. package/cli/node_modules/underscore/amd/functions.js +14 -0
  1586. package/cli/node_modules/underscore/amd/get.js +14 -0
  1587. package/cli/node_modules/underscore/amd/groupBy.js +11 -0
  1588. package/cli/node_modules/underscore/amd/has.js +19 -0
  1589. package/cli/node_modules/underscore/amd/identity.js +10 -0
  1590. package/cli/node_modules/underscore/amd/index-default.js +12 -0
  1591. package/cli/node_modules/underscore/amd/index.js +154 -0
  1592. package/cli/node_modules/underscore/amd/indexBy.js +11 -0
  1593. package/cli/node_modules/underscore/amd/indexOf.js +11 -0
  1594. package/cli/node_modules/underscore/amd/initial.js +12 -0
  1595. package/cli/node_modules/underscore/amd/intersection.js +22 -0
  1596. package/cli/node_modules/underscore/amd/invert.js +15 -0
  1597. package/cli/node_modules/underscore/amd/invoke.js +28 -0
  1598. package/cli/node_modules/underscore/amd/isArguments.js +19 -0
  1599. package/cli/node_modules/underscore/amd/isArray.js +9 -0
  1600. package/cli/node_modules/underscore/amd/isArrayBuffer.js +7 -0
  1601. package/cli/node_modules/underscore/amd/isBoolean.js +10 -0
  1602. package/cli/node_modules/underscore/amd/isDataView.js +15 -0
  1603. package/cli/node_modules/underscore/amd/isDate.js +7 -0
  1604. package/cli/node_modules/underscore/amd/isElement.js +10 -0
  1605. package/cli/node_modules/underscore/amd/isEmpty.js +18 -0
  1606. package/cli/node_modules/underscore/amd/isEqual.js +133 -0
  1607. package/cli/node_modules/underscore/amd/isError.js +7 -0
  1608. package/cli/node_modules/underscore/amd/isFinite.js +10 -0
  1609. package/cli/node_modules/underscore/amd/isFunction.js +18 -0
  1610. package/cli/node_modules/underscore/amd/isMap.js +7 -0
  1611. package/cli/node_modules/underscore/amd/isMatch.js +17 -0
  1612. package/cli/node_modules/underscore/amd/isNaN.js +10 -0
  1613. package/cli/node_modules/underscore/amd/isNull.js +10 -0
  1614. package/cli/node_modules/underscore/amd/isNumber.js +7 -0
  1615. package/cli/node_modules/underscore/amd/isObject.js +11 -0
  1616. package/cli/node_modules/underscore/amd/isRegExp.js +7 -0
  1617. package/cli/node_modules/underscore/amd/isSet.js +7 -0
  1618. package/cli/node_modules/underscore/amd/isString.js +7 -0
  1619. package/cli/node_modules/underscore/amd/isSymbol.js +7 -0
  1620. package/cli/node_modules/underscore/amd/isTypedArray.js +16 -0
  1621. package/cli/node_modules/underscore/amd/isUndefined.js +10 -0
  1622. package/cli/node_modules/underscore/amd/isWeakMap.js +7 -0
  1623. package/cli/node_modules/underscore/amd/isWeakSet.js +7 -0
  1624. package/cli/node_modules/underscore/amd/iteratee.js +13 -0
  1625. package/cli/node_modules/underscore/amd/keys.js +17 -0
  1626. package/cli/node_modules/underscore/amd/last.js +13 -0
  1627. package/cli/node_modules/underscore/amd/lastIndexOf.js +9 -0
  1628. package/cli/node_modules/underscore/amd/map.js +18 -0
  1629. package/cli/node_modules/underscore/amd/mapObject.js +19 -0
  1630. package/cli/node_modules/underscore/amd/matcher.js +14 -0
  1631. package/cli/node_modules/underscore/amd/max.js +30 -0
  1632. package/cli/node_modules/underscore/amd/memoize.js +17 -0
  1633. package/cli/node_modules/underscore/amd/min.js +30 -0
  1634. package/cli/node_modules/underscore/amd/mixin.js +18 -0
  1635. package/cli/node_modules/underscore/amd/negate.js +12 -0
  1636. package/cli/node_modules/underscore/amd/noop.js +8 -0
  1637. package/cli/node_modules/underscore/amd/now.js +10 -0
  1638. package/cli/node_modules/underscore/amd/object.js +20 -0
  1639. package/cli/node_modules/underscore/amd/omit.js +20 -0
  1640. package/cli/node_modules/underscore/amd/once.js +9 -0
  1641. package/cli/node_modules/underscore/amd/pairs.js +17 -0
  1642. package/cli/node_modules/underscore/amd/partial.js +25 -0
  1643. package/cli/node_modules/underscore/amd/partition.js +11 -0
  1644. package/cli/node_modules/underscore/amd/pick.js +25 -0
  1645. package/cli/node_modules/underscore/amd/pluck.js +10 -0
  1646. package/cli/node_modules/underscore/amd/property.js +14 -0
  1647. package/cli/node_modules/underscore/amd/propertyOf.js +13 -0
  1648. package/cli/node_modules/underscore/amd/random.js +14 -0
  1649. package/cli/node_modules/underscore/amd/range.js +27 -0
  1650. package/cli/node_modules/underscore/amd/reduce.js +9 -0
  1651. package/cli/node_modules/underscore/amd/reduceRight.js +8 -0
  1652. package/cli/node_modules/underscore/amd/reject.js +10 -0
  1653. package/cli/node_modules/underscore/amd/rest.js +12 -0
  1654. package/cli/node_modules/underscore/amd/restArguments.js +33 -0
  1655. package/cli/node_modules/underscore/amd/result.js +25 -0
  1656. package/cli/node_modules/underscore/amd/sample.js +27 -0
  1657. package/cli/node_modules/underscore/amd/shuffle.js +10 -0
  1658. package/cli/node_modules/underscore/amd/size.js +11 -0
  1659. package/cli/node_modules/underscore/amd/some.js +17 -0
  1660. package/cli/node_modules/underscore/amd/sortBy.js +26 -0
  1661. package/cli/node_modules/underscore/amd/sortedIndex.js +18 -0
  1662. package/cli/node_modules/underscore/amd/tap.js +13 -0
  1663. package/cli/node_modules/underscore/amd/template.js +103 -0
  1664. package/cli/node_modules/underscore/amd/templateSettings.js +13 -0
  1665. package/cli/node_modules/underscore/amd/throttle.js +51 -0
  1666. package/cli/node_modules/underscore/amd/times.js +13 -0
  1667. package/cli/node_modules/underscore/amd/toArray.js +18 -0
  1668. package/cli/node_modules/underscore/amd/toPath.js +12 -0
  1669. package/cli/node_modules/underscore/amd/underscore-array-methods.js +30 -0
  1670. package/cli/node_modules/underscore/amd/underscore.js +29 -0
  1671. package/cli/node_modules/underscore/amd/unescape.js +8 -0
  1672. package/cli/node_modules/underscore/amd/union.js +11 -0
  1673. package/cli/node_modules/underscore/amd/uniq.js +37 -0
  1674. package/cli/node_modules/underscore/amd/uniqueId.js +13 -0
  1675. package/cli/node_modules/underscore/amd/unzip.js +17 -0
  1676. package/cli/node_modules/underscore/amd/values.js +16 -0
  1677. package/cli/node_modules/underscore/amd/where.js +11 -0
  1678. package/cli/node_modules/underscore/amd/without.js +10 -0
  1679. package/cli/node_modules/underscore/amd/wrap.js +12 -0
  1680. package/cli/node_modules/underscore/amd/zip.js +9 -0
  1681. package/cli/node_modules/underscore/cjs/_baseCreate.js +20 -0
  1682. package/cli/node_modules/underscore/cjs/_baseIteratee.js +19 -0
  1683. package/cli/node_modules/underscore/cjs/_cb.js +12 -0
  1684. package/cli/node_modules/underscore/cjs/_chainResult.js +8 -0
  1685. package/cli/node_modules/underscore/cjs/_collectNonEnumProps.js +42 -0
  1686. package/cli/node_modules/underscore/cjs/_createAssigner.js +20 -0
  1687. package/cli/node_modules/underscore/cjs/_createEscaper.js +19 -0
  1688. package/cli/node_modules/underscore/cjs/_createIndexFinder.js +30 -0
  1689. package/cli/node_modules/underscore/cjs/_createPredicateIndexFinder.js +17 -0
  1690. package/cli/node_modules/underscore/cjs/_createReduce.js +30 -0
  1691. package/cli/node_modules/underscore/cjs/_createSizePropertyCheck.js +11 -0
  1692. package/cli/node_modules/underscore/cjs/_deepGet.js +11 -0
  1693. package/cli/node_modules/underscore/cjs/_escapeMap.js +11 -0
  1694. package/cli/node_modules/underscore/cjs/_executeBound.js +15 -0
  1695. package/cli/node_modules/underscore/cjs/_flatten.js +33 -0
  1696. package/cli/node_modules/underscore/cjs/_getByteLength.js +6 -0
  1697. package/cli/node_modules/underscore/cjs/_getLength.js +6 -0
  1698. package/cli/node_modules/underscore/cjs/_group.js +17 -0
  1699. package/cli/node_modules/underscore/cjs/_has.js +8 -0
  1700. package/cli/node_modules/underscore/cjs/_hasObjectTag.js +5 -0
  1701. package/cli/node_modules/underscore/cjs/_isArrayLike.js +10 -0
  1702. package/cli/node_modules/underscore/cjs/_isBufferLike.js +8 -0
  1703. package/cli/node_modules/underscore/cjs/_keyInObj.js +7 -0
  1704. package/cli/node_modules/underscore/cjs/_methodFingerprint.js +44 -0
  1705. package/cli/node_modules/underscore/cjs/_optimizeCb.js +23 -0
  1706. package/cli/node_modules/underscore/cjs/_setup.js +66 -0
  1707. package/cli/node_modules/underscore/cjs/_shallowProperty.js +8 -0
  1708. package/cli/node_modules/underscore/cjs/_stringTagBug.js +15 -0
  1709. package/cli/node_modules/underscore/cjs/_tagTester.js +11 -0
  1710. package/cli/node_modules/underscore/cjs/_toBufferView.js +13 -0
  1711. package/cli/node_modules/underscore/cjs/_toPath.js +10 -0
  1712. package/cli/node_modules/underscore/cjs/_unescapeMap.js +7 -0
  1713. package/cli/node_modules/underscore/cjs/after.js +10 -0
  1714. package/cli/node_modules/underscore/cjs/allKeys.js +15 -0
  1715. package/cli/node_modules/underscore/cjs/before.js +14 -0
  1716. package/cli/node_modules/underscore/cjs/bind.js +15 -0
  1717. package/cli/node_modules/underscore/cjs/bindAll.js +19 -0
  1718. package/cli/node_modules/underscore/cjs/chain.js +10 -0
  1719. package/cli/node_modules/underscore/cjs/chunk.js +15 -0
  1720. package/cli/node_modules/underscore/cjs/clone.js +11 -0
  1721. package/cli/node_modules/underscore/cjs/compact.js +8 -0
  1722. package/cli/node_modules/underscore/cjs/compose.js +14 -0
  1723. package/cli/node_modules/underscore/cjs/constant.js +8 -0
  1724. package/cli/node_modules/underscore/cjs/contains.js +12 -0
  1725. package/cli/node_modules/underscore/cjs/countBy.js +11 -0
  1726. package/cli/node_modules/underscore/cjs/create.js +13 -0
  1727. package/cli/node_modules/underscore/cjs/debounce.js +42 -0
  1728. package/cli/node_modules/underscore/cjs/defaults.js +7 -0
  1729. package/cli/node_modules/underscore/cjs/defer.js +9 -0
  1730. package/cli/node_modules/underscore/cjs/delay.js +11 -0
  1731. package/cli/node_modules/underscore/cjs/difference.js +15 -0
  1732. package/cli/node_modules/underscore/cjs/each.js +25 -0
  1733. package/cli/node_modules/underscore/cjs/escape.js +7 -0
  1734. package/cli/node_modules/underscore/cjs/every.js +17 -0
  1735. package/cli/node_modules/underscore/cjs/extend.js +7 -0
  1736. package/cli/node_modules/underscore/cjs/extendOwn.js +9 -0
  1737. package/cli/node_modules/underscore/cjs/filter.js +14 -0
  1738. package/cli/node_modules/underscore/cjs/find.js +12 -0
  1739. package/cli/node_modules/underscore/cjs/findIndex.js +6 -0
  1740. package/cli/node_modules/underscore/cjs/findKey.js +14 -0
  1741. package/cli/node_modules/underscore/cjs/findLastIndex.js +6 -0
  1742. package/cli/node_modules/underscore/cjs/findWhere.js +10 -0
  1743. package/cli/node_modules/underscore/cjs/first.js +11 -0
  1744. package/cli/node_modules/underscore/cjs/flatten.js +9 -0
  1745. package/cli/node_modules/underscore/cjs/functions.js +12 -0
  1746. package/cli/node_modules/underscore/cjs/get.js +14 -0
  1747. package/cli/node_modules/underscore/cjs/groupBy.js +10 -0
  1748. package/cli/node_modules/underscore/cjs/has.js +18 -0
  1749. package/cli/node_modules/underscore/cjs/identity.js +6 -0
  1750. package/cli/node_modules/underscore/cjs/index-default.js +11 -0
  1751. package/cli/node_modules/underscore/cjs/index.js +278 -0
  1752. package/cli/node_modules/underscore/cjs/indexBy.js +9 -0
  1753. package/cli/node_modules/underscore/cjs/indexOf.js +11 -0
  1754. package/cli/node_modules/underscore/cjs/initial.js +10 -0
  1755. package/cli/node_modules/underscore/cjs/intersection.js +21 -0
  1756. package/cli/node_modules/underscore/cjs/invert.js +13 -0
  1757. package/cli/node_modules/underscore/cjs/invoke.js +30 -0
  1758. package/cli/node_modules/underscore/cjs/isArguments.js +18 -0
  1759. package/cli/node_modules/underscore/cjs/isArray.js +8 -0
  1760. package/cli/node_modules/underscore/cjs/isArrayBuffer.js +5 -0
  1761. package/cli/node_modules/underscore/cjs/isBoolean.js +8 -0
  1762. package/cli/node_modules/underscore/cjs/isDataView.js +16 -0
  1763. package/cli/node_modules/underscore/cjs/isDate.js +5 -0
  1764. package/cli/node_modules/underscore/cjs/isElement.js +6 -0
  1765. package/cli/node_modules/underscore/cjs/isEmpty.js +20 -0
  1766. package/cli/node_modules/underscore/cjs/isEqual.js +140 -0
  1767. package/cli/node_modules/underscore/cjs/isError.js +5 -0
  1768. package/cli/node_modules/underscore/cjs/isFinite.js +9 -0
  1769. package/cli/node_modules/underscore/cjs/isFunction.js +17 -0
  1770. package/cli/node_modules/underscore/cjs/isMap.js +7 -0
  1771. package/cli/node_modules/underscore/cjs/isMatch.js +15 -0
  1772. package/cli/node_modules/underscore/cjs/isNaN.js +9 -0
  1773. package/cli/node_modules/underscore/cjs/isNull.js +6 -0
  1774. package/cli/node_modules/underscore/cjs/isNumber.js +5 -0
  1775. package/cli/node_modules/underscore/cjs/isObject.js +7 -0
  1776. package/cli/node_modules/underscore/cjs/isRegExp.js +5 -0
  1777. package/cli/node_modules/underscore/cjs/isSet.js +7 -0
  1778. package/cli/node_modules/underscore/cjs/isString.js +5 -0
  1779. package/cli/node_modules/underscore/cjs/isSymbol.js +5 -0
  1780. package/cli/node_modules/underscore/cjs/isTypedArray.js +17 -0
  1781. package/cli/node_modules/underscore/cjs/isUndefined.js +6 -0
  1782. package/cli/node_modules/underscore/cjs/isWeakMap.js +7 -0
  1783. package/cli/node_modules/underscore/cjs/isWeakSet.js +5 -0
  1784. package/cli/node_modules/underscore/cjs/iteratee.js +12 -0
  1785. package/cli/node_modules/underscore/cjs/keys.js +18 -0
  1786. package/cli/node_modules/underscore/cjs/last.js +11 -0
  1787. package/cli/node_modules/underscore/cjs/lastIndexOf.js +8 -0
  1788. package/cli/node_modules/underscore/cjs/map.js +18 -0
  1789. package/cli/node_modules/underscore/cjs/mapObject.js +18 -0
  1790. package/cli/node_modules/underscore/cjs/matcher.js +13 -0
  1791. package/cli/node_modules/underscore/cjs/max.js +31 -0
  1792. package/cli/node_modules/underscore/cjs/memoize.js +15 -0
  1793. package/cli/node_modules/underscore/cjs/min.js +31 -0
  1794. package/cli/node_modules/underscore/cjs/mixin.js +20 -0
  1795. package/cli/node_modules/underscore/cjs/negate.js +8 -0
  1796. package/cli/node_modules/underscore/cjs/noop.js +4 -0
  1797. package/cli/node_modules/underscore/cjs/now.js +6 -0
  1798. package/cli/node_modules/underscore/cjs/object.js +18 -0
  1799. package/cli/node_modules/underscore/cjs/omit.js +24 -0
  1800. package/cli/node_modules/underscore/cjs/once.js +8 -0
  1801. package/cli/node_modules/underscore/cjs/pairs.js +15 -0
  1802. package/cli/node_modules/underscore/cjs/partial.js +25 -0
  1803. package/cli/node_modules/underscore/cjs/partition.js +9 -0
  1804. package/cli/node_modules/underscore/cjs/pick.js +28 -0
  1805. package/cli/node_modules/underscore/cjs/pluck.js +9 -0
  1806. package/cli/node_modules/underscore/cjs/property.js +13 -0
  1807. package/cli/node_modules/underscore/cjs/propertyOf.js +12 -0
  1808. package/cli/node_modules/underscore/cjs/random.js +10 -0
  1809. package/cli/node_modules/underscore/cjs/range.js +23 -0
  1810. package/cli/node_modules/underscore/cjs/reduce.js +7 -0
  1811. package/cli/node_modules/underscore/cjs/reduceRight.js +6 -0
  1812. package/cli/node_modules/underscore/cjs/reject.js +10 -0
  1813. package/cli/node_modules/underscore/cjs/rest.js +10 -0
  1814. package/cli/node_modules/underscore/cjs/restArguments.js +29 -0
  1815. package/cli/node_modules/underscore/cjs/result.js +24 -0
  1816. package/cli/node_modules/underscore/cjs/sample.js +29 -0
  1817. package/cli/node_modules/underscore/cjs/shuffle.js +8 -0
  1818. package/cli/node_modules/underscore/cjs/size.js +10 -0
  1819. package/cli/node_modules/underscore/cjs/some.js +17 -0
  1820. package/cli/node_modules/underscore/cjs/sortBy.js +26 -0
  1821. package/cli/node_modules/underscore/cjs/sortedIndex.js +17 -0
  1822. package/cli/node_modules/underscore/cjs/tap.js +9 -0
  1823. package/cli/node_modules/underscore/cjs/template.js +103 -0
  1824. package/cli/node_modules/underscore/cjs/templateSettings.js +11 -0
  1825. package/cli/node_modules/underscore/cjs/throttle.js +49 -0
  1826. package/cli/node_modules/underscore/cjs/times.js +11 -0
  1827. package/cli/node_modules/underscore/cjs/toArray.js +22 -0
  1828. package/cli/node_modules/underscore/cjs/toPath.js +11 -0
  1829. package/cli/node_modules/underscore/cjs/underscore-array-methods.js +31 -0
  1830. package/cli/node_modules/underscore/cjs/underscore.js +27 -0
  1831. package/cli/node_modules/underscore/cjs/unescape.js +7 -0
  1832. package/cli/node_modules/underscore/cjs/union.js +11 -0
  1833. package/cli/node_modules/underscore/cjs/uniq.js +38 -0
  1834. package/cli/node_modules/underscore/cjs/uniqueId.js +9 -0
  1835. package/cli/node_modules/underscore/cjs/unzip.js +17 -0
  1836. package/cli/node_modules/underscore/cjs/values.js +14 -0
  1837. package/cli/node_modules/underscore/cjs/where.js +10 -0
  1838. package/cli/node_modules/underscore/cjs/without.js +9 -0
  1839. package/cli/node_modules/underscore/cjs/wrap.js +10 -0
  1840. package/cli/node_modules/underscore/cjs/zip.js +8 -0
  1841. package/cli/node_modules/underscore/modules/.eslintrc +21 -0
  1842. package/cli/node_modules/underscore/modules/_baseCreate.js +18 -0
  1843. package/cli/node_modules/underscore/modules/_baseIteratee.js +17 -0
  1844. package/cli/node_modules/underscore/modules/_cb.js +10 -0
  1845. package/cli/node_modules/underscore/modules/_chainResult.js +6 -0
  1846. package/cli/node_modules/underscore/modules/_collectNonEnumProps.js +40 -0
  1847. package/cli/node_modules/underscore/modules/_createAssigner.js +18 -0
  1848. package/cli/node_modules/underscore/modules/_createEscaper.js +17 -0
  1849. package/cli/node_modules/underscore/modules/_createIndexFinder.js +28 -0
  1850. package/cli/node_modules/underscore/modules/_createPredicateIndexFinder.js +15 -0
  1851. package/cli/node_modules/underscore/modules/_createReduce.js +28 -0
  1852. package/cli/node_modules/underscore/modules/_createSizePropertyCheck.js +9 -0
  1853. package/cli/node_modules/underscore/modules/_deepGet.js +9 -0
  1854. package/cli/node_modules/underscore/modules/_escapeMap.js +9 -0
  1855. package/cli/node_modules/underscore/modules/_executeBound.js +13 -0
  1856. package/cli/node_modules/underscore/modules/_flatten.js +31 -0
  1857. package/cli/node_modules/underscore/modules/_getByteLength.js +4 -0
  1858. package/cli/node_modules/underscore/modules/_getLength.js +4 -0
  1859. package/cli/node_modules/underscore/modules/_group.js +15 -0
  1860. package/cli/node_modules/underscore/modules/_has.js +6 -0
  1861. package/cli/node_modules/underscore/modules/_hasObjectTag.js +3 -0
  1862. package/cli/node_modules/underscore/modules/_isArrayLike.js +8 -0
  1863. package/cli/node_modules/underscore/modules/_isBufferLike.js +6 -0
  1864. package/cli/node_modules/underscore/modules/_keyInObj.js +5 -0
  1865. package/cli/node_modules/underscore/modules/_methodFingerprint.js +37 -0
  1866. package/cli/node_modules/underscore/modules/_optimizeCb.js +21 -0
  1867. package/cli/node_modules/underscore/modules/_setup.js +43 -0
  1868. package/cli/node_modules/underscore/modules/_shallowProperty.js +6 -0
  1869. package/cli/node_modules/underscore/modules/_stringTagBug.js +10 -0
  1870. package/cli/node_modules/underscore/modules/_tagTester.js +9 -0
  1871. package/cli/node_modules/underscore/modules/_toBufferView.js +11 -0
  1872. package/cli/node_modules/underscore/modules/_toPath.js +8 -0
  1873. package/cli/node_modules/underscore/modules/_unescapeMap.js +5 -0
  1874. package/cli/node_modules/underscore/modules/after.js +8 -0
  1875. package/cli/node_modules/underscore/modules/allKeys.js +13 -0
  1876. package/cli/node_modules/underscore/modules/before.js +12 -0
  1877. package/cli/node_modules/underscore/modules/bind.js +13 -0
  1878. package/cli/node_modules/underscore/modules/bindAll.js +17 -0
  1879. package/cli/node_modules/underscore/modules/chain.js +8 -0
  1880. package/cli/node_modules/underscore/modules/chunk.js +13 -0
  1881. package/cli/node_modules/underscore/modules/clone.js +9 -0
  1882. package/cli/node_modules/underscore/modules/compact.js +6 -0
  1883. package/cli/node_modules/underscore/modules/compose.js +12 -0
  1884. package/cli/node_modules/underscore/modules/constant.js +6 -0
  1885. package/cli/node_modules/underscore/modules/contains.js +10 -0
  1886. package/cli/node_modules/underscore/modules/countBy.js +9 -0
  1887. package/cli/node_modules/underscore/modules/create.js +11 -0
  1888. package/cli/node_modules/underscore/modules/debounce.js +40 -0
  1889. package/cli/node_modules/underscore/modules/defaults.js +5 -0
  1890. package/cli/node_modules/underscore/modules/defer.js +7 -0
  1891. package/cli/node_modules/underscore/modules/delay.js +9 -0
  1892. package/cli/node_modules/underscore/modules/difference.js +13 -0
  1893. package/cli/node_modules/underscore/modules/each.js +23 -0
  1894. package/cli/node_modules/underscore/modules/escape.js +5 -0
  1895. package/cli/node_modules/underscore/modules/every.js +15 -0
  1896. package/cli/node_modules/underscore/modules/extend.js +5 -0
  1897. package/cli/node_modules/underscore/modules/extendOwn.js +7 -0
  1898. package/cli/node_modules/underscore/modules/filter.js +12 -0
  1899. package/cli/node_modules/underscore/modules/find.js +10 -0
  1900. package/cli/node_modules/underscore/modules/findIndex.js +4 -0
  1901. package/cli/node_modules/underscore/modules/findKey.js +12 -0
  1902. package/cli/node_modules/underscore/modules/findLastIndex.js +4 -0
  1903. package/cli/node_modules/underscore/modules/findWhere.js +8 -0
  1904. package/cli/node_modules/underscore/modules/first.js +9 -0
  1905. package/cli/node_modules/underscore/modules/flatten.js +7 -0
  1906. package/cli/node_modules/underscore/modules/functions.js +10 -0
  1907. package/cli/node_modules/underscore/modules/get.js +12 -0
  1908. package/cli/node_modules/underscore/modules/groupBy.js +8 -0
  1909. package/cli/node_modules/underscore/modules/has.js +16 -0
  1910. package/cli/node_modules/underscore/modules/identity.js +4 -0
  1911. package/cli/node_modules/underscore/modules/index-all.js +18 -0
  1912. package/cli/node_modules/underscore/modules/index-default.js +27 -0
  1913. package/cli/node_modules/underscore/modules/index.js +200 -0
  1914. package/cli/node_modules/underscore/modules/indexBy.js +7 -0
  1915. package/cli/node_modules/underscore/modules/indexOf.js +9 -0
  1916. package/cli/node_modules/underscore/modules/initial.js +8 -0
  1917. package/cli/node_modules/underscore/modules/intersection.js +19 -0
  1918. package/cli/node_modules/underscore/modules/invert.js +11 -0
  1919. package/cli/node_modules/underscore/modules/invoke.js +28 -0
  1920. package/cli/node_modules/underscore/modules/isArguments.js +16 -0
  1921. package/cli/node_modules/underscore/modules/isArray.js +6 -0
  1922. package/cli/node_modules/underscore/modules/isArrayBuffer.js +3 -0
  1923. package/cli/node_modules/underscore/modules/isBoolean.js +6 -0
  1924. package/cli/node_modules/underscore/modules/isDataView.js +14 -0
  1925. package/cli/node_modules/underscore/modules/isDate.js +3 -0
  1926. package/cli/node_modules/underscore/modules/isElement.js +4 -0
  1927. package/cli/node_modules/underscore/modules/isEmpty.js +18 -0
  1928. package/cli/node_modules/underscore/modules/isEqual.js +138 -0
  1929. package/cli/node_modules/underscore/modules/isError.js +3 -0
  1930. package/cli/node_modules/underscore/modules/isFinite.js +7 -0
  1931. package/cli/node_modules/underscore/modules/isFunction.js +15 -0
  1932. package/cli/node_modules/underscore/modules/isMap.js +5 -0
  1933. package/cli/node_modules/underscore/modules/isMatch.js +13 -0
  1934. package/cli/node_modules/underscore/modules/isNaN.js +7 -0
  1935. package/cli/node_modules/underscore/modules/isNull.js +4 -0
  1936. package/cli/node_modules/underscore/modules/isNumber.js +3 -0
  1937. package/cli/node_modules/underscore/modules/isObject.js +5 -0
  1938. package/cli/node_modules/underscore/modules/isRegExp.js +3 -0
  1939. package/cli/node_modules/underscore/modules/isSet.js +5 -0
  1940. package/cli/node_modules/underscore/modules/isString.js +3 -0
  1941. package/cli/node_modules/underscore/modules/isSymbol.js +3 -0
  1942. package/cli/node_modules/underscore/modules/isTypedArray.js +15 -0
  1943. package/cli/node_modules/underscore/modules/isUndefined.js +4 -0
  1944. package/cli/node_modules/underscore/modules/isWeakMap.js +5 -0
  1945. package/cli/node_modules/underscore/modules/isWeakSet.js +3 -0
  1946. package/cli/node_modules/underscore/modules/iteratee.js +10 -0
  1947. package/cli/node_modules/underscore/modules/keys.js +16 -0
  1948. package/cli/node_modules/underscore/modules/last.js +9 -0
  1949. package/cli/node_modules/underscore/modules/lastIndexOf.js +6 -0
  1950. package/cli/node_modules/underscore/modules/map.js +16 -0
  1951. package/cli/node_modules/underscore/modules/mapObject.js +16 -0
  1952. package/cli/node_modules/underscore/modules/matcher.js +11 -0
  1953. package/cli/node_modules/underscore/modules/max.js +29 -0
  1954. package/cli/node_modules/underscore/modules/memoize.js +13 -0
  1955. package/cli/node_modules/underscore/modules/min.js +29 -0
  1956. package/cli/node_modules/underscore/modules/mixin.js +18 -0
  1957. package/cli/node_modules/underscore/modules/negate.js +6 -0
  1958. package/cli/node_modules/underscore/modules/noop.js +2 -0
  1959. package/cli/node_modules/underscore/modules/now.js +4 -0
  1960. package/cli/node_modules/underscore/modules/object.js +16 -0
  1961. package/cli/node_modules/underscore/modules/omit.js +22 -0
  1962. package/cli/node_modules/underscore/modules/once.js +6 -0
  1963. package/cli/node_modules/underscore/modules/package.json +1 -0
  1964. package/cli/node_modules/underscore/modules/pairs.js +13 -0
  1965. package/cli/node_modules/underscore/modules/partial.js +24 -0
  1966. package/cli/node_modules/underscore/modules/partition.js +7 -0
  1967. package/cli/node_modules/underscore/modules/pick.js +26 -0
  1968. package/cli/node_modules/underscore/modules/pluck.js +7 -0
  1969. package/cli/node_modules/underscore/modules/property.js +11 -0
  1970. package/cli/node_modules/underscore/modules/propertyOf.js +10 -0
  1971. package/cli/node_modules/underscore/modules/random.js +8 -0
  1972. package/cli/node_modules/underscore/modules/range.js +21 -0
  1973. package/cli/node_modules/underscore/modules/reduce.js +5 -0
  1974. package/cli/node_modules/underscore/modules/reduceRight.js +4 -0
  1975. package/cli/node_modules/underscore/modules/reject.js +8 -0
  1976. package/cli/node_modules/underscore/modules/rest.js +8 -0
  1977. package/cli/node_modules/underscore/modules/restArguments.js +27 -0
  1978. package/cli/node_modules/underscore/modules/result.js +22 -0
  1979. package/cli/node_modules/underscore/modules/sample.js +27 -0
  1980. package/cli/node_modules/underscore/modules/shuffle.js +6 -0
  1981. package/cli/node_modules/underscore/modules/size.js +8 -0
  1982. package/cli/node_modules/underscore/modules/some.js +15 -0
  1983. package/cli/node_modules/underscore/modules/sortBy.js +24 -0
  1984. package/cli/node_modules/underscore/modules/sortedIndex.js +15 -0
  1985. package/cli/node_modules/underscore/modules/tap.js +7 -0
  1986. package/cli/node_modules/underscore/modules/template.js +101 -0
  1987. package/cli/node_modules/underscore/modules/templateSettings.js +9 -0
  1988. package/cli/node_modules/underscore/modules/throttle.js +47 -0
  1989. package/cli/node_modules/underscore/modules/times.js +9 -0
  1990. package/cli/node_modules/underscore/modules/toArray.js +20 -0
  1991. package/cli/node_modules/underscore/modules/toPath.js +9 -0
  1992. package/cli/node_modules/underscore/modules/underscore-array-methods.js +31 -0
  1993. package/cli/node_modules/underscore/modules/underscore.js +25 -0
  1994. package/cli/node_modules/underscore/modules/unescape.js +5 -0
  1995. package/cli/node_modules/underscore/modules/union.js +9 -0
  1996. package/cli/node_modules/underscore/modules/uniq.js +36 -0
  1997. package/cli/node_modules/underscore/modules/uniqueId.js +7 -0
  1998. package/cli/node_modules/underscore/modules/unzip.js +15 -0
  1999. package/cli/node_modules/underscore/modules/values.js +12 -0
  2000. package/cli/node_modules/underscore/modules/where.js +8 -0
  2001. package/cli/node_modules/underscore/modules/without.js +7 -0
  2002. package/cli/node_modules/underscore/modules/wrap.js +8 -0
  2003. package/cli/node_modules/underscore/modules/zip.js +6 -0
  2004. package/cli/node_modules/underscore/package.json +122 -0
  2005. package/cli/node_modules/underscore/underscore-esm-min.js +5 -0
  2006. package/cli/node_modules/underscore/underscore-esm-min.js.map +1 -0
  2007. package/cli/node_modules/underscore/underscore-esm.js +2034 -0
  2008. package/cli/node_modules/underscore/underscore-esm.js.map +1 -0
  2009. package/cli/node_modules/underscore/underscore-min.js +6 -0
  2010. package/cli/node_modules/underscore/underscore-min.js.map +1 -0
  2011. package/cli/node_modules/underscore/underscore-node-f.cjs +2158 -0
  2012. package/cli/node_modules/underscore/underscore-node-f.cjs.map +1 -0
  2013. package/cli/node_modules/underscore/underscore-node.cjs +11 -0
  2014. package/cli/node_modules/underscore/underscore-node.cjs.map +1 -0
  2015. package/cli/node_modules/underscore/underscore-node.mjs +7 -0
  2016. package/cli/node_modules/underscore/underscore-node.mjs.map +1 -0
  2017. package/cli/node_modules/underscore/underscore-umd-min.js +6 -0
  2018. package/cli/node_modules/underscore/underscore-umd-min.js.map +1 -0
  2019. package/cli/node_modules/underscore/underscore-umd.js +2042 -0
  2020. package/cli/node_modules/underscore/underscore-umd.js.map +1 -0
  2021. package/cli/node_modules/underscore/underscore.js +2042 -0
  2022. package/cli/node_modules/xmlcreate/CHANGES.md +53 -0
  2023. package/cli/node_modules/xmlcreate/LICENSE +201 -0
  2024. package/cli/node_modules/xmlcreate/NOTICE +2 -0
  2025. package/cli/node_modules/xmlcreate/README.md +141 -0
  2026. package/cli/node_modules/xmlcreate/lib/error.d.ts +19 -0
  2027. package/cli/node_modules/xmlcreate/lib/error.js +47 -0
  2028. package/cli/node_modules/xmlcreate/lib/escape.d.ts +37 -0
  2029. package/cli/node_modules/xmlcreate/lib/escape.js +55 -0
  2030. package/cli/node_modules/xmlcreate/lib/main.d.ts +38 -0
  2031. package/cli/node_modules/xmlcreate/lib/main.js +64 -0
  2032. package/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.d.ts +88 -0
  2033. package/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.js +146 -0
  2034. package/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.d.ts +58 -0
  2035. package/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.js +80 -0
  2036. package/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.d.ts +63 -0
  2037. package/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.js +88 -0
  2038. package/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.d.ts +59 -0
  2039. package/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.js +82 -0
  2040. package/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.d.ts +89 -0
  2041. package/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.js +136 -0
  2042. package/cli/node_modules/xmlcreate/lib/nodes/XmlComment.d.ts +62 -0
  2043. package/cli/node_modules/xmlcreate/lib/nodes/XmlComment.js +99 -0
  2044. package/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.d.ts +92 -0
  2045. package/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.js +180 -0
  2046. package/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.d.ts +96 -0
  2047. package/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.js +166 -0
  2048. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.d.ts +147 -0
  2049. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.js +312 -0
  2050. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.d.ts +56 -0
  2051. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.js +71 -0
  2052. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.d.ts +56 -0
  2053. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.js +71 -0
  2054. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.d.ts +56 -0
  2055. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.js +71 -0
  2056. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.d.ts +56 -0
  2057. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.js +71 -0
  2058. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.d.ts +56 -0
  2059. package/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.js +71 -0
  2060. package/cli/node_modules/xmlcreate/lib/nodes/XmlElement.d.ts +153 -0
  2061. package/cli/node_modules/xmlcreate/lib/nodes/XmlElement.js +302 -0
  2062. package/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.d.ts +56 -0
  2063. package/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.js +71 -0
  2064. package/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.d.ts +71 -0
  2065. package/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.js +112 -0
  2066. package/cli/node_modules/xmlcreate/lib/options.d.ts +51 -0
  2067. package/cli/node_modules/xmlcreate/lib/options.js +45 -0
  2068. package/cli/node_modules/xmlcreate/lib/validate.d.ts +46 -0
  2069. package/cli/node_modules/xmlcreate/lib/validate.js +274 -0
  2070. package/cli/node_modules/xmlcreate/package.json +55 -0
  2071. package/cli/package.json +3 -1
  2072. package/dist/light/protobuf.js +11 -7
  2073. package/dist/light/protobuf.js.map +1 -1
  2074. package/dist/light/protobuf.min.js +3 -3
  2075. package/dist/light/protobuf.min.js.map +1 -1
  2076. package/dist/minimal/protobuf.js +2 -2
  2077. package/dist/minimal/protobuf.min.js +3 -3
  2078. package/dist/minimal/protobuf.min.js.map +1 -1
  2079. package/dist/protobuf.js +11 -7
  2080. package/dist/protobuf.js.map +1 -1
  2081. package/dist/protobuf.min.js +3 -3
  2082. package/dist/protobuf.min.js.map +1 -1
  2083. package/package.json +4 -4
  2084. package/src/util.js +3 -0
  2085. package/CHANGELOG.md +0 -1019
  2086. package/cli/node_modules/balanced-match/.npmignore +0 -5
  2087. package/cli/node_modules/deep-is/.npmignore +0 -1
  2088. package/cli/node_modules/deep-is/.travis.yml +0 -6
  2089. package/cli/node_modules/deep-is/LICENSE +0 -22
  2090. package/cli/node_modules/deep-is/README.markdown +0 -70
  2091. package/cli/node_modules/deep-is/example/cmp.js +0 -11
  2092. package/cli/node_modules/deep-is/index.js +0 -102
  2093. package/cli/node_modules/deep-is/package.json +0 -61
  2094. package/cli/node_modules/deep-is/test/NaN.js +0 -16
  2095. package/cli/node_modules/deep-is/test/cmp.js +0 -23
  2096. package/cli/node_modules/deep-is/test/neg-vs-pos-0.js +0 -15
  2097. package/cli/node_modules/fast-levenshtein/LICENSE.md +0 -25
  2098. package/cli/node_modules/fast-levenshtein/README.md +0 -104
  2099. package/cli/node_modules/fast-levenshtein/levenshtein.js +0 -136
  2100. package/cli/node_modules/fast-levenshtein/package.json +0 -39
  2101. package/cli/node_modules/glob/changelog.md +0 -67
  2102. package/cli/node_modules/levn/README.md +0 -196
  2103. package/cli/node_modules/levn/lib/cast.js +0 -298
  2104. package/cli/node_modules/levn/lib/coerce.js +0 -285
  2105. package/cli/node_modules/levn/lib/index.js +0 -22
  2106. package/cli/node_modules/levn/lib/parse-string.js +0 -113
  2107. package/cli/node_modules/levn/lib/parse.js +0 -102
  2108. package/cli/node_modules/levn/package.json +0 -47
  2109. package/cli/node_modules/optionator/CHANGELOG.md +0 -56
  2110. package/cli/node_modules/optionator/LICENSE +0 -22
  2111. package/cli/node_modules/optionator/README.md +0 -238
  2112. package/cli/node_modules/optionator/lib/help.js +0 -260
  2113. package/cli/node_modules/optionator/lib/index.js +0 -465
  2114. package/cli/node_modules/optionator/lib/util.js +0 -54
  2115. package/cli/node_modules/optionator/package.json +0 -44
  2116. package/cli/node_modules/prelude-ls/CHANGELOG.md +0 -99
  2117. package/cli/node_modules/prelude-ls/README.md +0 -15
  2118. package/cli/node_modules/prelude-ls/lib/Func.js +0 -65
  2119. package/cli/node_modules/prelude-ls/lib/List.js +0 -686
  2120. package/cli/node_modules/prelude-ls/lib/Num.js +0 -130
  2121. package/cli/node_modules/prelude-ls/lib/Obj.js +0 -154
  2122. package/cli/node_modules/prelude-ls/lib/Str.js +0 -92
  2123. package/cli/node_modules/prelude-ls/lib/index.js +0 -178
  2124. package/cli/node_modules/prelude-ls/package.json +0 -52
  2125. package/cli/node_modules/type-check/README.md +0 -210
  2126. package/cli/node_modules/type-check/lib/check.js +0 -126
  2127. package/cli/node_modules/type-check/lib/index.js +0 -16
  2128. package/cli/node_modules/type-check/lib/parse-type.js +0 -196
  2129. package/cli/node_modules/type-check/package.json +0 -40
  2130. package/cli/node_modules/word-wrap/README.md +0 -182
  2131. package/cli/node_modules/word-wrap/index.d.ts +0 -50
  2132. package/cli/node_modules/word-wrap/index.js +0 -46
  2133. package/cli/node_modules/word-wrap/package.json +0 -77
  2134. /package/cli/node_modules/{acorn → espree/node_modules/acorn}/dist/acorn.js.map +0 -0
  2135. /package/cli/node_modules/{acorn → espree/node_modules/acorn}/dist/acorn.mjs.map +0 -0
@@ -1,8 +1,22 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
3
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
- (global = global || self, factory(global.acorn = {}));
5
- }(this, (function (exports) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.acorn = {}));
5
+ })(this, (function (exports) { 'use strict';
6
+
7
+ // This file was generated. Do not modify manually!
8
+ 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, 154, 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, 161, 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, 19306, 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, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
9
+
10
+ // This file was generated. Do not modify manually!
11
+ 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, 85, 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, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 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, 46, 2, 18, 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, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 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, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
12
+
13
+ // This file was generated. Do not modify manually!
14
+ 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\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-\u0ecd\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\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\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";
15
+
16
+ // This file was generated. Do not modify manually!
17
+ 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";
18
+
19
+ // These are a run-length and offset encoded representation of the
6
20
 
7
21
  // Reserved word lists for various dialects of the language
8
22
 
@@ -18,7 +32,7 @@
18
32
 
19
33
  var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";
20
34
 
21
- var keywords = {
35
+ var keywords$1 = {
22
36
  5: ecma5AndLessKeywords,
23
37
  "5module": ecma5AndLessKeywords + " export import",
24
38
  6: ecma5AndLessKeywords + " const class extends export import super"
@@ -28,31 +42,9 @@
28
42
 
29
43
  // ## Character categories
30
44
 
31
- // Big ugly regular expressions that match characters in the
32
- // whitespace, identifier, and identifier-start categories. These
33
- // are only applied when a character is found to actually have a
34
- // code point above 128.
35
- // Generated by `bin/generate-identifier-regex.js`.
36
- 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\u08a0-\u08b4\u08b6-\u08c7\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\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\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-\u170c\u170e-\u1711\u1720-\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-\u1b4b\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-\u2c2e\u2c30-\u2c5e\u2c60-\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-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\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";
37
- 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\u08d3-\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\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\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-\u0ecd\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-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\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-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\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";
38
-
39
45
  var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
40
46
  var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
41
47
 
42
- nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
43
-
44
- // These are a run-length and offset encoded representation of the
45
- // >0xffff code points that are a valid part of identifiers. The
46
- // offset starts at 0x10000, and each pair of numbers represents an
47
- // offset to the next range, and then a size of the range. They were
48
- // generated by bin/generate-identifier-regex.js
49
-
50
- // eslint-disable-next-line comma-spacing
51
- 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,157,310,10,21,11,7,153,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,107,20,28,22,13,52,76,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,85,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,230,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,35,56,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,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,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,8952,286,50,2,18,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,2357,44,11,6,17,0,370,43,1301,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,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938];
52
-
53
- // eslint-disable-next-line comma-spacing
54
- 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,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,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,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,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,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];
55
-
56
48
  // This has a complexity linear to the value of the code. The
57
49
  // assumption is that looking up astral identifier characters is
58
50
  // rare.
@@ -137,21 +129,22 @@
137
129
 
138
130
  // Map keyword names to token types.
139
131
 
140
- var keywords$1 = {};
132
+ var keywords = {};
141
133
 
142
134
  // Succinct definitions of keyword token types
143
135
  function kw(name, options) {
144
136
  if ( options === void 0 ) options = {};
145
137
 
146
138
  options.keyword = name;
147
- return keywords$1[name] = new TokenType(name, options)
139
+ return keywords[name] = new TokenType(name, options)
148
140
  }
149
141
 
150
- var types = {
142
+ var types$1 = {
151
143
  num: new TokenType("num", startsExpr),
152
144
  regexp: new TokenType("regexp", startsExpr),
153
145
  string: new TokenType("string", startsExpr),
154
146
  name: new TokenType("name", startsExpr),
147
+ privateId: new TokenType("privateId", startsExpr),
155
148
  eof: new TokenType("eof"),
156
149
 
157
150
  // Punctuation token types.
@@ -251,8 +244,19 @@
251
244
  var lineBreak = /\r\n?|\n|\u2028|\u2029/;
252
245
  var lineBreakG = new RegExp(lineBreak.source, "g");
253
246
 
254
- function isNewLine(code, ecma2019String) {
255
- return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))
247
+ function isNewLine(code) {
248
+ return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
249
+ }
250
+
251
+ function nextLineBreak(code, from, end) {
252
+ if ( end === void 0 ) end = code.length;
253
+
254
+ for (var i = from; i < end; i++) {
255
+ var next = code.charCodeAt(i);
256
+ if (isNewLine(next))
257
+ { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
258
+ }
259
+ return -1
256
260
  }
257
261
 
258
262
  var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
@@ -263,11 +267,9 @@
263
267
  var hasOwnProperty = ref.hasOwnProperty;
264
268
  var toString = ref.toString;
265
269
 
266
- // Checks if an object has a property.
267
-
268
- function has(obj, propName) {
269
- return hasOwnProperty.call(obj, propName)
270
- }
270
+ var hasOwn = Object.hasOwn || (function (obj, propName) { return (
271
+ hasOwnProperty.call(obj, propName)
272
+ ); });
271
273
 
272
274
  var isArray = Array.isArray || (function (obj) { return (
273
275
  toString.call(obj) === "[object Array]"
@@ -277,6 +279,15 @@
277
279
  return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
278
280
  }
279
281
 
282
+ function codePointToString(code) {
283
+ // UTF-16 Decoding
284
+ if (code <= 0xFFFF) { return String.fromCharCode(code) }
285
+ code -= 0x10000;
286
+ return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
287
+ }
288
+
289
+ var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
290
+
280
291
  // These are used when `options.locations` is on, for the
281
292
  // `startLoc` and `endLoc` properties.
282
293
 
@@ -303,27 +314,24 @@
303
314
 
304
315
  function getLineInfo(input, offset) {
305
316
  for (var line = 1, cur = 0;;) {
306
- lineBreakG.lastIndex = cur;
307
- var match = lineBreakG.exec(input);
308
- if (match && match.index < offset) {
309
- ++line;
310
- cur = match.index + match[0].length;
311
- } else {
312
- return new Position(line, offset - cur)
313
- }
317
+ var nextBreak = nextLineBreak(input, cur, offset);
318
+ if (nextBreak < 0) { return new Position(line, offset - cur) }
319
+ ++line;
320
+ cur = nextBreak;
314
321
  }
315
322
  }
316
323
 
317
- // A second optional argument can be given to further configure
318
- // the parser process. These options are recognized:
324
+ // A second argument must be given to configure the parser process.
325
+ // These options are recognized (only `ecmaVersion` is required):
319
326
 
320
327
  var defaultOptions = {
321
328
  // `ecmaVersion` indicates the ECMAScript version to parse. Must be
322
- // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10
323
- // (2019). This influences support for strict mode, the set of
324
- // reserved words, and support for new syntax features. The default
325
- // is 10.
326
- ecmaVersion: 10,
329
+ // either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10
330
+ // (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `"latest"`
331
+ // (the latest version the library supports). This influences
332
+ // support for strict mode, the set of reserved words, and support
333
+ // for new syntax features.
334
+ ecmaVersion: null,
327
335
  // `sourceType` indicates the mode the code should be parsed in.
328
336
  // Can be either `"script"` or `"module"`. This influences global
329
337
  // strict mode and parsing of `import` and `export` declarations.
@@ -346,13 +354,19 @@
346
354
  // error.
347
355
  allowReturnOutsideFunction: false,
348
356
  // When enabled, import/export statements are not constrained to
349
- // appearing at the top of the program.
357
+ // appearing at the top of the program, and an import.meta expression
358
+ // in a script isn't considered an error.
350
359
  allowImportExportEverywhere: false,
360
+ // By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022.
351
361
  // When enabled, await identifiers are allowed to appear at the top-level scope,
352
362
  // but they are still not allowed in non-async functions.
353
- allowAwaitOutsideFunction: false,
354
- // When enabled, hashbang directive in the beginning of file
355
- // is allowed and treated as a line comment.
363
+ allowAwaitOutsideFunction: null,
364
+ // When enabled, super identifiers are not constrained to
365
+ // appearing in methods and do not raise an error when they appear elsewhere.
366
+ allowSuperOutsideMethod: null,
367
+ // When enabled, hashbang directive in the beginning of file is
368
+ // allowed and treated as a line comment. Enabled by default when
369
+ // `ecmaVersion` >= 2023.
356
370
  allowHashBang: false,
357
371
  // When `locations` is on, `loc` properties holding objects with
358
372
  // `start` and `end` properties in `{line, column}` form (with
@@ -404,18 +418,32 @@
404
418
 
405
419
  // Interpret and default an options object
406
420
 
421
+ var warnedAboutEcmaVersion = false;
422
+
407
423
  function getOptions(opts) {
408
424
  var options = {};
409
425
 
410
426
  for (var opt in defaultOptions)
411
- { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }
412
-
413
- if (options.ecmaVersion >= 2015)
414
- { options.ecmaVersion -= 2009; }
427
+ { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }
428
+
429
+ if (options.ecmaVersion === "latest") {
430
+ options.ecmaVersion = 1e8;
431
+ } else if (options.ecmaVersion == null) {
432
+ if (!warnedAboutEcmaVersion && typeof console === "object" && console.warn) {
433
+ warnedAboutEcmaVersion = true;
434
+ console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.");
435
+ }
436
+ options.ecmaVersion = 11;
437
+ } else if (options.ecmaVersion >= 2015) {
438
+ options.ecmaVersion -= 2009;
439
+ }
415
440
 
416
441
  if (options.allowReserved == null)
417
442
  { options.allowReserved = options.ecmaVersion < 5; }
418
443
 
444
+ if (opts.allowHashBang == null)
445
+ { options.allowHashBang = options.ecmaVersion >= 14; }
446
+
419
447
  if (isArray(options.onToken)) {
420
448
  var tokens = options.onToken;
421
449
  options.onToken = function (token) { return tokens.push(token); };
@@ -446,19 +474,20 @@
446
474
  var
447
475
  SCOPE_TOP = 1,
448
476
  SCOPE_FUNCTION = 2,
449
- SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,
450
477
  SCOPE_ASYNC = 4,
451
478
  SCOPE_GENERATOR = 8,
452
479
  SCOPE_ARROW = 16,
453
480
  SCOPE_SIMPLE_CATCH = 32,
454
481
  SCOPE_SUPER = 64,
455
- SCOPE_DIRECT_SUPER = 128;
482
+ SCOPE_DIRECT_SUPER = 128,
483
+ SCOPE_CLASS_STATIC_BLOCK = 256,
484
+ SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
456
485
 
457
486
  function functionFlags(async, generator) {
458
487
  return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)
459
488
  }
460
489
 
461
- // Used in checkLVal and declareName to determine the type of a binding
490
+ // Used in checkLVal* and declareName to determine the type of a binding
462
491
  var
463
492
  BIND_NONE = 0, // Not a binding
464
493
  BIND_VAR = 1, // Var-style binding
@@ -470,11 +499,10 @@
470
499
  var Parser = function Parser(options, input, startPos) {
471
500
  this.options = options = getOptions(options);
472
501
  this.sourceFile = options.sourceFile;
473
- this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
502
+ this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
474
503
  var reserved = "";
475
504
  if (options.allowReserved !== true) {
476
- for (var v = options.ecmaVersion;; v--)
477
- { if (reserved = reservedWords[v]) { break } }
505
+ reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3];
478
506
  if (options.sourceType === "module") { reserved += " await"; }
479
507
  }
480
508
  this.reservedWords = wordsRegexp(reserved);
@@ -502,7 +530,7 @@
502
530
 
503
531
  // Properties of the current token:
504
532
  // Its type
505
- this.type = types.eof;
533
+ this.type = types$1.eof;
506
534
  // For tokens that include more information than their type, the value
507
535
  this.value = null;
508
536
  // Its start and end offset
@@ -527,13 +555,14 @@
527
555
 
528
556
  // Used to signify the start of a potential arrow function
529
557
  this.potentialArrowAt = -1;
558
+ this.potentialArrowInForAwait = false;
530
559
 
531
560
  // Positions to delayed-check that yield/await does not exist in default parameters.
532
561
  this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;
533
562
  // Labels in scope.
534
563
  this.labels = [];
535
564
  // Thus-far undefined exports.
536
- this.undefinedExports = {};
565
+ this.undefinedExports = Object.create(null);
537
566
 
538
567
  // If enabled, skip leading hashbang line.
539
568
  if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!")
@@ -545,9 +574,14 @@
545
574
 
546
575
  // For RegExp validation
547
576
  this.regexpState = null;
577
+
578
+ // The stack of private names.
579
+ // Each element has two properties: 'declared' and 'used'.
580
+ // When it exited from the outermost class definition, all used private names must be declared.
581
+ this.privateNameStack = [];
548
582
  };
549
583
 
550
- var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } };
584
+ var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },inClassStaticBlock: { configurable: true } };
551
585
 
552
586
  Parser.prototype.parse = function parse () {
553
587
  var node = this.options.program || this.startNode();
@@ -556,14 +590,41 @@
556
590
  };
557
591
 
558
592
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
559
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
560
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
561
- prototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 };
593
+
594
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };
595
+
596
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };
597
+
598
+ prototypeAccessors.canAwait.get = function () {
599
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
600
+ var scope = this.scopeStack[i];
601
+ if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
602
+ if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }
603
+ }
604
+ return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
605
+ };
606
+
607
+ prototypeAccessors.allowSuper.get = function () {
608
+ var ref = this.currentThisScope();
609
+ var flags = ref.flags;
610
+ var inClassFieldInit = ref.inClassFieldInit;
611
+ return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
612
+ };
613
+
562
614
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
615
+
563
616
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
564
617
 
565
- // Switch to a getter for 7.0.0.
566
- Parser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 };
618
+ prototypeAccessors.allowNewDotTarget.get = function () {
619
+ var ref = this.currentThisScope();
620
+ var flags = ref.flags;
621
+ var inClassFieldInit = ref.inClassFieldInit;
622
+ return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
623
+ };
624
+
625
+ prototypeAccessors.inClassStaticBlock.get = function () {
626
+ return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0
627
+ };
567
628
 
568
629
  Parser.extend = function extend () {
569
630
  var plugins = [], len = arguments.length;
@@ -590,12 +651,13 @@
590
651
 
591
652
  Object.defineProperties( Parser.prototype, prototypeAccessors );
592
653
 
593
- var pp = Parser.prototype;
654
+ var pp$9 = Parser.prototype;
594
655
 
595
656
  // ## Parser utilities
596
657
 
597
658
  var literal = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;
598
- pp.strictDirective = function(start) {
659
+ pp$9.strictDirective = function(start) {
660
+ if (this.options.ecmaVersion < 5) { return false }
599
661
  for (;;) {
600
662
  // Try to find string literal.
601
663
  skipWhiteSpace.lastIndex = start;
@@ -623,7 +685,7 @@
623
685
  // Predicate that tests whether the next token is of the given
624
686
  // type, and if yes, consumes it as a side effect.
625
687
 
626
- pp.eat = function(type) {
688
+ pp$9.eat = function(type) {
627
689
  if (this.type === type) {
628
690
  this.next();
629
691
  return true
@@ -634,13 +696,13 @@
634
696
 
635
697
  // Tests whether parsed token is a contextual keyword.
636
698
 
637
- pp.isContextual = function(name) {
638
- return this.type === types.name && this.value === name && !this.containsEsc
699
+ pp$9.isContextual = function(name) {
700
+ return this.type === types$1.name && this.value === name && !this.containsEsc
639
701
  };
640
702
 
641
703
  // Consumes contextual keyword if possible.
642
704
 
643
- pp.eatContextual = function(name) {
705
+ pp$9.eatContextual = function(name) {
644
706
  if (!this.isContextual(name)) { return false }
645
707
  this.next();
646
708
  return true
@@ -648,19 +710,19 @@
648
710
 
649
711
  // Asserts that following token is given contextual keyword.
650
712
 
651
- pp.expectContextual = function(name) {
713
+ pp$9.expectContextual = function(name) {
652
714
  if (!this.eatContextual(name)) { this.unexpected(); }
653
715
  };
654
716
 
655
717
  // Test whether a semicolon can be inserted at the current position.
656
718
 
657
- pp.canInsertSemicolon = function() {
658
- return this.type === types.eof ||
659
- this.type === types.braceR ||
719
+ pp$9.canInsertSemicolon = function() {
720
+ return this.type === types$1.eof ||
721
+ this.type === types$1.braceR ||
660
722
  lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
661
723
  };
662
724
 
663
- pp.insertSemicolon = function() {
725
+ pp$9.insertSemicolon = function() {
664
726
  if (this.canInsertSemicolon()) {
665
727
  if (this.options.onInsertedSemicolon)
666
728
  { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }
@@ -671,11 +733,11 @@
671
733
  // Consume a semicolon, or, failing that, see if we are allowed to
672
734
  // pretend that there is a semicolon at this position.
673
735
 
674
- pp.semicolon = function() {
675
- if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }
736
+ pp$9.semicolon = function() {
737
+ if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); }
676
738
  };
677
739
 
678
- pp.afterTrailingComma = function(tokType, notNext) {
740
+ pp$9.afterTrailingComma = function(tokType, notNext) {
679
741
  if (this.type === tokType) {
680
742
  if (this.options.onTrailingComma)
681
743
  { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }
@@ -688,34 +750,34 @@
688
750
  // Expect a token of a given type. If found, consume it, otherwise,
689
751
  // raise an unexpected token error.
690
752
 
691
- pp.expect = function(type) {
753
+ pp$9.expect = function(type) {
692
754
  this.eat(type) || this.unexpected();
693
755
  };
694
756
 
695
757
  // Raise an unexpected token error.
696
758
 
697
- pp.unexpected = function(pos) {
759
+ pp$9.unexpected = function(pos) {
698
760
  this.raise(pos != null ? pos : this.start, "Unexpected token");
699
761
  };
700
762
 
701
- function DestructuringErrors() {
763
+ var DestructuringErrors = function DestructuringErrors() {
702
764
  this.shorthandAssign =
703
765
  this.trailingComma =
704
766
  this.parenthesizedAssign =
705
767
  this.parenthesizedBind =
706
768
  this.doubleProto =
707
769
  -1;
708
- }
770
+ };
709
771
 
710
- pp.checkPatternErrors = function(refDestructuringErrors, isAssign) {
772
+ pp$9.checkPatternErrors = function(refDestructuringErrors, isAssign) {
711
773
  if (!refDestructuringErrors) { return }
712
774
  if (refDestructuringErrors.trailingComma > -1)
713
775
  { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); }
714
776
  var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;
715
- if (parens > -1) { this.raiseRecoverable(parens, "Parenthesized pattern"); }
777
+ if (parens > -1) { this.raiseRecoverable(parens, isAssign ? "Assigning to rvalue" : "Parenthesized pattern"); }
716
778
  };
717
779
 
718
- pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
780
+ pp$9.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
719
781
  if (!refDestructuringErrors) { return false }
720
782
  var shorthandAssign = refDestructuringErrors.shorthandAssign;
721
783
  var doubleProto = refDestructuringErrors.doubleProto;
@@ -726,20 +788,20 @@
726
788
  { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); }
727
789
  };
728
790
 
729
- pp.checkYieldAwaitInDefaultParams = function() {
791
+ pp$9.checkYieldAwaitInDefaultParams = function() {
730
792
  if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
731
793
  { this.raise(this.yieldPos, "Yield expression cannot be a default value"); }
732
794
  if (this.awaitPos)
733
795
  { this.raise(this.awaitPos, "Await expression cannot be a default value"); }
734
796
  };
735
797
 
736
- pp.isSimpleAssignTarget = function(expr) {
798
+ pp$9.isSimpleAssignTarget = function(expr) {
737
799
  if (expr.type === "ParenthesizedExpression")
738
800
  { return this.isSimpleAssignTarget(expr.expression) }
739
801
  return expr.type === "Identifier" || expr.type === "MemberExpression"
740
802
  };
741
803
 
742
- var pp$1 = Parser.prototype;
804
+ var pp$8 = Parser.prototype;
743
805
 
744
806
  // ### Statement parsing
745
807
 
@@ -748,10 +810,10 @@
748
810
  // `program` argument. If present, the statements will be appended
749
811
  // to its body instead of creating a new node.
750
812
 
751
- pp$1.parseTopLevel = function(node) {
752
- var exports = {};
813
+ pp$8.parseTopLevel = function(node) {
814
+ var exports = Object.create(null);
753
815
  if (!node.body) { node.body = []; }
754
- while (this.type !== types.eof) {
816
+ while (this.type !== types$1.eof) {
755
817
  var stmt = this.parseStatement(null, true, exports);
756
818
  node.body.push(stmt);
757
819
  }
@@ -770,7 +832,7 @@
770
832
 
771
833
  var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"};
772
834
 
773
- pp$1.isLet = function(context) {
835
+ pp$8.isLet = function(context) {
774
836
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
775
837
  skipWhiteSpace.lastIndex = this.pos;
776
838
  var skip = skipWhiteSpace.exec(this.input);
@@ -779,13 +841,14 @@
779
841
  // Statement) is allowed here. If context is not empty then only a Statement
780
842
  // is allowed. However, `let [` is an explicit negative lookahead for
781
843
  // ExpressionStatement, so special-case it first.
782
- if (nextCh === 91) { return true } // '['
844
+ if (nextCh === 91 || nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '[', '/', astral
783
845
  if (context) { return false }
784
846
 
785
847
  if (nextCh === 123) { return true } // '{'
786
848
  if (isIdentifierStart(nextCh, true)) {
787
849
  var pos = next + 1;
788
- while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }
850
+ while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
851
+ if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }
789
852
  var ident = this.input.slice(next, pos);
790
853
  if (!keywordRelationalOperator.test(ident)) { return true }
791
854
  }
@@ -795,16 +858,17 @@
795
858
  // check 'async [no LineTerminator here] function'
796
859
  // - 'async /*foo*/ function' is OK.
797
860
  // - 'async /*\n*/ function' is invalid.
798
- pp$1.isAsyncFunction = function() {
861
+ pp$8.isAsyncFunction = function() {
799
862
  if (this.options.ecmaVersion < 8 || !this.isContextual("async"))
800
863
  { return false }
801
864
 
802
865
  skipWhiteSpace.lastIndex = this.pos;
803
866
  var skip = skipWhiteSpace.exec(this.input);
804
- var next = this.pos + skip[0].length;
867
+ var next = this.pos + skip[0].length, after;
805
868
  return !lineBreak.test(this.input.slice(this.pos, next)) &&
806
869
  this.input.slice(next, next + 8) === "function" &&
807
- (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))
870
+ (next + 8 === this.input.length ||
871
+ !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
808
872
  };
809
873
 
810
874
  // Parse a single statement.
@@ -814,11 +878,11 @@
814
878
  // `if (foo) /blah/.exec(foo)`, where looking at the previous token
815
879
  // does not help.
816
880
 
817
- pp$1.parseStatement = function(context, topLevel, exports) {
881
+ pp$8.parseStatement = function(context, topLevel, exports) {
818
882
  var starttype = this.type, node = this.startNode(), kind;
819
883
 
820
884
  if (this.isLet(context)) {
821
- starttype = types._var;
885
+ starttype = types$1._var;
822
886
  kind = "let";
823
887
  }
824
888
 
@@ -827,35 +891,35 @@
827
891
  // complexity.
828
892
 
829
893
  switch (starttype) {
830
- case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
831
- case types._debugger: return this.parseDebuggerStatement(node)
832
- case types._do: return this.parseDoStatement(node)
833
- case types._for: return this.parseForStatement(node)
834
- case types._function:
894
+ case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
895
+ case types$1._debugger: return this.parseDebuggerStatement(node)
896
+ case types$1._do: return this.parseDoStatement(node)
897
+ case types$1._for: return this.parseForStatement(node)
898
+ case types$1._function:
835
899
  // Function as sole body of either an if statement or a labeled statement
836
900
  // works, but not when it is part of a labeled statement that is the sole
837
901
  // body of an if statement.
838
902
  if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); }
839
903
  return this.parseFunctionStatement(node, false, !context)
840
- case types._class:
904
+ case types$1._class:
841
905
  if (context) { this.unexpected(); }
842
906
  return this.parseClass(node, true)
843
- case types._if: return this.parseIfStatement(node)
844
- case types._return: return this.parseReturnStatement(node)
845
- case types._switch: return this.parseSwitchStatement(node)
846
- case types._throw: return this.parseThrowStatement(node)
847
- case types._try: return this.parseTryStatement(node)
848
- case types._const: case types._var:
907
+ case types$1._if: return this.parseIfStatement(node)
908
+ case types$1._return: return this.parseReturnStatement(node)
909
+ case types$1._switch: return this.parseSwitchStatement(node)
910
+ case types$1._throw: return this.parseThrowStatement(node)
911
+ case types$1._try: return this.parseTryStatement(node)
912
+ case types$1._const: case types$1._var:
849
913
  kind = kind || this.value;
850
914
  if (context && kind !== "var") { this.unexpected(); }
851
915
  return this.parseVarStatement(node, kind)
852
- case types._while: return this.parseWhileStatement(node)
853
- case types._with: return this.parseWithStatement(node)
854
- case types.braceL: return this.parseBlock(true, node)
855
- case types.semi: return this.parseEmptyStatement(node)
856
- case types._export:
857
- case types._import:
858
- if (this.options.ecmaVersion > 10 && starttype === types._import) {
916
+ case types$1._while: return this.parseWhileStatement(node)
917
+ case types$1._with: return this.parseWithStatement(node)
918
+ case types$1.braceL: return this.parseBlock(true, node)
919
+ case types$1.semi: return this.parseEmptyStatement(node)
920
+ case types$1._export:
921
+ case types$1._import:
922
+ if (this.options.ecmaVersion > 10 && starttype === types$1._import) {
859
923
  skipWhiteSpace.lastIndex = this.pos;
860
924
  var skip = skipWhiteSpace.exec(this.input);
861
925
  var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
@@ -869,7 +933,7 @@
869
933
  if (!this.inModule)
870
934
  { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
871
935
  }
872
- return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)
936
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
873
937
 
874
938
  // If the statement does not start with a statement keyword or a
875
939
  // brace, it's an ExpressionStatement or LabeledStatement. We
@@ -884,17 +948,17 @@
884
948
  }
885
949
 
886
950
  var maybeName = this.value, expr = this.parseExpression();
887
- if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon))
951
+ if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
888
952
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
889
953
  else { return this.parseExpressionStatement(node, expr) }
890
954
  }
891
955
  };
892
956
 
893
- pp$1.parseBreakContinueStatement = function(node, keyword) {
957
+ pp$8.parseBreakContinueStatement = function(node, keyword) {
894
958
  var isBreak = keyword === "break";
895
959
  this.next();
896
- if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }
897
- else if (this.type !== types.name) { this.unexpected(); }
960
+ if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; }
961
+ else if (this.type !== types$1.name) { this.unexpected(); }
898
962
  else {
899
963
  node.label = this.parseIdent();
900
964
  this.semicolon();
@@ -914,21 +978,21 @@
914
978
  return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
915
979
  };
916
980
 
917
- pp$1.parseDebuggerStatement = function(node) {
981
+ pp$8.parseDebuggerStatement = function(node) {
918
982
  this.next();
919
983
  this.semicolon();
920
984
  return this.finishNode(node, "DebuggerStatement")
921
985
  };
922
986
 
923
- pp$1.parseDoStatement = function(node) {
987
+ pp$8.parseDoStatement = function(node) {
924
988
  this.next();
925
989
  this.labels.push(loopLabel);
926
990
  node.body = this.parseStatement("do");
927
991
  this.labels.pop();
928
- this.expect(types._while);
992
+ this.expect(types$1._while);
929
993
  node.test = this.parseParenExpression();
930
994
  if (this.options.ecmaVersion >= 6)
931
- { this.eat(types.semi); }
995
+ { this.eat(types$1.semi); }
932
996
  else
933
997
  { this.semicolon(); }
934
998
  return this.finishNode(node, "DoWhileStatement")
@@ -942,25 +1006,25 @@
942
1006
  // part (semicolon immediately after the opening parenthesis), it
943
1007
  // is a regular `for` loop.
944
1008
 
945
- pp$1.parseForStatement = function(node) {
1009
+ pp$8.parseForStatement = function(node) {
946
1010
  this.next();
947
- var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual("await")) ? this.lastTokStart : -1;
1011
+ var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await")) ? this.lastTokStart : -1;
948
1012
  this.labels.push(loopLabel);
949
1013
  this.enterScope(0);
950
- this.expect(types.parenL);
951
- if (this.type === types.semi) {
1014
+ this.expect(types$1.parenL);
1015
+ if (this.type === types$1.semi) {
952
1016
  if (awaitAt > -1) { this.unexpected(awaitAt); }
953
1017
  return this.parseFor(node, null)
954
1018
  }
955
1019
  var isLet = this.isLet();
956
- if (this.type === types._var || this.type === types._const || isLet) {
1020
+ if (this.type === types$1._var || this.type === types$1._const || isLet) {
957
1021
  var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
958
1022
  this.next();
959
1023
  this.parseVar(init$1, true, kind);
960
1024
  this.finishNode(init$1, "VariableDeclaration");
961
- if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1025
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
962
1026
  if (this.options.ecmaVersion >= 9) {
963
- if (this.type === types._in) {
1027
+ if (this.type === types$1._in) {
964
1028
  if (awaitAt > -1) { this.unexpected(awaitAt); }
965
1029
  } else { node.await = awaitAt > -1; }
966
1030
  }
@@ -969,16 +1033,18 @@
969
1033
  if (awaitAt > -1) { this.unexpected(awaitAt); }
970
1034
  return this.parseFor(node, init$1)
971
1035
  }
1036
+ var startsWithLet = this.isContextual("let"), isForOf = false;
972
1037
  var refDestructuringErrors = new DestructuringErrors;
973
- var init = this.parseExpression(true, refDestructuringErrors);
974
- if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
1038
+ var init = this.parseExpression(awaitAt > -1 ? "await" : true, refDestructuringErrors);
1039
+ if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
975
1040
  if (this.options.ecmaVersion >= 9) {
976
- if (this.type === types._in) {
1041
+ if (this.type === types$1._in) {
977
1042
  if (awaitAt > -1) { this.unexpected(awaitAt); }
978
1043
  } else { node.await = awaitAt > -1; }
979
1044
  }
1045
+ if (startsWithLet && isForOf) { this.raise(init.start, "The left-hand side of a for-of loop may not start with 'let'."); }
980
1046
  this.toAssignable(init, false, refDestructuringErrors);
981
- this.checkLVal(init);
1047
+ this.checkLValPattern(init);
982
1048
  return this.parseForIn(node, init)
983
1049
  } else {
984
1050
  this.checkExpressionErrors(refDestructuringErrors, true);
@@ -987,21 +1053,21 @@
987
1053
  return this.parseFor(node, init)
988
1054
  };
989
1055
 
990
- pp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1056
+ pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
991
1057
  this.next();
992
1058
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
993
1059
  };
994
1060
 
995
- pp$1.parseIfStatement = function(node) {
1061
+ pp$8.parseIfStatement = function(node) {
996
1062
  this.next();
997
1063
  node.test = this.parseParenExpression();
998
1064
  // allow function declarations in branches, but only in non-strict mode
999
1065
  node.consequent = this.parseStatement("if");
1000
- node.alternate = this.eat(types._else) ? this.parseStatement("if") : null;
1066
+ node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null;
1001
1067
  return this.finishNode(node, "IfStatement")
1002
1068
  };
1003
1069
 
1004
- pp$1.parseReturnStatement = function(node) {
1070
+ pp$8.parseReturnStatement = function(node) {
1005
1071
  if (!this.inFunction && !this.options.allowReturnOutsideFunction)
1006
1072
  { this.raise(this.start, "'return' outside of function"); }
1007
1073
  this.next();
@@ -1010,16 +1076,16 @@
1010
1076
  // optional arguments, we eagerly look for a semicolon or the
1011
1077
  // possibility to insert one.
1012
1078
 
1013
- if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }
1079
+ if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; }
1014
1080
  else { node.argument = this.parseExpression(); this.semicolon(); }
1015
1081
  return this.finishNode(node, "ReturnStatement")
1016
1082
  };
1017
1083
 
1018
- pp$1.parseSwitchStatement = function(node) {
1084
+ pp$8.parseSwitchStatement = function(node) {
1019
1085
  this.next();
1020
1086
  node.discriminant = this.parseParenExpression();
1021
1087
  node.cases = [];
1022
- this.expect(types.braceL);
1088
+ this.expect(types$1.braceL);
1023
1089
  this.labels.push(switchLabel);
1024
1090
  this.enterScope(0);
1025
1091
 
@@ -1028,9 +1094,9 @@
1028
1094
  // adding statements to.
1029
1095
 
1030
1096
  var cur;
1031
- for (var sawDefault = false; this.type !== types.braceR;) {
1032
- if (this.type === types._case || this.type === types._default) {
1033
- var isCase = this.type === types._case;
1097
+ for (var sawDefault = false; this.type !== types$1.braceR;) {
1098
+ if (this.type === types$1._case || this.type === types$1._default) {
1099
+ var isCase = this.type === types$1._case;
1034
1100
  if (cur) { this.finishNode(cur, "SwitchCase"); }
1035
1101
  node.cases.push(cur = this.startNode());
1036
1102
  cur.consequent = [];
@@ -1042,7 +1108,7 @@
1042
1108
  sawDefault = true;
1043
1109
  cur.test = null;
1044
1110
  }
1045
- this.expect(types.colon);
1111
+ this.expect(types$1.colon);
1046
1112
  } else {
1047
1113
  if (!cur) { this.unexpected(); }
1048
1114
  cur.consequent.push(this.parseStatement(null));
@@ -1055,7 +1121,7 @@
1055
1121
  return this.finishNode(node, "SwitchStatement")
1056
1122
  };
1057
1123
 
1058
- pp$1.parseThrowStatement = function(node) {
1124
+ pp$8.parseThrowStatement = function(node) {
1059
1125
  this.next();
1060
1126
  if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
1061
1127
  { this.raise(this.lastTokEnd, "Illegal newline after throw"); }
@@ -1066,21 +1132,21 @@
1066
1132
 
1067
1133
  // Reused empty array added for node fields that are always empty.
1068
1134
 
1069
- var empty = [];
1135
+ var empty$1 = [];
1070
1136
 
1071
- pp$1.parseTryStatement = function(node) {
1137
+ pp$8.parseTryStatement = function(node) {
1072
1138
  this.next();
1073
1139
  node.block = this.parseBlock();
1074
1140
  node.handler = null;
1075
- if (this.type === types._catch) {
1141
+ if (this.type === types$1._catch) {
1076
1142
  var clause = this.startNode();
1077
1143
  this.next();
1078
- if (this.eat(types.parenL)) {
1144
+ if (this.eat(types$1.parenL)) {
1079
1145
  clause.param = this.parseBindingAtom();
1080
1146
  var simple = clause.param.type === "Identifier";
1081
1147
  this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
1082
- this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
1083
- this.expect(types.parenR);
1148
+ this.checkLValPattern(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
1149
+ this.expect(types$1.parenR);
1084
1150
  } else {
1085
1151
  if (this.options.ecmaVersion < 10) { this.unexpected(); }
1086
1152
  clause.param = null;
@@ -1090,20 +1156,20 @@
1090
1156
  this.exitScope();
1091
1157
  node.handler = this.finishNode(clause, "CatchClause");
1092
1158
  }
1093
- node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;
1159
+ node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
1094
1160
  if (!node.handler && !node.finalizer)
1095
1161
  { this.raise(node.start, "Missing catch or finally clause"); }
1096
1162
  return this.finishNode(node, "TryStatement")
1097
1163
  };
1098
1164
 
1099
- pp$1.parseVarStatement = function(node, kind) {
1165
+ pp$8.parseVarStatement = function(node, kind) {
1100
1166
  this.next();
1101
1167
  this.parseVar(node, false, kind);
1102
1168
  this.semicolon();
1103
1169
  return this.finishNode(node, "VariableDeclaration")
1104
1170
  };
1105
1171
 
1106
- pp$1.parseWhileStatement = function(node) {
1172
+ pp$8.parseWhileStatement = function(node) {
1107
1173
  this.next();
1108
1174
  node.test = this.parseParenExpression();
1109
1175
  this.labels.push(loopLabel);
@@ -1112,7 +1178,7 @@
1112
1178
  return this.finishNode(node, "WhileStatement")
1113
1179
  };
1114
1180
 
1115
- pp$1.parseWithStatement = function(node) {
1181
+ pp$8.parseWithStatement = function(node) {
1116
1182
  if (this.strict) { this.raise(this.start, "'with' in strict mode"); }
1117
1183
  this.next();
1118
1184
  node.object = this.parseParenExpression();
@@ -1120,12 +1186,12 @@
1120
1186
  return this.finishNode(node, "WithStatement")
1121
1187
  };
1122
1188
 
1123
- pp$1.parseEmptyStatement = function(node) {
1189
+ pp$8.parseEmptyStatement = function(node) {
1124
1190
  this.next();
1125
1191
  return this.finishNode(node, "EmptyStatement")
1126
1192
  };
1127
1193
 
1128
- pp$1.parseLabeledStatement = function(node, maybeName, expr, context) {
1194
+ pp$8.parseLabeledStatement = function(node, maybeName, expr, context) {
1129
1195
  for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)
1130
1196
  {
1131
1197
  var label = list[i$1];
@@ -1133,7 +1199,7 @@
1133
1199
  if (label.name === maybeName)
1134
1200
  { this.raise(expr.start, "Label '" + maybeName + "' is already declared");
1135
1201
  } }
1136
- var kind = this.type.isLoop ? "loop" : this.type === types._switch ? "switch" : null;
1202
+ var kind = this.type.isLoop ? "loop" : this.type === types$1._switch ? "switch" : null;
1137
1203
  for (var i = this.labels.length - 1; i >= 0; i--) {
1138
1204
  var label$1 = this.labels[i];
1139
1205
  if (label$1.statementStart === node.start) {
@@ -1149,7 +1215,7 @@
1149
1215
  return this.finishNode(node, "LabeledStatement")
1150
1216
  };
1151
1217
 
1152
- pp$1.parseExpressionStatement = function(node, expr) {
1218
+ pp$8.parseExpressionStatement = function(node, expr) {
1153
1219
  node.expression = expr;
1154
1220
  this.semicolon();
1155
1221
  return this.finishNode(node, "ExpressionStatement")
@@ -1159,14 +1225,14 @@
1159
1225
  // strict"` declarations when `allowStrict` is true (used for
1160
1226
  // function bodies).
1161
1227
 
1162
- pp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) {
1228
+ pp$8.parseBlock = function(createNewLexicalScope, node, exitStrict) {
1163
1229
  if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;
1164
1230
  if ( node === void 0 ) node = this.startNode();
1165
1231
 
1166
1232
  node.body = [];
1167
- this.expect(types.braceL);
1233
+ this.expect(types$1.braceL);
1168
1234
  if (createNewLexicalScope) { this.enterScope(0); }
1169
- while (this.type !== types.braceR) {
1235
+ while (this.type !== types$1.braceR) {
1170
1236
  var stmt = this.parseStatement(null);
1171
1237
  node.body.push(stmt);
1172
1238
  }
@@ -1180,13 +1246,13 @@
1180
1246
  // `parseStatement` will already have parsed the init statement or
1181
1247
  // expression.
1182
1248
 
1183
- pp$1.parseFor = function(node, init) {
1249
+ pp$8.parseFor = function(node, init) {
1184
1250
  node.init = init;
1185
- this.expect(types.semi);
1186
- node.test = this.type === types.semi ? null : this.parseExpression();
1187
- this.expect(types.semi);
1188
- node.update = this.type === types.parenR ? null : this.parseExpression();
1189
- this.expect(types.parenR);
1251
+ this.expect(types$1.semi);
1252
+ node.test = this.type === types$1.semi ? null : this.parseExpression();
1253
+ this.expect(types$1.semi);
1254
+ node.update = this.type === types$1.parenR ? null : this.parseExpression();
1255
+ this.expect(types$1.parenR);
1190
1256
  node.body = this.parseStatement("for");
1191
1257
  this.exitScope();
1192
1258
  this.labels.pop();
@@ -1196,8 +1262,8 @@
1196
1262
  // Parse a `for`/`in` and `for`/`of` loop, which are almost
1197
1263
  // same from parser's perspective.
1198
1264
 
1199
- pp$1.parseForIn = function(node, init) {
1200
- var isForIn = this.type === types._in;
1265
+ pp$8.parseForIn = function(node, init) {
1266
+ var isForIn = this.type === types$1._in;
1201
1267
  this.next();
1202
1268
 
1203
1269
  if (
@@ -1215,12 +1281,10 @@
1215
1281
  init.start,
1216
1282
  ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer")
1217
1283
  );
1218
- } else if (init.type === "AssignmentPattern") {
1219
- this.raise(init.start, "Invalid left-hand side in for-loop");
1220
1284
  }
1221
1285
  node.left = init;
1222
1286
  node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();
1223
- this.expect(types.parenR);
1287
+ this.expect(types$1.parenR);
1224
1288
  node.body = this.parseStatement("for");
1225
1289
  this.exitScope();
1226
1290
  this.labels.pop();
@@ -1229,30 +1293,30 @@
1229
1293
 
1230
1294
  // Parse a list of variable declarations.
1231
1295
 
1232
- pp$1.parseVar = function(node, isFor, kind) {
1296
+ pp$8.parseVar = function(node, isFor, kind) {
1233
1297
  node.declarations = [];
1234
1298
  node.kind = kind;
1235
1299
  for (;;) {
1236
1300
  var decl = this.startNode();
1237
1301
  this.parseVarId(decl, kind);
1238
- if (this.eat(types.eq)) {
1302
+ if (this.eat(types$1.eq)) {
1239
1303
  decl.init = this.parseMaybeAssign(isFor);
1240
- } else if (kind === "const" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1304
+ } else if (kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1241
1305
  this.unexpected();
1242
- } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types._in || this.isContextual("of")))) {
1306
+ } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1243
1307
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1244
1308
  } else {
1245
1309
  decl.init = null;
1246
1310
  }
1247
1311
  node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
1248
- if (!this.eat(types.comma)) { break }
1312
+ if (!this.eat(types$1.comma)) { break }
1249
1313
  }
1250
1314
  return node
1251
1315
  };
1252
1316
 
1253
- pp$1.parseVarId = function(decl, kind) {
1317
+ pp$8.parseVarId = function(decl, kind) {
1254
1318
  decl.id = this.parseBindingAtom();
1255
- this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1319
+ this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1256
1320
  };
1257
1321
 
1258
1322
  var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;
@@ -1261,24 +1325,24 @@
1261
1325
  // `statement & FUNC_STATEMENT`).
1262
1326
 
1263
1327
  // Remove `allowExpressionBody` for 7.0.0, as it is only called with false
1264
- pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {
1328
+ pp$8.parseFunction = function(node, statement, allowExpressionBody, isAsync, forInit) {
1265
1329
  this.initFunction(node);
1266
1330
  if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {
1267
- if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT))
1331
+ if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT))
1268
1332
  { this.unexpected(); }
1269
- node.generator = this.eat(types.star);
1333
+ node.generator = this.eat(types$1.star);
1270
1334
  }
1271
1335
  if (this.options.ecmaVersion >= 8)
1272
1336
  { node.async = !!isAsync; }
1273
1337
 
1274
1338
  if (statement & FUNC_STATEMENT) {
1275
- node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent();
1339
+ node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent();
1276
1340
  if (node.id && !(statement & FUNC_HANGING_STATEMENT))
1277
1341
  // If it is a regular function declaration in sloppy mode, then it is
1278
1342
  // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding
1279
1343
  // mode depends on properties of the current scope (see
1280
1344
  // treatFunctionsAsVar).
1281
- { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
1345
+ { this.checkLValSimple(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
1282
1346
  }
1283
1347
 
1284
1348
  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
@@ -1288,10 +1352,10 @@
1288
1352
  this.enterScope(functionFlags(node.async, node.generator));
1289
1353
 
1290
1354
  if (!(statement & FUNC_STATEMENT))
1291
- { node.id = this.type === types.name ? this.parseIdent() : null; }
1355
+ { node.id = this.type === types$1.name ? this.parseIdent() : null; }
1292
1356
 
1293
1357
  this.parseFunctionParams(node);
1294
- this.parseFunctionBody(node, allowExpressionBody, false);
1358
+ this.parseFunctionBody(node, allowExpressionBody, false, forInit);
1295
1359
 
1296
1360
  this.yieldPos = oldYieldPos;
1297
1361
  this.awaitPos = oldAwaitPos;
@@ -1299,16 +1363,16 @@
1299
1363
  return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression")
1300
1364
  };
1301
1365
 
1302
- pp$1.parseFunctionParams = function(node) {
1303
- this.expect(types.parenL);
1304
- node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
1366
+ pp$8.parseFunctionParams = function(node) {
1367
+ this.expect(types$1.parenL);
1368
+ node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
1305
1369
  this.checkYieldAwaitInDefaultParams();
1306
1370
  };
1307
1371
 
1308
1372
  // Parse a class declaration or literal (depending on the
1309
1373
  // `isStatement` parameter).
1310
1374
 
1311
- pp$1.parseClass = function(node, isStatement) {
1375
+ pp$8.parseClass = function(node, isStatement) {
1312
1376
  this.next();
1313
1377
 
1314
1378
  // ecma-262 14.6 Class Definitions
@@ -1318,93 +1382,193 @@
1318
1382
 
1319
1383
  this.parseClassId(node, isStatement);
1320
1384
  this.parseClassSuper(node);
1385
+ var privateNameMap = this.enterClassBody();
1321
1386
  var classBody = this.startNode();
1322
1387
  var hadConstructor = false;
1323
1388
  classBody.body = [];
1324
- this.expect(types.braceL);
1325
- while (this.type !== types.braceR) {
1389
+ this.expect(types$1.braceL);
1390
+ while (this.type !== types$1.braceR) {
1326
1391
  var element = this.parseClassElement(node.superClass !== null);
1327
1392
  if (element) {
1328
1393
  classBody.body.push(element);
1329
1394
  if (element.type === "MethodDefinition" && element.kind === "constructor") {
1330
1395
  if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); }
1331
1396
  hadConstructor = true;
1397
+ } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) {
1398
+ this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared"));
1332
1399
  }
1333
1400
  }
1334
1401
  }
1335
1402
  this.strict = oldStrict;
1336
1403
  this.next();
1337
1404
  node.body = this.finishNode(classBody, "ClassBody");
1405
+ this.exitClassBody();
1338
1406
  return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
1339
1407
  };
1340
1408
 
1341
- pp$1.parseClassElement = function(constructorAllowsSuper) {
1342
- var this$1 = this;
1409
+ pp$8.parseClassElement = function(constructorAllowsSuper) {
1410
+ if (this.eat(types$1.semi)) { return null }
1343
1411
 
1344
- if (this.eat(types.semi)) { return null }
1412
+ var ecmaVersion = this.options.ecmaVersion;
1413
+ var node = this.startNode();
1414
+ var keyName = "";
1415
+ var isGenerator = false;
1416
+ var isAsync = false;
1417
+ var kind = "method";
1418
+ var isStatic = false;
1419
+
1420
+ if (this.eatContextual("static")) {
1421
+ // Parse static init block
1422
+ if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {
1423
+ this.parseClassStaticBlock(node);
1424
+ return node
1425
+ }
1426
+ if (this.isClassElementNameStart() || this.type === types$1.star) {
1427
+ isStatic = true;
1428
+ } else {
1429
+ keyName = "static";
1430
+ }
1431
+ }
1432
+ node.static = isStatic;
1433
+ if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {
1434
+ if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) {
1435
+ isAsync = true;
1436
+ } else {
1437
+ keyName = "async";
1438
+ }
1439
+ }
1440
+ if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) {
1441
+ isGenerator = true;
1442
+ }
1443
+ if (!keyName && !isAsync && !isGenerator) {
1444
+ var lastValue = this.value;
1445
+ if (this.eatContextual("get") || this.eatContextual("set")) {
1446
+ if (this.isClassElementNameStart()) {
1447
+ kind = lastValue;
1448
+ } else {
1449
+ keyName = lastValue;
1450
+ }
1451
+ }
1452
+ }
1345
1453
 
1346
- var method = this.startNode();
1347
- var tryContextual = function (k, noLineBreak) {
1348
- if ( noLineBreak === void 0 ) noLineBreak = false;
1454
+ // Parse element name
1455
+ if (keyName) {
1456
+ // 'async', 'get', 'set', or 'static' were not a keyword contextually.
1457
+ // The last token is any of those. Make it the element name.
1458
+ node.computed = false;
1459
+ node.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc);
1460
+ node.key.name = keyName;
1461
+ this.finishNode(node.key, "Identifier");
1462
+ } else {
1463
+ this.parseClassElementName(node);
1464
+ }
1349
1465
 
1350
- var start = this$1.start, startLoc = this$1.startLoc;
1351
- if (!this$1.eatContextual(k)) { return false }
1352
- if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }
1353
- if (method.key) { this$1.unexpected(); }
1354
- method.computed = false;
1355
- method.key = this$1.startNodeAt(start, startLoc);
1356
- method.key.name = k;
1357
- this$1.finishNode(method.key, "Identifier");
1358
- return false
1359
- };
1466
+ // Parse element value
1467
+ if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {
1468
+ var isConstructor = !node.static && checkKeyName(node, "constructor");
1469
+ var allowsDirectSuper = isConstructor && constructorAllowsSuper;
1470
+ // Couldn't move this check into the 'parseClassMethod' method for backward compatibility.
1471
+ if (isConstructor && kind !== "method") { this.raise(node.key.start, "Constructor can't have get/set modifier"); }
1472
+ node.kind = isConstructor ? "constructor" : kind;
1473
+ this.parseClassMethod(node, isGenerator, isAsync, allowsDirectSuper);
1474
+ } else {
1475
+ this.parseClassField(node);
1476
+ }
1360
1477
 
1361
- method.kind = "method";
1362
- method.static = tryContextual("static");
1363
- var isGenerator = this.eat(types.star);
1364
- var isAsync = false;
1365
- if (!isGenerator) {
1366
- if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) {
1367
- isAsync = true;
1368
- isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
1369
- } else if (tryContextual("get")) {
1370
- method.kind = "get";
1371
- } else if (tryContextual("set")) {
1372
- method.kind = "set";
1478
+ return node
1479
+ };
1480
+
1481
+ pp$8.isClassElementNameStart = function() {
1482
+ return (
1483
+ this.type === types$1.name ||
1484
+ this.type === types$1.privateId ||
1485
+ this.type === types$1.num ||
1486
+ this.type === types$1.string ||
1487
+ this.type === types$1.bracketL ||
1488
+ this.type.keyword
1489
+ )
1490
+ };
1491
+
1492
+ pp$8.parseClassElementName = function(element) {
1493
+ if (this.type === types$1.privateId) {
1494
+ if (this.value === "constructor") {
1495
+ this.raise(this.start, "Classes can't have an element named '#constructor'");
1373
1496
  }
1497
+ element.computed = false;
1498
+ element.key = this.parsePrivateIdent();
1499
+ } else {
1500
+ this.parsePropertyName(element);
1374
1501
  }
1375
- if (!method.key) { this.parsePropertyName(method); }
1502
+ };
1503
+
1504
+ pp$8.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
1505
+ // Check key and flags
1376
1506
  var key = method.key;
1377
- var allowsDirectSuper = false;
1378
- if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" ||
1379
- key.type === "Literal" && key.value === "constructor")) {
1380
- if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); }
1507
+ if (method.kind === "constructor") {
1381
1508
  if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); }
1382
1509
  if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); }
1383
- method.kind = "constructor";
1384
- allowsDirectSuper = constructorAllowsSuper;
1385
- } else if (method.static && key.type === "Identifier" && key.name === "prototype") {
1510
+ } else if (method.static && checkKeyName(method, "prototype")) {
1386
1511
  this.raise(key.start, "Classes may not have a static property named prototype");
1387
1512
  }
1388
- this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper);
1389
- if (method.kind === "get" && method.value.params.length !== 0)
1390
- { this.raiseRecoverable(method.value.start, "getter should have no params"); }
1391
- if (method.kind === "set" && method.value.params.length !== 1)
1392
- { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); }
1393
- if (method.kind === "set" && method.value.params[0].type === "RestElement")
1394
- { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); }
1395
- return method
1396
- };
1397
1513
 
1398
- pp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
1399
- method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);
1514
+ // Parse value
1515
+ var value = method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);
1516
+
1517
+ // Check value
1518
+ if (method.kind === "get" && value.params.length !== 0)
1519
+ { this.raiseRecoverable(value.start, "getter should have no params"); }
1520
+ if (method.kind === "set" && value.params.length !== 1)
1521
+ { this.raiseRecoverable(value.start, "setter should have exactly one param"); }
1522
+ if (method.kind === "set" && value.params[0].type === "RestElement")
1523
+ { this.raiseRecoverable(value.params[0].start, "Setter cannot use rest params"); }
1524
+
1400
1525
  return this.finishNode(method, "MethodDefinition")
1401
1526
  };
1402
1527
 
1403
- pp$1.parseClassId = function(node, isStatement) {
1404
- if (this.type === types.name) {
1528
+ pp$8.parseClassField = function(field) {
1529
+ if (checkKeyName(field, "constructor")) {
1530
+ this.raise(field.key.start, "Classes can't have a field named 'constructor'");
1531
+ } else if (field.static && checkKeyName(field, "prototype")) {
1532
+ this.raise(field.key.start, "Classes can't have a static field named 'prototype'");
1533
+ }
1534
+
1535
+ if (this.eat(types$1.eq)) {
1536
+ // To raise SyntaxError if 'arguments' exists in the initializer.
1537
+ var scope = this.currentThisScope();
1538
+ var inClassFieldInit = scope.inClassFieldInit;
1539
+ scope.inClassFieldInit = true;
1540
+ field.value = this.parseMaybeAssign();
1541
+ scope.inClassFieldInit = inClassFieldInit;
1542
+ } else {
1543
+ field.value = null;
1544
+ }
1545
+ this.semicolon();
1546
+
1547
+ return this.finishNode(field, "PropertyDefinition")
1548
+ };
1549
+
1550
+ pp$8.parseClassStaticBlock = function(node) {
1551
+ node.body = [];
1552
+
1553
+ var oldLabels = this.labels;
1554
+ this.labels = [];
1555
+ this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER);
1556
+ while (this.type !== types$1.braceR) {
1557
+ var stmt = this.parseStatement(null);
1558
+ node.body.push(stmt);
1559
+ }
1560
+ this.next();
1561
+ this.exitScope();
1562
+ this.labels = oldLabels;
1563
+
1564
+ return this.finishNode(node, "StaticBlock")
1565
+ };
1566
+
1567
+ pp$8.parseClassId = function(node, isStatement) {
1568
+ if (this.type === types$1.name) {
1405
1569
  node.id = this.parseIdent();
1406
1570
  if (isStatement)
1407
- { this.checkLVal(node.id, BIND_LEXICAL, false); }
1571
+ { this.checkLValSimple(node.id, BIND_LEXICAL, false); }
1408
1572
  } else {
1409
1573
  if (isStatement === true)
1410
1574
  { this.unexpected(); }
@@ -1412,39 +1576,98 @@
1412
1576
  }
1413
1577
  };
1414
1578
 
1415
- pp$1.parseClassSuper = function(node) {
1416
- node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;
1579
+ pp$8.parseClassSuper = function(node) {
1580
+ node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(false) : null;
1581
+ };
1582
+
1583
+ pp$8.enterClassBody = function() {
1584
+ var element = {declared: Object.create(null), used: []};
1585
+ this.privateNameStack.push(element);
1586
+ return element.declared
1587
+ };
1588
+
1589
+ pp$8.exitClassBody = function() {
1590
+ var ref = this.privateNameStack.pop();
1591
+ var declared = ref.declared;
1592
+ var used = ref.used;
1593
+ var len = this.privateNameStack.length;
1594
+ var parent = len === 0 ? null : this.privateNameStack[len - 1];
1595
+ for (var i = 0; i < used.length; ++i) {
1596
+ var id = used[i];
1597
+ if (!hasOwn(declared, id.name)) {
1598
+ if (parent) {
1599
+ parent.used.push(id);
1600
+ } else {
1601
+ this.raiseRecoverable(id.start, ("Private field '#" + (id.name) + "' must be declared in an enclosing class"));
1602
+ }
1603
+ }
1604
+ }
1417
1605
  };
1418
1606
 
1607
+ function isPrivateNameConflicted(privateNameMap, element) {
1608
+ var name = element.key.name;
1609
+ var curr = privateNameMap[name];
1610
+
1611
+ var next = "true";
1612
+ if (element.type === "MethodDefinition" && (element.kind === "get" || element.kind === "set")) {
1613
+ next = (element.static ? "s" : "i") + element.kind;
1614
+ }
1615
+
1616
+ // `class { get #a(){}; static set #a(_){} }` is also conflict.
1617
+ if (
1618
+ curr === "iget" && next === "iset" ||
1619
+ curr === "iset" && next === "iget" ||
1620
+ curr === "sget" && next === "sset" ||
1621
+ curr === "sset" && next === "sget"
1622
+ ) {
1623
+ privateNameMap[name] = "true";
1624
+ return false
1625
+ } else if (!curr) {
1626
+ privateNameMap[name] = next;
1627
+ return false
1628
+ } else {
1629
+ return true
1630
+ }
1631
+ }
1632
+
1633
+ function checkKeyName(node, name) {
1634
+ var computed = node.computed;
1635
+ var key = node.key;
1636
+ return !computed && (
1637
+ key.type === "Identifier" && key.name === name ||
1638
+ key.type === "Literal" && key.value === name
1639
+ )
1640
+ }
1641
+
1419
1642
  // Parses module export declaration.
1420
1643
 
1421
- pp$1.parseExport = function(node, exports) {
1644
+ pp$8.parseExport = function(node, exports) {
1422
1645
  this.next();
1423
1646
  // export * from '...'
1424
- if (this.eat(types.star)) {
1647
+ if (this.eat(types$1.star)) {
1425
1648
  if (this.options.ecmaVersion >= 11) {
1426
1649
  if (this.eatContextual("as")) {
1427
- node.exported = this.parseIdent(true);
1428
- this.checkExport(exports, node.exported.name, this.lastTokStart);
1650
+ node.exported = this.parseModuleExportName();
1651
+ this.checkExport(exports, node.exported, this.lastTokStart);
1429
1652
  } else {
1430
1653
  node.exported = null;
1431
1654
  }
1432
1655
  }
1433
1656
  this.expectContextual("from");
1434
- if (this.type !== types.string) { this.unexpected(); }
1657
+ if (this.type !== types$1.string) { this.unexpected(); }
1435
1658
  node.source = this.parseExprAtom();
1436
1659
  this.semicolon();
1437
1660
  return this.finishNode(node, "ExportAllDeclaration")
1438
1661
  }
1439
- if (this.eat(types._default)) { // export default ...
1662
+ if (this.eat(types$1._default)) { // export default ...
1440
1663
  this.checkExport(exports, "default", this.lastTokStart);
1441
1664
  var isAsync;
1442
- if (this.type === types._function || (isAsync = this.isAsyncFunction())) {
1665
+ if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
1443
1666
  var fNode = this.startNode();
1444
1667
  this.next();
1445
1668
  if (isAsync) { this.next(); }
1446
1669
  node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);
1447
- } else if (this.type === types._class) {
1670
+ } else if (this.type === types$1._class) {
1448
1671
  var cNode = this.startNode();
1449
1672
  node.declaration = this.parseClass(cNode, "nullableID");
1450
1673
  } else {
@@ -1459,14 +1682,14 @@
1459
1682
  if (node.declaration.type === "VariableDeclaration")
1460
1683
  { this.checkVariableExport(exports, node.declaration.declarations); }
1461
1684
  else
1462
- { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }
1685
+ { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1463
1686
  node.specifiers = [];
1464
1687
  node.source = null;
1465
1688
  } else { // export { x, y as z } [from '...']
1466
1689
  node.declaration = null;
1467
1690
  node.specifiers = this.parseExportSpecifiers(exports);
1468
1691
  if (this.eatContextual("from")) {
1469
- if (this.type !== types.string) { this.unexpected(); }
1692
+ if (this.type !== types$1.string) { this.unexpected(); }
1470
1693
  node.source = this.parseExprAtom();
1471
1694
  } else {
1472
1695
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
@@ -1476,6 +1699,10 @@
1476
1699
  this.checkUnreserved(spec.local);
1477
1700
  // check if export is defined
1478
1701
  this.checkLocalExport(spec.local);
1702
+
1703
+ if (spec.local.type === "Literal") {
1704
+ this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
1705
+ }
1479
1706
  }
1480
1707
 
1481
1708
  node.source = null;
@@ -1485,17 +1712,19 @@
1485
1712
  return this.finishNode(node, "ExportNamedDeclaration")
1486
1713
  };
1487
1714
 
1488
- pp$1.checkExport = function(exports, name, pos) {
1715
+ pp$8.checkExport = function(exports, name, pos) {
1489
1716
  if (!exports) { return }
1490
- if (has(exports, name))
1717
+ if (typeof name !== "string")
1718
+ { name = name.type === "Identifier" ? name.name : name.value; }
1719
+ if (hasOwn(exports, name))
1491
1720
  { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
1492
1721
  exports[name] = true;
1493
1722
  };
1494
1723
 
1495
- pp$1.checkPatternExport = function(exports, pat) {
1724
+ pp$8.checkPatternExport = function(exports, pat) {
1496
1725
  var type = pat.type;
1497
1726
  if (type === "Identifier")
1498
- { this.checkExport(exports, pat.name, pat.start); }
1727
+ { this.checkExport(exports, pat, pat.start); }
1499
1728
  else if (type === "ObjectPattern")
1500
1729
  { for (var i = 0, list = pat.properties; i < list.length; i += 1)
1501
1730
  {
@@ -1519,7 +1748,7 @@
1519
1748
  { this.checkPatternExport(exports, pat.expression); }
1520
1749
  };
1521
1750
 
1522
- pp$1.checkVariableExport = function(exports, decls) {
1751
+ pp$8.checkVariableExport = function(exports, decls) {
1523
1752
  if (!exports) { return }
1524
1753
  for (var i = 0, list = decls; i < list.length; i += 1)
1525
1754
  {
@@ -1529,7 +1758,7 @@
1529
1758
  }
1530
1759
  };
1531
1760
 
1532
- pp$1.shouldParseExportStatement = function() {
1761
+ pp$8.shouldParseExportStatement = function() {
1533
1762
  return this.type.keyword === "var" ||
1534
1763
  this.type.keyword === "const" ||
1535
1764
  this.type.keyword === "class" ||
@@ -1540,20 +1769,24 @@
1540
1769
 
1541
1770
  // Parses a comma-separated list of module exports.
1542
1771
 
1543
- pp$1.parseExportSpecifiers = function(exports) {
1772
+ pp$8.parseExportSpecifiers = function(exports) {
1544
1773
  var nodes = [], first = true;
1545
1774
  // export { x, y as z } [from '...']
1546
- this.expect(types.braceL);
1547
- while (!this.eat(types.braceR)) {
1775
+ this.expect(types$1.braceL);
1776
+ while (!this.eat(types$1.braceR)) {
1548
1777
  if (!first) {
1549
- this.expect(types.comma);
1550
- if (this.afterTrailingComma(types.braceR)) { break }
1778
+ this.expect(types$1.comma);
1779
+ if (this.afterTrailingComma(types$1.braceR)) { break }
1551
1780
  } else { first = false; }
1552
1781
 
1553
1782
  var node = this.startNode();
1554
- node.local = this.parseIdent(true);
1555
- node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local;
1556
- this.checkExport(exports, node.exported.name, node.exported.start);
1783
+ node.local = this.parseModuleExportName();
1784
+ node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
1785
+ this.checkExport(
1786
+ exports,
1787
+ node.exported,
1788
+ node.exported.start
1789
+ );
1557
1790
  nodes.push(this.finishNode(node, "ExportSpecifier"));
1558
1791
  }
1559
1792
  return nodes
@@ -1561,16 +1794,16 @@
1561
1794
 
1562
1795
  // Parses import declaration.
1563
1796
 
1564
- pp$1.parseImport = function(node) {
1797
+ pp$8.parseImport = function(node) {
1565
1798
  this.next();
1566
1799
  // import '...'
1567
- if (this.type === types.string) {
1568
- node.specifiers = empty;
1800
+ if (this.type === types$1.string) {
1801
+ node.specifiers = empty$1;
1569
1802
  node.source = this.parseExprAtom();
1570
1803
  } else {
1571
1804
  node.specifiers = this.parseImportSpecifiers();
1572
1805
  this.expectContextual("from");
1573
- node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();
1806
+ node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1574
1807
  }
1575
1808
  this.semicolon();
1576
1809
  return this.finishNode(node, "ImportDeclaration")
@@ -1578,54 +1811,66 @@
1578
1811
 
1579
1812
  // Parses a comma-separated list of module imports.
1580
1813
 
1581
- pp$1.parseImportSpecifiers = function() {
1814
+ pp$8.parseImportSpecifiers = function() {
1582
1815
  var nodes = [], first = true;
1583
- if (this.type === types.name) {
1816
+ if (this.type === types$1.name) {
1584
1817
  // import defaultObj, { x, y as z } from '...'
1585
1818
  var node = this.startNode();
1586
1819
  node.local = this.parseIdent();
1587
- this.checkLVal(node.local, BIND_LEXICAL);
1820
+ this.checkLValSimple(node.local, BIND_LEXICAL);
1588
1821
  nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
1589
- if (!this.eat(types.comma)) { return nodes }
1822
+ if (!this.eat(types$1.comma)) { return nodes }
1590
1823
  }
1591
- if (this.type === types.star) {
1824
+ if (this.type === types$1.star) {
1592
1825
  var node$1 = this.startNode();
1593
1826
  this.next();
1594
1827
  this.expectContextual("as");
1595
1828
  node$1.local = this.parseIdent();
1596
- this.checkLVal(node$1.local, BIND_LEXICAL);
1829
+ this.checkLValSimple(node$1.local, BIND_LEXICAL);
1597
1830
  nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"));
1598
1831
  return nodes
1599
1832
  }
1600
- this.expect(types.braceL);
1601
- while (!this.eat(types.braceR)) {
1833
+ this.expect(types$1.braceL);
1834
+ while (!this.eat(types$1.braceR)) {
1602
1835
  if (!first) {
1603
- this.expect(types.comma);
1604
- if (this.afterTrailingComma(types.braceR)) { break }
1836
+ this.expect(types$1.comma);
1837
+ if (this.afterTrailingComma(types$1.braceR)) { break }
1605
1838
  } else { first = false; }
1606
1839
 
1607
1840
  var node$2 = this.startNode();
1608
- node$2.imported = this.parseIdent(true);
1841
+ node$2.imported = this.parseModuleExportName();
1609
1842
  if (this.eatContextual("as")) {
1610
1843
  node$2.local = this.parseIdent();
1611
1844
  } else {
1612
1845
  this.checkUnreserved(node$2.imported);
1613
1846
  node$2.local = node$2.imported;
1614
1847
  }
1615
- this.checkLVal(node$2.local, BIND_LEXICAL);
1848
+ this.checkLValSimple(node$2.local, BIND_LEXICAL);
1616
1849
  nodes.push(this.finishNode(node$2, "ImportSpecifier"));
1617
1850
  }
1618
1851
  return nodes
1619
1852
  };
1620
1853
 
1854
+ pp$8.parseModuleExportName = function() {
1855
+ if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1856
+ var stringLiteral = this.parseLiteral(this.value);
1857
+ if (loneSurrogate.test(stringLiteral.value)) {
1858
+ this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
1859
+ }
1860
+ return stringLiteral
1861
+ }
1862
+ return this.parseIdent(true)
1863
+ };
1864
+
1621
1865
  // Set `ExpressionStatement#directive` property for directive prologues.
1622
- pp$1.adaptDirectivePrologue = function(statements) {
1866
+ pp$8.adaptDirectivePrologue = function(statements) {
1623
1867
  for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
1624
1868
  statements[i].directive = statements[i].expression.raw.slice(1, -1);
1625
1869
  }
1626
1870
  };
1627
- pp$1.isDirectiveCandidate = function(statement) {
1871
+ pp$8.isDirectiveCandidate = function(statement) {
1628
1872
  return (
1873
+ this.options.ecmaVersion >= 5 &&
1629
1874
  statement.type === "ExpressionStatement" &&
1630
1875
  statement.expression.type === "Literal" &&
1631
1876
  typeof statement.expression.value === "string" &&
@@ -1634,12 +1879,12 @@
1634
1879
  )
1635
1880
  };
1636
1881
 
1637
- var pp$2 = Parser.prototype;
1882
+ var pp$7 = Parser.prototype;
1638
1883
 
1639
1884
  // Convert existing expression atom to assignable pattern
1640
1885
  // if possible.
1641
1886
 
1642
- pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
1887
+ pp$7.toAssignable = function(node, isBinding, refDestructuringErrors) {
1643
1888
  if (this.options.ecmaVersion >= 6 && node) {
1644
1889
  switch (node.type) {
1645
1890
  case "Identifier":
@@ -1649,6 +1894,7 @@
1649
1894
 
1650
1895
  case "ObjectPattern":
1651
1896
  case "ArrayPattern":
1897
+ case "AssignmentPattern":
1652
1898
  case "RestElement":
1653
1899
  break
1654
1900
 
@@ -1697,9 +1943,6 @@
1697
1943
  node.type = "AssignmentPattern";
1698
1944
  delete node.operator;
1699
1945
  this.toAssignable(node.left, isBinding);
1700
- // falls through to AssignmentPattern
1701
-
1702
- case "AssignmentPattern":
1703
1946
  break
1704
1947
 
1705
1948
  case "ParenthesizedExpression":
@@ -1722,7 +1965,7 @@
1722
1965
 
1723
1966
  // Convert list of expression atoms to binding list.
1724
1967
 
1725
- pp$2.toAssignableList = function(exprList, isBinding) {
1968
+ pp$7.toAssignableList = function(exprList, isBinding) {
1726
1969
  var end = exprList.length;
1727
1970
  for (var i = 0; i < end; i++) {
1728
1971
  var elt = exprList[i];
@@ -1738,19 +1981,19 @@
1738
1981
 
1739
1982
  // Parses spread element.
1740
1983
 
1741
- pp$2.parseSpread = function(refDestructuringErrors) {
1984
+ pp$7.parseSpread = function(refDestructuringErrors) {
1742
1985
  var node = this.startNode();
1743
1986
  this.next();
1744
1987
  node.argument = this.parseMaybeAssign(false, refDestructuringErrors);
1745
1988
  return this.finishNode(node, "SpreadElement")
1746
1989
  };
1747
1990
 
1748
- pp$2.parseRestBinding = function() {
1991
+ pp$7.parseRestBinding = function() {
1749
1992
  var node = this.startNode();
1750
1993
  this.next();
1751
1994
 
1752
1995
  // RestElement inside of a function parameter must be an identifier
1753
- if (this.options.ecmaVersion === 6 && this.type !== types.name)
1996
+ if (this.options.ecmaVersion === 6 && this.type !== types$1.name)
1754
1997
  { this.unexpected(); }
1755
1998
 
1756
1999
  node.argument = this.parseBindingAtom();
@@ -1760,36 +2003,36 @@
1760
2003
 
1761
2004
  // Parses lvalue (assignable) atom.
1762
2005
 
1763
- pp$2.parseBindingAtom = function() {
2006
+ pp$7.parseBindingAtom = function() {
1764
2007
  if (this.options.ecmaVersion >= 6) {
1765
2008
  switch (this.type) {
1766
- case types.bracketL:
2009
+ case types$1.bracketL:
1767
2010
  var node = this.startNode();
1768
2011
  this.next();
1769
- node.elements = this.parseBindingList(types.bracketR, true, true);
2012
+ node.elements = this.parseBindingList(types$1.bracketR, true, true);
1770
2013
  return this.finishNode(node, "ArrayPattern")
1771
2014
 
1772
- case types.braceL:
2015
+ case types$1.braceL:
1773
2016
  return this.parseObj(true)
1774
2017
  }
1775
2018
  }
1776
2019
  return this.parseIdent()
1777
2020
  };
1778
2021
 
1779
- pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
2022
+ pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
1780
2023
  var elts = [], first = true;
1781
2024
  while (!this.eat(close)) {
1782
2025
  if (first) { first = false; }
1783
- else { this.expect(types.comma); }
1784
- if (allowEmpty && this.type === types.comma) {
2026
+ else { this.expect(types$1.comma); }
2027
+ if (allowEmpty && this.type === types$1.comma) {
1785
2028
  elts.push(null);
1786
2029
  } else if (allowTrailingComma && this.afterTrailingComma(close)) {
1787
2030
  break
1788
- } else if (this.type === types.ellipsis) {
2031
+ } else if (this.type === types$1.ellipsis) {
1789
2032
  var rest = this.parseRestBinding();
1790
2033
  this.parseBindingListItem(rest);
1791
2034
  elts.push(rest);
1792
- if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2035
+ if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
1793
2036
  this.expect(close);
1794
2037
  break
1795
2038
  } else {
@@ -1801,43 +2044,104 @@
1801
2044
  return elts
1802
2045
  };
1803
2046
 
1804
- pp$2.parseBindingListItem = function(param) {
2047
+ pp$7.parseBindingListItem = function(param) {
1805
2048
  return param
1806
2049
  };
1807
2050
 
1808
2051
  // Parses assignment pattern around given atom if possible.
1809
2052
 
1810
- pp$2.parseMaybeDefault = function(startPos, startLoc, left) {
2053
+ pp$7.parseMaybeDefault = function(startPos, startLoc, left) {
1811
2054
  left = left || this.parseBindingAtom();
1812
- if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }
2055
+ if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left }
1813
2056
  var node = this.startNodeAt(startPos, startLoc);
1814
2057
  node.left = left;
1815
2058
  node.right = this.parseMaybeAssign();
1816
2059
  return this.finishNode(node, "AssignmentPattern")
1817
2060
  };
1818
2061
 
1819
- // Verify that a node is an lval something that can be assigned
1820
- // to.
1821
- // bindingType can be either:
1822
- // 'var' indicating that the lval creates a 'var' binding
1823
- // 'let' indicating that the lval creates a lexical ('let' or 'const') binding
1824
- // 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references
2062
+ // The following three functions all verify that a node is an lvalue
2063
+ // something that can be bound, or assigned to. In order to do so, they perform
2064
+ // a variety of checks:
2065
+ //
2066
+ // - Check that none of the bound/assigned-to identifiers are reserved words.
2067
+ // - Record name declarations for bindings in the appropriate scope.
2068
+ // - Check duplicate argument names, if checkClashes is set.
2069
+ //
2070
+ // If a complex binding pattern is encountered (e.g., object and array
2071
+ // destructuring), the entire pattern is recursively checked.
2072
+ //
2073
+ // There are three versions of checkLVal*() appropriate for different
2074
+ // circumstances:
2075
+ //
2076
+ // - checkLValSimple() shall be used if the syntactic construct supports
2077
+ // nothing other than identifiers and member expressions. Parenthesized
2078
+ // expressions are also correctly handled. This is generally appropriate for
2079
+ // constructs for which the spec says
2080
+ //
2081
+ // > It is a Syntax Error if AssignmentTargetType of [the production] is not
2082
+ // > simple.
2083
+ //
2084
+ // It is also appropriate for checking if an identifier is valid and not
2085
+ // defined elsewhere, like import declarations or function/class identifiers.
2086
+ //
2087
+ // Examples where this is used include:
2088
+ // a += …;
2089
+ // import a from '…';
2090
+ // where a is the node to be checked.
2091
+ //
2092
+ // - checkLValPattern() shall be used if the syntactic construct supports
2093
+ // anything checkLValSimple() supports, as well as object and array
2094
+ // destructuring patterns. This is generally appropriate for constructs for
2095
+ // which the spec says
2096
+ //
2097
+ // > It is a Syntax Error if [the production] is neither an ObjectLiteral nor
2098
+ // > an ArrayLiteral and AssignmentTargetType of [the production] is not
2099
+ // > simple.
2100
+ //
2101
+ // Examples where this is used include:
2102
+ // (a = …);
2103
+ // const a = …;
2104
+ // try { … } catch (a) { … }
2105
+ // where a is the node to be checked.
2106
+ //
2107
+ // - checkLValInnerPattern() shall be used if the syntactic construct supports
2108
+ // anything checkLValPattern() supports, as well as default assignment
2109
+ // patterns, rest elements, and other constructs that may appear within an
2110
+ // object or array destructuring pattern.
2111
+ //
2112
+ // As a special case, function parameters also use checkLValInnerPattern(),
2113
+ // as they also support defaults and rest constructs.
2114
+ //
2115
+ // These functions deliberately support both assignment and binding constructs,
2116
+ // as the logic for both is exceedingly similar. If the node is the target of
2117
+ // an assignment, then bindingType should be set to BIND_NONE. Otherwise, it
2118
+ // should be set to the appropriate BIND_* constant, like BIND_VAR or
2119
+ // BIND_LEXICAL.
2120
+ //
2121
+ // If the function is called with a non-BIND_NONE bindingType, then
2122
+ // additionally a checkClashes object may be specified to allow checking for
2123
+ // duplicate argument names. checkClashes is ignored if the provided construct
2124
+ // is an assignment (i.e., bindingType is BIND_NONE).
1825
2125
 
1826
- pp$2.checkLVal = function(expr, bindingType, checkClashes) {
2126
+ pp$7.checkLValSimple = function(expr, bindingType, checkClashes) {
1827
2127
  if ( bindingType === void 0 ) bindingType = BIND_NONE;
1828
2128
 
2129
+ var isBind = bindingType !== BIND_NONE;
2130
+
1829
2131
  switch (expr.type) {
1830
2132
  case "Identifier":
1831
- if (bindingType === BIND_LEXICAL && expr.name === "let")
1832
- { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
1833
2133
  if (this.strict && this.reservedWordsStrictBind.test(expr.name))
1834
- { this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
1835
- if (checkClashes) {
1836
- if (has(checkClashes, expr.name))
1837
- { this.raiseRecoverable(expr.start, "Argument name clash"); }
1838
- checkClashes[expr.name] = true;
2134
+ { this.raiseRecoverable(expr.start, (isBind ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
2135
+ if (isBind) {
2136
+ if (bindingType === BIND_LEXICAL && expr.name === "let")
2137
+ { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
2138
+ if (checkClashes) {
2139
+ if (hasOwn(checkClashes, expr.name))
2140
+ { this.raiseRecoverable(expr.start, "Argument name clash"); }
2141
+ checkClashes[expr.name] = true;
2142
+ }
2143
+ if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
1839
2144
  }
1840
- if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
1841
2145
  break
1842
2146
 
1843
2147
  case "ChainExpression":
@@ -1845,58 +2149,230 @@
1845
2149
  break
1846
2150
 
1847
2151
  case "MemberExpression":
1848
- if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); }
2152
+ if (isBind) { this.raiseRecoverable(expr.start, "Binding member expression"); }
1849
2153
  break
1850
2154
 
1851
- case "ObjectPattern":
1852
- for (var i = 0, list = expr.properties; i < list.length; i += 1)
1853
- {
1854
- var prop = list[i];
2155
+ case "ParenthesizedExpression":
2156
+ if (isBind) { this.raiseRecoverable(expr.start, "Binding parenthesized expression"); }
2157
+ return this.checkLValSimple(expr.expression, bindingType, checkClashes)
1855
2158
 
1856
- this.checkLVal(prop, bindingType, checkClashes);
2159
+ default:
2160
+ this.raise(expr.start, (isBind ? "Binding" : "Assigning to") + " rvalue");
1857
2161
  }
1858
- break
2162
+ };
1859
2163
 
1860
- case "Property":
1861
- // AssignmentProperty has type === "Property"
1862
- this.checkLVal(expr.value, bindingType, checkClashes);
2164
+ pp$7.checkLValPattern = function(expr, bindingType, checkClashes) {
2165
+ if ( bindingType === void 0 ) bindingType = BIND_NONE;
2166
+
2167
+ switch (expr.type) {
2168
+ case "ObjectPattern":
2169
+ for (var i = 0, list = expr.properties; i < list.length; i += 1) {
2170
+ var prop = list[i];
2171
+
2172
+ this.checkLValInnerPattern(prop, bindingType, checkClashes);
2173
+ }
1863
2174
  break
1864
2175
 
1865
2176
  case "ArrayPattern":
1866
2177
  for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {
1867
2178
  var elem = list$1[i$1];
1868
2179
 
1869
- if (elem) { this.checkLVal(elem, bindingType, checkClashes); }
2180
+ if (elem) { this.checkLValInnerPattern(elem, bindingType, checkClashes); }
1870
2181
  }
1871
2182
  break
1872
2183
 
1873
- case "AssignmentPattern":
1874
- this.checkLVal(expr.left, bindingType, checkClashes);
2184
+ default:
2185
+ this.checkLValSimple(expr, bindingType, checkClashes);
2186
+ }
2187
+ };
2188
+
2189
+ pp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) {
2190
+ if ( bindingType === void 0 ) bindingType = BIND_NONE;
2191
+
2192
+ switch (expr.type) {
2193
+ case "Property":
2194
+ // AssignmentProperty has type === "Property"
2195
+ this.checkLValInnerPattern(expr.value, bindingType, checkClashes);
1875
2196
  break
1876
2197
 
1877
- case "RestElement":
1878
- this.checkLVal(expr.argument, bindingType, checkClashes);
2198
+ case "AssignmentPattern":
2199
+ this.checkLValPattern(expr.left, bindingType, checkClashes);
1879
2200
  break
1880
2201
 
1881
- case "ParenthesizedExpression":
1882
- this.checkLVal(expr.expression, bindingType, checkClashes);
2202
+ case "RestElement":
2203
+ this.checkLValPattern(expr.argument, bindingType, checkClashes);
1883
2204
  break
1884
2205
 
1885
2206
  default:
1886
- this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue");
2207
+ this.checkLValPattern(expr, bindingType, checkClashes);
1887
2208
  }
1888
2209
  };
1889
2210
 
2211
+ // The algorithm used to determine whether a regexp can appear at a
2212
+
2213
+ var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
2214
+ this.token = token;
2215
+ this.isExpr = !!isExpr;
2216
+ this.preserveSpace = !!preserveSpace;
2217
+ this.override = override;
2218
+ this.generator = !!generator;
2219
+ };
2220
+
2221
+ var types = {
2222
+ b_stat: new TokContext("{", false),
2223
+ b_expr: new TokContext("{", true),
2224
+ b_tmpl: new TokContext("${", false),
2225
+ p_stat: new TokContext("(", false),
2226
+ p_expr: new TokContext("(", true),
2227
+ q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
2228
+ f_stat: new TokContext("function", false),
2229
+ f_expr: new TokContext("function", true),
2230
+ f_expr_gen: new TokContext("function", true, false, null, true),
2231
+ f_gen: new TokContext("function", false, false, null, true)
2232
+ };
2233
+
2234
+ var pp$6 = Parser.prototype;
2235
+
2236
+ pp$6.initialContext = function() {
2237
+ return [types.b_stat]
2238
+ };
2239
+
2240
+ pp$6.curContext = function() {
2241
+ return this.context[this.context.length - 1]
2242
+ };
2243
+
2244
+ pp$6.braceIsBlock = function(prevType) {
2245
+ var parent = this.curContext();
2246
+ if (parent === types.f_expr || parent === types.f_stat)
2247
+ { return true }
2248
+ if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr))
2249
+ { return !parent.isExpr }
2250
+
2251
+ // The check for `tt.name && exprAllowed` detects whether we are
2252
+ // after a `yield` or `of` construct. See the `updateContext` for
2253
+ // `tt.name`.
2254
+ if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed)
2255
+ { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
2256
+ if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow)
2257
+ { return true }
2258
+ if (prevType === types$1.braceL)
2259
+ { return parent === types.b_stat }
2260
+ if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name)
2261
+ { return false }
2262
+ return !this.exprAllowed
2263
+ };
2264
+
2265
+ pp$6.inGeneratorContext = function() {
2266
+ for (var i = this.context.length - 1; i >= 1; i--) {
2267
+ var context = this.context[i];
2268
+ if (context.token === "function")
2269
+ { return context.generator }
2270
+ }
2271
+ return false
2272
+ };
2273
+
2274
+ pp$6.updateContext = function(prevType) {
2275
+ var update, type = this.type;
2276
+ if (type.keyword && prevType === types$1.dot)
2277
+ { this.exprAllowed = false; }
2278
+ else if (update = type.updateContext)
2279
+ { update.call(this, prevType); }
2280
+ else
2281
+ { this.exprAllowed = type.beforeExpr; }
2282
+ };
2283
+
2284
+ // Used to handle egde cases when token context could not be inferred correctly during tokenization phase
2285
+
2286
+ pp$6.overrideContext = function(tokenCtx) {
2287
+ if (this.curContext() !== tokenCtx) {
2288
+ this.context[this.context.length - 1] = tokenCtx;
2289
+ }
2290
+ };
2291
+
2292
+ // Token-specific context update code
2293
+
2294
+ types$1.parenR.updateContext = types$1.braceR.updateContext = function() {
2295
+ if (this.context.length === 1) {
2296
+ this.exprAllowed = true;
2297
+ return
2298
+ }
2299
+ var out = this.context.pop();
2300
+ if (out === types.b_stat && this.curContext().token === "function") {
2301
+ out = this.context.pop();
2302
+ }
2303
+ this.exprAllowed = !out.isExpr;
2304
+ };
2305
+
2306
+ types$1.braceL.updateContext = function(prevType) {
2307
+ this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);
2308
+ this.exprAllowed = true;
2309
+ };
2310
+
2311
+ types$1.dollarBraceL.updateContext = function() {
2312
+ this.context.push(types.b_tmpl);
2313
+ this.exprAllowed = true;
2314
+ };
2315
+
2316
+ types$1.parenL.updateContext = function(prevType) {
2317
+ var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while;
2318
+ this.context.push(statementParens ? types.p_stat : types.p_expr);
2319
+ this.exprAllowed = true;
2320
+ };
2321
+
2322
+ types$1.incDec.updateContext = function() {
2323
+ // tokExprAllowed stays unchanged
2324
+ };
2325
+
2326
+ types$1._function.updateContext = types$1._class.updateContext = function(prevType) {
2327
+ if (prevType.beforeExpr && prevType !== types$1._else &&
2328
+ !(prevType === types$1.semi && this.curContext() !== types.p_stat) &&
2329
+ !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
2330
+ !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat))
2331
+ { this.context.push(types.f_expr); }
2332
+ else
2333
+ { this.context.push(types.f_stat); }
2334
+ this.exprAllowed = false;
2335
+ };
2336
+
2337
+ types$1.backQuote.updateContext = function() {
2338
+ if (this.curContext() === types.q_tmpl)
2339
+ { this.context.pop(); }
2340
+ else
2341
+ { this.context.push(types.q_tmpl); }
2342
+ this.exprAllowed = false;
2343
+ };
2344
+
2345
+ types$1.star.updateContext = function(prevType) {
2346
+ if (prevType === types$1._function) {
2347
+ var index = this.context.length - 1;
2348
+ if (this.context[index] === types.f_expr)
2349
+ { this.context[index] = types.f_expr_gen; }
2350
+ else
2351
+ { this.context[index] = types.f_gen; }
2352
+ }
2353
+ this.exprAllowed = true;
2354
+ };
2355
+
2356
+ types$1.name.updateContext = function(prevType) {
2357
+ var allowed = false;
2358
+ if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) {
2359
+ if (this.value === "of" && !this.exprAllowed ||
2360
+ this.value === "yield" && this.inGeneratorContext())
2361
+ { allowed = true; }
2362
+ }
2363
+ this.exprAllowed = allowed;
2364
+ };
2365
+
1890
2366
  // A recursive descent parser operates by defining functions for all
1891
2367
 
1892
- var pp$3 = Parser.prototype;
2368
+ var pp$5 = Parser.prototype;
1893
2369
 
1894
2370
  // Check if property name clashes with already added.
1895
2371
  // Object/class getters and setters are not allowed to clash —
1896
2372
  // either with each other or with an init property — and in
1897
2373
  // strict mode, init properties are also not allowed to be repeated.
1898
2374
 
1899
- pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
2375
+ pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
1900
2376
  if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
1901
2377
  { return }
1902
2378
  if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
@@ -1913,10 +2389,12 @@
1913
2389
  if (name === "__proto__" && kind === "init") {
1914
2390
  if (propHash.proto) {
1915
2391
  if (refDestructuringErrors) {
1916
- if (refDestructuringErrors.doubleProto < 0)
1917
- { refDestructuringErrors.doubleProto = key.start; }
1918
- // Backwards-compat kludge. Can be removed in version 6.0
1919
- } else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); }
2392
+ if (refDestructuringErrors.doubleProto < 0) {
2393
+ refDestructuringErrors.doubleProto = key.start;
2394
+ }
2395
+ } else {
2396
+ this.raiseRecoverable(key.start, "Redefinition of __proto__ property");
2397
+ }
1920
2398
  }
1921
2399
  propHash.proto = true;
1922
2400
  }
@@ -1958,13 +2436,13 @@
1958
2436
  // and object pattern might appear (so it's possible to raise
1959
2437
  // delayed syntax error at correct position).
1960
2438
 
1961
- pp$3.parseExpression = function(noIn, refDestructuringErrors) {
2439
+ pp$5.parseExpression = function(forInit, refDestructuringErrors) {
1962
2440
  var startPos = this.start, startLoc = this.startLoc;
1963
- var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);
1964
- if (this.type === types.comma) {
2441
+ var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
2442
+ if (this.type === types$1.comma) {
1965
2443
  var node = this.startNodeAt(startPos, startLoc);
1966
2444
  node.expressions = [expr];
1967
- while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); }
2445
+ while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
1968
2446
  return this.finishNode(node, "SequenceExpression")
1969
2447
  }
1970
2448
  return expr
@@ -1973,18 +2451,19 @@
1973
2451
  // Parse an assignment expression. This includes applications of
1974
2452
  // operators like `+=`.
1975
2453
 
1976
- pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
2454
+ pp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) {
1977
2455
  if (this.isContextual("yield")) {
1978
- if (this.inGenerator) { return this.parseYield(noIn) }
2456
+ if (this.inGenerator) { return this.parseYield(forInit) }
1979
2457
  // The tokenizer will assume an expression is allowed after
1980
2458
  // `yield`, but this isn't that kind of yield
1981
2459
  else { this.exprAllowed = false; }
1982
2460
  }
1983
2461
 
1984
- var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1;
2462
+ var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldDoubleProto = -1;
1985
2463
  if (refDestructuringErrors) {
1986
2464
  oldParenAssign = refDestructuringErrors.parenthesizedAssign;
1987
2465
  oldTrailingComma = refDestructuringErrors.trailingComma;
2466
+ oldDoubleProto = refDestructuringErrors.doubleProto;
1988
2467
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;
1989
2468
  } else {
1990
2469
  refDestructuringErrors = new DestructuringErrors;
@@ -1992,22 +2471,30 @@
1992
2471
  }
1993
2472
 
1994
2473
  var startPos = this.start, startLoc = this.startLoc;
1995
- if (this.type === types.parenL || this.type === types.name)
1996
- { this.potentialArrowAt = this.start; }
1997
- var left = this.parseMaybeConditional(noIn, refDestructuringErrors);
2474
+ if (this.type === types$1.parenL || this.type === types$1.name) {
2475
+ this.potentialArrowAt = this.start;
2476
+ this.potentialArrowInForAwait = forInit === "await";
2477
+ }
2478
+ var left = this.parseMaybeConditional(forInit, refDestructuringErrors);
1998
2479
  if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }
1999
2480
  if (this.type.isAssign) {
2000
2481
  var node = this.startNodeAt(startPos, startLoc);
2001
2482
  node.operator = this.value;
2002
- node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;
2483
+ if (this.type === types$1.eq)
2484
+ { left = this.toAssignable(left, false, refDestructuringErrors); }
2003
2485
  if (!ownDestructuringErrors) {
2004
2486
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;
2005
2487
  }
2006
- if (refDestructuringErrors.shorthandAssign >= node.left.start)
2488
+ if (refDestructuringErrors.shorthandAssign >= left.start)
2007
2489
  { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly
2008
- this.checkLVal(left);
2490
+ if (this.type === types$1.eq)
2491
+ { this.checkLValPattern(left); }
2492
+ else
2493
+ { this.checkLValSimple(left); }
2494
+ node.left = left;
2009
2495
  this.next();
2010
- node.right = this.parseMaybeAssign(noIn);
2496
+ node.right = this.parseMaybeAssign(forInit);
2497
+ if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; }
2011
2498
  return this.finishNode(node, "AssignmentExpression")
2012
2499
  } else {
2013
2500
  if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }
@@ -2019,16 +2506,16 @@
2019
2506
 
2020
2507
  // Parse a ternary conditional (`?:`) operator.
2021
2508
 
2022
- pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
2509
+ pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
2023
2510
  var startPos = this.start, startLoc = this.startLoc;
2024
- var expr = this.parseExprOps(noIn, refDestructuringErrors);
2511
+ var expr = this.parseExprOps(forInit, refDestructuringErrors);
2025
2512
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2026
- if (this.eat(types.question)) {
2513
+ if (this.eat(types$1.question)) {
2027
2514
  var node = this.startNodeAt(startPos, startLoc);
2028
2515
  node.test = expr;
2029
2516
  node.consequent = this.parseMaybeAssign();
2030
- this.expect(types.colon);
2031
- node.alternate = this.parseMaybeAssign(noIn);
2517
+ this.expect(types$1.colon);
2518
+ node.alternate = this.parseMaybeAssign(forInit);
2032
2519
  return this.finishNode(node, "ConditionalExpression")
2033
2520
  }
2034
2521
  return expr
@@ -2036,11 +2523,11 @@
2036
2523
 
2037
2524
  // Start the precedence parser.
2038
2525
 
2039
- pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
2526
+ pp$5.parseExprOps = function(forInit, refDestructuringErrors) {
2040
2527
  var startPos = this.start, startLoc = this.startLoc;
2041
- var expr = this.parseMaybeUnary(refDestructuringErrors, false);
2528
+ var expr = this.parseMaybeUnary(refDestructuringErrors, false, false, forInit);
2042
2529
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2043
- return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)
2530
+ return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, forInit)
2044
2531
  };
2045
2532
 
2046
2533
  // Parse binary operators with the operator precedence parsing
@@ -2049,32 +2536,33 @@
2049
2536
  // defer further parser to one of its callers when it encounters an
2050
2537
  // operator that has a lower precedence than the set it is parsing.
2051
2538
 
2052
- pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
2539
+ pp$5.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, forInit) {
2053
2540
  var prec = this.type.binop;
2054
- if (prec != null && (!noIn || this.type !== types._in)) {
2541
+ if (prec != null && (!forInit || this.type !== types$1._in)) {
2055
2542
  if (prec > minPrec) {
2056
- var logical = this.type === types.logicalOR || this.type === types.logicalAND;
2057
- var coalesce = this.type === types.coalesce;
2543
+ var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND;
2544
+ var coalesce = this.type === types$1.coalesce;
2058
2545
  if (coalesce) {
2059
2546
  // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.
2060
2547
  // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.
2061
- prec = types.logicalAND.binop;
2548
+ prec = types$1.logicalAND.binop;
2062
2549
  }
2063
2550
  var op = this.value;
2064
2551
  this.next();
2065
2552
  var startPos = this.start, startLoc = this.startLoc;
2066
- var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);
2553
+ var right = this.parseExprOp(this.parseMaybeUnary(null, false, false, forInit), startPos, startLoc, prec, forInit);
2067
2554
  var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce);
2068
- if ((logical && this.type === types.coalesce) || (coalesce && (this.type === types.logicalOR || this.type === types.logicalAND))) {
2555
+ if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) {
2069
2556
  this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses");
2070
2557
  }
2071
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
2558
+ return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, forInit)
2072
2559
  }
2073
2560
  }
2074
2561
  return left
2075
2562
  };
2076
2563
 
2077
- pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
2564
+ pp$5.buildBinary = function(startPos, startLoc, left, right, op, logical) {
2565
+ if (right.type === "PrivateIdentifier") { this.raise(right.start, "Private identifier can only be left side of binary expression"); }
2078
2566
  var node = this.startNodeAt(startPos, startLoc);
2079
2567
  node.left = left;
2080
2568
  node.operator = op;
@@ -2084,67 +2572,86 @@
2084
2572
 
2085
2573
  // Parse unary operators, both prefix and postfix.
2086
2574
 
2087
- pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {
2575
+ pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forInit) {
2088
2576
  var startPos = this.start, startLoc = this.startLoc, expr;
2089
- if (this.isContextual("await") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {
2090
- expr = this.parseAwait();
2577
+ if (this.isContextual("await") && this.canAwait) {
2578
+ expr = this.parseAwait(forInit);
2091
2579
  sawUnary = true;
2092
2580
  } else if (this.type.prefix) {
2093
- var node = this.startNode(), update = this.type === types.incDec;
2581
+ var node = this.startNode(), update = this.type === types$1.incDec;
2094
2582
  node.operator = this.value;
2095
2583
  node.prefix = true;
2096
2584
  this.next();
2097
- node.argument = this.parseMaybeUnary(null, true);
2585
+ node.argument = this.parseMaybeUnary(null, true, update, forInit);
2098
2586
  this.checkExpressionErrors(refDestructuringErrors, true);
2099
- if (update) { this.checkLVal(node.argument); }
2587
+ if (update) { this.checkLValSimple(node.argument); }
2100
2588
  else if (this.strict && node.operator === "delete" &&
2101
2589
  node.argument.type === "Identifier")
2102
2590
  { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); }
2591
+ else if (node.operator === "delete" && isPrivateFieldAccess(node.argument))
2592
+ { this.raiseRecoverable(node.start, "Private fields can not be deleted"); }
2103
2593
  else { sawUnary = true; }
2104
2594
  expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
2595
+ } else if (!sawUnary && this.type === types$1.privateId) {
2596
+ if (forInit || this.privateNameStack.length === 0) { this.unexpected(); }
2597
+ expr = this.parsePrivateIdent();
2598
+ // only could be private fields in 'in', such as #x in obj
2599
+ if (this.type !== types$1._in) { this.unexpected(); }
2105
2600
  } else {
2106
- expr = this.parseExprSubscripts(refDestructuringErrors);
2601
+ expr = this.parseExprSubscripts(refDestructuringErrors, forInit);
2107
2602
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2108
2603
  while (this.type.postfix && !this.canInsertSemicolon()) {
2109
2604
  var node$1 = this.startNodeAt(startPos, startLoc);
2110
2605
  node$1.operator = this.value;
2111
2606
  node$1.prefix = false;
2112
2607
  node$1.argument = expr;
2113
- this.checkLVal(expr);
2608
+ this.checkLValSimple(expr);
2114
2609
  this.next();
2115
2610
  expr = this.finishNode(node$1, "UpdateExpression");
2116
2611
  }
2117
2612
  }
2118
2613
 
2119
- if (!sawUnary && this.eat(types.starstar))
2120
- { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false) }
2121
- else
2122
- { return expr }
2614
+ if (!incDec && this.eat(types$1.starstar)) {
2615
+ if (sawUnary)
2616
+ { this.unexpected(this.lastTokStart); }
2617
+ else
2618
+ { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false, false, forInit), "**", false) }
2619
+ } else {
2620
+ return expr
2621
+ }
2123
2622
  };
2124
2623
 
2624
+ function isPrivateFieldAccess(node) {
2625
+ return (
2626
+ node.type === "MemberExpression" && node.property.type === "PrivateIdentifier" ||
2627
+ node.type === "ChainExpression" && isPrivateFieldAccess(node.expression)
2628
+ )
2629
+ }
2630
+
2125
2631
  // Parse call, dot, and `[]`-subscript expressions.
2126
2632
 
2127
- pp$3.parseExprSubscripts = function(refDestructuringErrors) {
2633
+ pp$5.parseExprSubscripts = function(refDestructuringErrors, forInit) {
2128
2634
  var startPos = this.start, startLoc = this.startLoc;
2129
- var expr = this.parseExprAtom(refDestructuringErrors);
2635
+ var expr = this.parseExprAtom(refDestructuringErrors, forInit);
2130
2636
  if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")")
2131
2637
  { return expr }
2132
- var result = this.parseSubscripts(expr, startPos, startLoc);
2638
+ var result = this.parseSubscripts(expr, startPos, startLoc, false, forInit);
2133
2639
  if (refDestructuringErrors && result.type === "MemberExpression") {
2134
2640
  if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }
2135
2641
  if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }
2642
+ if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; }
2136
2643
  }
2137
2644
  return result
2138
2645
  };
2139
2646
 
2140
- pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
2647
+ pp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) {
2141
2648
  var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&
2142
2649
  this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&
2143
2650
  this.potentialArrowAt === base.start;
2144
2651
  var optionalChained = false;
2145
2652
 
2146
2653
  while (true) {
2147
- var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained);
2654
+ var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit);
2148
2655
 
2149
2656
  if (element.optional) { optionalChained = true; }
2150
2657
  if (element === base || element.type === "ArrowFunctionExpression") {
@@ -2160,29 +2667,35 @@
2160
2667
  }
2161
2668
  };
2162
2669
 
2163
- pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) {
2670
+ pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {
2164
2671
  var optionalSupported = this.options.ecmaVersion >= 11;
2165
- var optional = optionalSupported && this.eat(types.questionDot);
2672
+ var optional = optionalSupported && this.eat(types$1.questionDot);
2166
2673
  if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); }
2167
2674
 
2168
- var computed = this.eat(types.bracketL);
2169
- if (computed || (optional && this.type !== types.parenL && this.type !== types.backQuote) || this.eat(types.dot)) {
2675
+ var computed = this.eat(types$1.bracketL);
2676
+ if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) {
2170
2677
  var node = this.startNodeAt(startPos, startLoc);
2171
2678
  node.object = base;
2172
- node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never");
2679
+ if (computed) {
2680
+ node.property = this.parseExpression();
2681
+ this.expect(types$1.bracketR);
2682
+ } else if (this.type === types$1.privateId && base.type !== "Super") {
2683
+ node.property = this.parsePrivateIdent();
2684
+ } else {
2685
+ node.property = this.parseIdent(this.options.allowReserved !== "never");
2686
+ }
2173
2687
  node.computed = !!computed;
2174
- if (computed) { this.expect(types.bracketR); }
2175
2688
  if (optionalSupported) {
2176
2689
  node.optional = optional;
2177
2690
  }
2178
2691
  base = this.finishNode(node, "MemberExpression");
2179
- } else if (!noCalls && this.eat(types.parenL)) {
2692
+ } else if (!noCalls && this.eat(types$1.parenL)) {
2180
2693
  var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2181
2694
  this.yieldPos = 0;
2182
2695
  this.awaitPos = 0;
2183
2696
  this.awaitIdentPos = 0;
2184
- var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
2185
- if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types.arrow)) {
2697
+ var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
2698
+ if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
2186
2699
  this.checkPatternErrors(refDestructuringErrors, false);
2187
2700
  this.checkYieldAwaitInDefaultParams();
2188
2701
  if (this.awaitIdentPos > 0)
@@ -2190,7 +2703,7 @@
2190
2703
  this.yieldPos = oldYieldPos;
2191
2704
  this.awaitPos = oldAwaitPos;
2192
2705
  this.awaitIdentPos = oldAwaitIdentPos;
2193
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)
2706
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
2194
2707
  }
2195
2708
  this.checkExpressionErrors(refDestructuringErrors, true);
2196
2709
  this.yieldPos = oldYieldPos || this.yieldPos;
@@ -2203,7 +2716,7 @@
2203
2716
  node$1.optional = optional;
2204
2717
  }
2205
2718
  base = this.finishNode(node$1, "CallExpression");
2206
- } else if (this.type === types.backQuote) {
2719
+ } else if (this.type === types$1.backQuote) {
2207
2720
  if (optional || optionalChained) {
2208
2721
  this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
2209
2722
  }
@@ -2220,19 +2733,19 @@
2220
2733
  // `new`, or an expression wrapped in punctuation like `()`, `[]`,
2221
2734
  // or `{}`.
2222
2735
 
2223
- pp$3.parseExprAtom = function(refDestructuringErrors) {
2736
+ pp$5.parseExprAtom = function(refDestructuringErrors, forInit) {
2224
2737
  // If a division operator appears in an expression position, the
2225
2738
  // tokenizer got confused, and we force it to read a regexp instead.
2226
- if (this.type === types.slash) { this.readRegexp(); }
2739
+ if (this.type === types$1.slash) { this.readRegexp(); }
2227
2740
 
2228
2741
  var node, canBeArrow = this.potentialArrowAt === this.start;
2229
2742
  switch (this.type) {
2230
- case types._super:
2743
+ case types$1._super:
2231
2744
  if (!this.allowSuper)
2232
2745
  { this.raise(this.start, "'super' keyword outside a method"); }
2233
2746
  node = this.startNode();
2234
2747
  this.next();
2235
- if (this.type === types.parenL && !this.allowDirectSuper)
2748
+ if (this.type === types$1.parenL && !this.allowDirectSuper)
2236
2749
  { this.raise(node.start, "super() call outside constructor of a subclass"); }
2237
2750
  // The `super` keyword can appear at below:
2238
2751
  // SuperProperty:
@@ -2240,50 +2753,53 @@
2240
2753
  // super . IdentifierName
2241
2754
  // SuperCall:
2242
2755
  // super ( Arguments )
2243
- if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)
2756
+ if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL)
2244
2757
  { this.unexpected(); }
2245
2758
  return this.finishNode(node, "Super")
2246
2759
 
2247
- case types._this:
2760
+ case types$1._this:
2248
2761
  node = this.startNode();
2249
2762
  this.next();
2250
2763
  return this.finishNode(node, "ThisExpression")
2251
2764
 
2252
- case types.name:
2765
+ case types$1.name:
2253
2766
  var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;
2254
2767
  var id = this.parseIdent(false);
2255
- if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function))
2256
- { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) }
2768
+ if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types$1._function)) {
2769
+ this.overrideContext(types.f_expr);
2770
+ return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true, forInit)
2771
+ }
2257
2772
  if (canBeArrow && !this.canInsertSemicolon()) {
2258
- if (this.eat(types.arrow))
2259
- { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }
2260
- if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) {
2773
+ if (this.eat(types$1.arrow))
2774
+ { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false, forInit) }
2775
+ if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types$1.name && !containsEsc &&
2776
+ (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) {
2261
2777
  id = this.parseIdent(false);
2262
- if (this.canInsertSemicolon() || !this.eat(types.arrow))
2778
+ if (this.canInsertSemicolon() || !this.eat(types$1.arrow))
2263
2779
  { this.unexpected(); }
2264
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)
2780
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true, forInit)
2265
2781
  }
2266
2782
  }
2267
2783
  return id
2268
2784
 
2269
- case types.regexp:
2785
+ case types$1.regexp:
2270
2786
  var value = this.value;
2271
2787
  node = this.parseLiteral(value.value);
2272
2788
  node.regex = {pattern: value.pattern, flags: value.flags};
2273
2789
  return node
2274
2790
 
2275
- case types.num: case types.string:
2791
+ case types$1.num: case types$1.string:
2276
2792
  return this.parseLiteral(this.value)
2277
2793
 
2278
- case types._null: case types._true: case types._false:
2794
+ case types$1._null: case types$1._true: case types$1._false:
2279
2795
  node = this.startNode();
2280
- node.value = this.type === types._null ? null : this.type === types._true;
2796
+ node.value = this.type === types$1._null ? null : this.type === types$1._true;
2281
2797
  node.raw = this.type.keyword;
2282
2798
  this.next();
2283
2799
  return this.finishNode(node, "Literal")
2284
2800
 
2285
- case types.parenL:
2286
- var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);
2801
+ case types$1.parenL:
2802
+ var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow, forInit);
2287
2803
  if (refDestructuringErrors) {
2288
2804
  if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))
2289
2805
  { refDestructuringErrors.parenthesizedAssign = start; }
@@ -2292,30 +2808,31 @@
2292
2808
  }
2293
2809
  return expr
2294
2810
 
2295
- case types.bracketL:
2811
+ case types$1.bracketL:
2296
2812
  node = this.startNode();
2297
2813
  this.next();
2298
- node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);
2814
+ node.elements = this.parseExprList(types$1.bracketR, true, true, refDestructuringErrors);
2299
2815
  return this.finishNode(node, "ArrayExpression")
2300
2816
 
2301
- case types.braceL:
2817
+ case types$1.braceL:
2818
+ this.overrideContext(types.b_expr);
2302
2819
  return this.parseObj(false, refDestructuringErrors)
2303
2820
 
2304
- case types._function:
2821
+ case types$1._function:
2305
2822
  node = this.startNode();
2306
2823
  this.next();
2307
2824
  return this.parseFunction(node, 0)
2308
2825
 
2309
- case types._class:
2826
+ case types$1._class:
2310
2827
  return this.parseClass(this.startNode(), false)
2311
2828
 
2312
- case types._new:
2829
+ case types$1._new:
2313
2830
  return this.parseNew()
2314
2831
 
2315
- case types.backQuote:
2832
+ case types$1.backQuote:
2316
2833
  return this.parseTemplate()
2317
2834
 
2318
- case types._import:
2835
+ case types$1._import:
2319
2836
  if (this.options.ecmaVersion >= 11) {
2320
2837
  return this.parseExprImport()
2321
2838
  } else {
@@ -2327,7 +2844,7 @@
2327
2844
  }
2328
2845
  };
2329
2846
 
2330
- pp$3.parseExprImport = function() {
2847
+ pp$5.parseExprImport = function() {
2331
2848
  var node = this.startNode();
2332
2849
 
2333
2850
  // Consume `import` as an identifier for `import.meta`.
@@ -2336,9 +2853,9 @@
2336
2853
  var meta = this.parseIdent(true);
2337
2854
 
2338
2855
  switch (this.type) {
2339
- case types.parenL:
2856
+ case types$1.parenL:
2340
2857
  return this.parseDynamicImport(node)
2341
- case types.dot:
2858
+ case types$1.dot:
2342
2859
  node.meta = meta;
2343
2860
  return this.parseImportMeta(node)
2344
2861
  default:
@@ -2346,16 +2863,16 @@
2346
2863
  }
2347
2864
  };
2348
2865
 
2349
- pp$3.parseDynamicImport = function(node) {
2866
+ pp$5.parseDynamicImport = function(node) {
2350
2867
  this.next(); // skip `(`
2351
2868
 
2352
2869
  // Parse node.source.
2353
2870
  node.source = this.parseMaybeAssign();
2354
2871
 
2355
2872
  // Verify ending.
2356
- if (!this.eat(types.parenR)) {
2873
+ if (!this.eat(types$1.parenR)) {
2357
2874
  var errorPos = this.start;
2358
- if (this.eat(types.comma) && this.eat(types.parenR)) {
2875
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2359
2876
  this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
2360
2877
  } else {
2361
2878
  this.unexpected(errorPos);
@@ -2365,7 +2882,7 @@
2365
2882
  return this.finishNode(node, "ImportExpression")
2366
2883
  };
2367
2884
 
2368
- pp$3.parseImportMeta = function(node) {
2885
+ pp$5.parseImportMeta = function(node) {
2369
2886
  this.next(); // skip `.`
2370
2887
 
2371
2888
  var containsEsc = this.containsEsc;
@@ -2375,13 +2892,13 @@
2375
2892
  { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); }
2376
2893
  if (containsEsc)
2377
2894
  { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); }
2378
- if (this.options.sourceType !== "module")
2895
+ if (this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere)
2379
2896
  { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); }
2380
2897
 
2381
2898
  return this.finishNode(node, "MetaProperty")
2382
2899
  };
2383
2900
 
2384
- pp$3.parseLiteral = function(value) {
2901
+ pp$5.parseLiteral = function(value) {
2385
2902
  var node = this.startNode();
2386
2903
  node.value = value;
2387
2904
  node.raw = this.input.slice(this.start, this.end);
@@ -2390,14 +2907,14 @@
2390
2907
  return this.finishNode(node, "Literal")
2391
2908
  };
2392
2909
 
2393
- pp$3.parseParenExpression = function() {
2394
- this.expect(types.parenL);
2910
+ pp$5.parseParenExpression = function() {
2911
+ this.expect(types$1.parenL);
2395
2912
  var val = this.parseExpression();
2396
- this.expect(types.parenR);
2913
+ this.expect(types$1.parenR);
2397
2914
  return val
2398
2915
  };
2399
2916
 
2400
- pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
2917
+ pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
2401
2918
  var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
2402
2919
  if (this.options.ecmaVersion >= 6) {
2403
2920
  this.next();
@@ -2408,29 +2925,29 @@
2408
2925
  this.yieldPos = 0;
2409
2926
  this.awaitPos = 0;
2410
2927
  // Do not save awaitIdentPos to allow checking awaits nested in parameters
2411
- while (this.type !== types.parenR) {
2412
- first ? first = false : this.expect(types.comma);
2413
- if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) {
2928
+ while (this.type !== types$1.parenR) {
2929
+ first ? first = false : this.expect(types$1.comma);
2930
+ if (allowTrailingComma && this.afterTrailingComma(types$1.parenR, true)) {
2414
2931
  lastIsComma = true;
2415
2932
  break
2416
- } else if (this.type === types.ellipsis) {
2933
+ } else if (this.type === types$1.ellipsis) {
2417
2934
  spreadStart = this.start;
2418
2935
  exprList.push(this.parseParenItem(this.parseRestBinding()));
2419
- if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2936
+ if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2420
2937
  break
2421
2938
  } else {
2422
2939
  exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
2423
2940
  }
2424
2941
  }
2425
- var innerEndPos = this.start, innerEndLoc = this.startLoc;
2426
- this.expect(types.parenR);
2942
+ var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;
2943
+ this.expect(types$1.parenR);
2427
2944
 
2428
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {
2945
+ if (canBeArrow && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
2429
2946
  this.checkPatternErrors(refDestructuringErrors, false);
2430
2947
  this.checkYieldAwaitInDefaultParams();
2431
2948
  this.yieldPos = oldYieldPos;
2432
2949
  this.awaitPos = oldAwaitPos;
2433
- return this.parseParenArrowList(startPos, startLoc, exprList)
2950
+ return this.parseParenArrowList(startPos, startLoc, exprList, forInit)
2434
2951
  }
2435
2952
 
2436
2953
  if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }
@@ -2459,12 +2976,12 @@
2459
2976
  }
2460
2977
  };
2461
2978
 
2462
- pp$3.parseParenItem = function(item) {
2979
+ pp$5.parseParenItem = function(item) {
2463
2980
  return item
2464
2981
  };
2465
2982
 
2466
- pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
2467
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
2983
+ pp$5.parseParenArrowList = function(startPos, startLoc, exprList, forInit) {
2984
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, false, forInit)
2468
2985
  };
2469
2986
 
2470
2987
  // New's precedence is slightly tricky. It must allow its argument to
@@ -2473,13 +2990,13 @@
2473
2990
  // argument to parseSubscripts to prevent it from consuming the
2474
2991
  // argument list.
2475
2992
 
2476
- var empty$1 = [];
2993
+ var empty = [];
2477
2994
 
2478
- pp$3.parseNew = function() {
2995
+ pp$5.parseNew = function() {
2479
2996
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); }
2480
2997
  var node = this.startNode();
2481
2998
  var meta = this.parseIdent(true);
2482
- if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {
2999
+ if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
2483
3000
  node.meta = meta;
2484
3001
  var containsEsc = this.containsEsc;
2485
3002
  node.property = this.parseIdent(true);
@@ -2487,27 +3004,27 @@
2487
3004
  { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); }
2488
3005
  if (containsEsc)
2489
3006
  { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); }
2490
- if (!this.inNonArrowFunction())
2491
- { this.raiseRecoverable(node.start, "'new.target' can only be used in functions"); }
3007
+ if (!this.allowNewDotTarget)
3008
+ { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); }
2492
3009
  return this.finishNode(node, "MetaProperty")
2493
3010
  }
2494
- var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types._import;
2495
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
3011
+ var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types$1._import;
3012
+ node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true, false);
2496
3013
  if (isImport && node.callee.type === "ImportExpression") {
2497
3014
  this.raise(startPos, "Cannot use new with import()");
2498
3015
  }
2499
- if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false); }
2500
- else { node.arguments = empty$1; }
3016
+ if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
3017
+ else { node.arguments = empty; }
2501
3018
  return this.finishNode(node, "NewExpression")
2502
3019
  };
2503
3020
 
2504
3021
  // Parse template expression.
2505
3022
 
2506
- pp$3.parseTemplateElement = function(ref) {
3023
+ pp$5.parseTemplateElement = function(ref) {
2507
3024
  var isTagged = ref.isTagged;
2508
3025
 
2509
3026
  var elem = this.startNode();
2510
- if (this.type === types.invalidTemplate) {
3027
+ if (this.type === types$1.invalidTemplate) {
2511
3028
  if (!isTagged) {
2512
3029
  this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal");
2513
3030
  }
@@ -2522,11 +3039,11 @@
2522
3039
  };
2523
3040
  }
2524
3041
  this.next();
2525
- elem.tail = this.type === types.backQuote;
3042
+ elem.tail = this.type === types$1.backQuote;
2526
3043
  return this.finishNode(elem, "TemplateElement")
2527
3044
  };
2528
3045
 
2529
- pp$3.parseTemplate = function(ref) {
3046
+ pp$5.parseTemplate = function(ref) {
2530
3047
  if ( ref === void 0 ) ref = {};
2531
3048
  var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;
2532
3049
 
@@ -2536,32 +3053,32 @@
2536
3053
  var curElt = this.parseTemplateElement({isTagged: isTagged});
2537
3054
  node.quasis = [curElt];
2538
3055
  while (!curElt.tail) {
2539
- if (this.type === types.eof) { this.raise(this.pos, "Unterminated template literal"); }
2540
- this.expect(types.dollarBraceL);
3056
+ if (this.type === types$1.eof) { this.raise(this.pos, "Unterminated template literal"); }
3057
+ this.expect(types$1.dollarBraceL);
2541
3058
  node.expressions.push(this.parseExpression());
2542
- this.expect(types.braceR);
3059
+ this.expect(types$1.braceR);
2543
3060
  node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));
2544
3061
  }
2545
3062
  this.next();
2546
3063
  return this.finishNode(node, "TemplateLiteral")
2547
3064
  };
2548
3065
 
2549
- pp$3.isAsyncProp = function(prop) {
3066
+ pp$5.isAsyncProp = function(prop) {
2550
3067
  return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
2551
- (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&
3068
+ (this.type === types$1.name || this.type === types$1.num || this.type === types$1.string || this.type === types$1.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types$1.star)) &&
2552
3069
  !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
2553
3070
  };
2554
3071
 
2555
3072
  // Parse an object literal or binding pattern.
2556
3073
 
2557
- pp$3.parseObj = function(isPattern, refDestructuringErrors) {
3074
+ pp$5.parseObj = function(isPattern, refDestructuringErrors) {
2558
3075
  var node = this.startNode(), first = true, propHash = {};
2559
3076
  node.properties = [];
2560
3077
  this.next();
2561
- while (!this.eat(types.braceR)) {
3078
+ while (!this.eat(types$1.braceR)) {
2562
3079
  if (!first) {
2563
- this.expect(types.comma);
2564
- if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types.braceR)) { break }
3080
+ this.expect(types$1.comma);
3081
+ if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break }
2565
3082
  } else { first = false; }
2566
3083
 
2567
3084
  var prop = this.parseProperty(isPattern, refDestructuringErrors);
@@ -2571,29 +3088,20 @@
2571
3088
  return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
2572
3089
  };
2573
3090
 
2574
- pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
3091
+ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
2575
3092
  var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
2576
- if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {
3093
+ if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {
2577
3094
  if (isPattern) {
2578
3095
  prop.argument = this.parseIdent(false);
2579
- if (this.type === types.comma) {
3096
+ if (this.type === types$1.comma) {
2580
3097
  this.raise(this.start, "Comma is not permitted after the rest element");
2581
3098
  }
2582
3099
  return this.finishNode(prop, "RestElement")
2583
3100
  }
2584
- // To disallow parenthesized identifier via `this.toAssignable()`.
2585
- if (this.type === types.parenL && refDestructuringErrors) {
2586
- if (refDestructuringErrors.parenthesizedAssign < 0) {
2587
- refDestructuringErrors.parenthesizedAssign = this.start;
2588
- }
2589
- if (refDestructuringErrors.parenthesizedBind < 0) {
2590
- refDestructuringErrors.parenthesizedBind = this.start;
2591
- }
2592
- }
2593
3101
  // Parse argument.
2594
3102
  prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
2595
3103
  // To disallow trailing comma via `this.toAssignable()`.
2596
- if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
3104
+ if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
2597
3105
  refDestructuringErrors.trailingComma = this.start;
2598
3106
  }
2599
3107
  // Finish
@@ -2607,13 +3115,13 @@
2607
3115
  startLoc = this.startLoc;
2608
3116
  }
2609
3117
  if (!isPattern)
2610
- { isGenerator = this.eat(types.star); }
3118
+ { isGenerator = this.eat(types$1.star); }
2611
3119
  }
2612
3120
  var containsEsc = this.containsEsc;
2613
3121
  this.parsePropertyName(prop);
2614
3122
  if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
2615
3123
  isAsync = true;
2616
- isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
3124
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
2617
3125
  this.parsePropertyName(prop, refDestructuringErrors);
2618
3126
  } else {
2619
3127
  isAsync = false;
@@ -2622,14 +3130,14 @@
2622
3130
  return this.finishNode(prop, "Property")
2623
3131
  };
2624
3132
 
2625
- pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
2626
- if ((isGenerator || isAsync) && this.type === types.colon)
3133
+ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
3134
+ if ((isGenerator || isAsync) && this.type === types$1.colon)
2627
3135
  { this.unexpected(); }
2628
3136
 
2629
- if (this.eat(types.colon)) {
3137
+ if (this.eat(types$1.colon)) {
2630
3138
  prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);
2631
3139
  prop.kind = "init";
2632
- } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {
3140
+ } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
2633
3141
  if (isPattern) { this.unexpected(); }
2634
3142
  prop.kind = "init";
2635
3143
  prop.method = true;
@@ -2637,7 +3145,7 @@
2637
3145
  } else if (!isPattern && !containsEsc &&
2638
3146
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
2639
3147
  (prop.key.name === "get" || prop.key.name === "set") &&
2640
- (this.type !== types.comma && this.type !== types.braceR && this.type !== types.eq)) {
3148
+ (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {
2641
3149
  if (isGenerator || isAsync) { this.unexpected(); }
2642
3150
  prop.kind = prop.key.name;
2643
3151
  this.parsePropertyName(prop);
@@ -2660,35 +3168,35 @@
2660
3168
  { this.awaitIdentPos = startPos; }
2661
3169
  prop.kind = "init";
2662
3170
  if (isPattern) {
2663
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
2664
- } else if (this.type === types.eq && refDestructuringErrors) {
3171
+ prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3172
+ } else if (this.type === types$1.eq && refDestructuringErrors) {
2665
3173
  if (refDestructuringErrors.shorthandAssign < 0)
2666
3174
  { refDestructuringErrors.shorthandAssign = this.start; }
2667
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
3175
+ prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
2668
3176
  } else {
2669
- prop.value = prop.key;
3177
+ prop.value = this.copyNode(prop.key);
2670
3178
  }
2671
3179
  prop.shorthand = true;
2672
3180
  } else { this.unexpected(); }
2673
3181
  };
2674
3182
 
2675
- pp$3.parsePropertyName = function(prop) {
3183
+ pp$5.parsePropertyName = function(prop) {
2676
3184
  if (this.options.ecmaVersion >= 6) {
2677
- if (this.eat(types.bracketL)) {
3185
+ if (this.eat(types$1.bracketL)) {
2678
3186
  prop.computed = true;
2679
3187
  prop.key = this.parseMaybeAssign();
2680
- this.expect(types.bracketR);
3188
+ this.expect(types$1.bracketR);
2681
3189
  return prop.key
2682
3190
  } else {
2683
3191
  prop.computed = false;
2684
3192
  }
2685
3193
  }
2686
- return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
3194
+ return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
2687
3195
  };
2688
3196
 
2689
3197
  // Initialize empty function node.
2690
3198
 
2691
- pp$3.initFunction = function(node) {
3199
+ pp$5.initFunction = function(node) {
2692
3200
  node.id = null;
2693
3201
  if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }
2694
3202
  if (this.options.ecmaVersion >= 8) { node.async = false; }
@@ -2696,7 +3204,7 @@
2696
3204
 
2697
3205
  // Parse object or class method.
2698
3206
 
2699
- pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
3207
+ pp$5.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
2700
3208
  var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2701
3209
 
2702
3210
  this.initFunction(node);
@@ -2710,10 +3218,10 @@
2710
3218
  this.awaitIdentPos = 0;
2711
3219
  this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
2712
3220
 
2713
- this.expect(types.parenL);
2714
- node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
3221
+ this.expect(types$1.parenL);
3222
+ node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
2715
3223
  this.checkYieldAwaitInDefaultParams();
2716
- this.parseFunctionBody(node, false, true);
3224
+ this.parseFunctionBody(node, false, true, false);
2717
3225
 
2718
3226
  this.yieldPos = oldYieldPos;
2719
3227
  this.awaitPos = oldAwaitPos;
@@ -2723,7 +3231,7 @@
2723
3231
 
2724
3232
  // Parse arrow function expression with given parameters.
2725
3233
 
2726
- pp$3.parseArrowExpression = function(node, params, isAsync) {
3234
+ pp$5.parseArrowExpression = function(node, params, isAsync, forInit) {
2727
3235
  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2728
3236
 
2729
3237
  this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);
@@ -2735,7 +3243,7 @@
2735
3243
  this.awaitIdentPos = 0;
2736
3244
 
2737
3245
  node.params = this.toAssignableList(params, true);
2738
- this.parseFunctionBody(node, true, false);
3246
+ this.parseFunctionBody(node, true, false, forInit);
2739
3247
 
2740
3248
  this.yieldPos = oldYieldPos;
2741
3249
  this.awaitPos = oldAwaitPos;
@@ -2745,12 +3253,12 @@
2745
3253
 
2746
3254
  // Parse function body and check parameters.
2747
3255
 
2748
- pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {
2749
- var isExpression = isArrowFunction && this.type !== types.braceL;
3256
+ pp$5.parseFunctionBody = function(node, isArrowFunction, isMethod, forInit) {
3257
+ var isExpression = isArrowFunction && this.type !== types$1.braceL;
2750
3258
  var oldStrict = this.strict, useStrict = false;
2751
3259
 
2752
3260
  if (isExpression) {
2753
- node.body = this.parseMaybeAssign();
3261
+ node.body = this.parseMaybeAssign(forInit);
2754
3262
  node.expression = true;
2755
3263
  this.checkParams(node, false);
2756
3264
  } else {
@@ -2773,7 +3281,7 @@
2773
3281
  // if a let/const declaration in the function clashes with one of the params.
2774
3282
  this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));
2775
3283
  // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'
2776
- if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); }
3284
+ if (this.strict && node.id) { this.checkLValSimple(node.id, BIND_OUTSIDE); }
2777
3285
  node.body = this.parseBlock(false, undefined, useStrict && !oldStrict);
2778
3286
  node.expression = false;
2779
3287
  this.adaptDirectivePrologue(node.body.body);
@@ -2782,7 +3290,7 @@
2782
3290
  this.exitScope();
2783
3291
  };
2784
3292
 
2785
- pp$3.isSimpleParamList = function(params) {
3293
+ pp$5.isSimpleParamList = function(params) {
2786
3294
  for (var i = 0, list = params; i < list.length; i += 1)
2787
3295
  {
2788
3296
  var param = list[i];
@@ -2795,13 +3303,13 @@
2795
3303
  // Checks function params for various disallowed patterns such as using "eval"
2796
3304
  // or "arguments" and duplicate parameters.
2797
3305
 
2798
- pp$3.checkParams = function(node, allowDuplicates) {
2799
- var nameHash = {};
3306
+ pp$5.checkParams = function(node, allowDuplicates) {
3307
+ var nameHash = Object.create(null);
2800
3308
  for (var i = 0, list = node.params; i < list.length; i += 1)
2801
3309
  {
2802
3310
  var param = list[i];
2803
3311
 
2804
- this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);
3312
+ this.checkLValInnerPattern(param, BIND_VAR, allowDuplicates ? null : nameHash);
2805
3313
  }
2806
3314
  };
2807
3315
 
@@ -2811,20 +3319,20 @@
2811
3319
  // nothing in between them to be parsed as `null` (which is needed
2812
3320
  // for array literals).
2813
3321
 
2814
- pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
3322
+ pp$5.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
2815
3323
  var elts = [], first = true;
2816
3324
  while (!this.eat(close)) {
2817
3325
  if (!first) {
2818
- this.expect(types.comma);
3326
+ this.expect(types$1.comma);
2819
3327
  if (allowTrailingComma && this.afterTrailingComma(close)) { break }
2820
3328
  } else { first = false; }
2821
3329
 
2822
3330
  var elt = (void 0);
2823
- if (allowEmpty && this.type === types.comma)
3331
+ if (allowEmpty && this.type === types$1.comma)
2824
3332
  { elt = null; }
2825
- else if (this.type === types.ellipsis) {
3333
+ else if (this.type === types$1.ellipsis) {
2826
3334
  elt = this.parseSpread(refDestructuringErrors);
2827
- if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0)
3335
+ if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0)
2828
3336
  { refDestructuringErrors.trailingComma = this.start; }
2829
3337
  } else {
2830
3338
  elt = this.parseMaybeAssign(false, refDestructuringErrors);
@@ -2834,7 +3342,7 @@
2834
3342
  return elts
2835
3343
  };
2836
3344
 
2837
- pp$3.checkUnreserved = function(ref) {
3345
+ pp$5.checkUnreserved = function(ref) {
2838
3346
  var start = ref.start;
2839
3347
  var end = ref.end;
2840
3348
  var name = ref.name;
@@ -2843,6 +3351,10 @@
2843
3351
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
2844
3352
  if (this.inAsync && name === "await")
2845
3353
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3354
+ if (this.currentThisScope().inClassFieldInit && name === "arguments")
3355
+ { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3356
+ if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3357
+ { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
2846
3358
  if (this.keywords.test(name))
2847
3359
  { this.raise(start, ("Unexpected keyword '" + name + "'")); }
2848
3360
  if (this.options.ecmaVersion < 6 &&
@@ -2859,9 +3371,9 @@
2859
3371
  // when parsing properties), it will also convert keywords into
2860
3372
  // identifiers.
2861
3373
 
2862
- pp$3.parseIdent = function(liberal, isBinding) {
3374
+ pp$5.parseIdent = function(liberal, isBinding) {
2863
3375
  var node = this.startNode();
2864
- if (this.type === types.name) {
3376
+ if (this.type === types$1.name) {
2865
3377
  node.name = this.value;
2866
3378
  } else if (this.type.keyword) {
2867
3379
  node.name = this.type.keyword;
@@ -2887,29 +3399,49 @@
2887
3399
  return node
2888
3400
  };
2889
3401
 
3402
+ pp$5.parsePrivateIdent = function() {
3403
+ var node = this.startNode();
3404
+ if (this.type === types$1.privateId) {
3405
+ node.name = this.value;
3406
+ } else {
3407
+ this.unexpected();
3408
+ }
3409
+ this.next();
3410
+ this.finishNode(node, "PrivateIdentifier");
3411
+
3412
+ // For validating existence
3413
+ if (this.privateNameStack.length === 0) {
3414
+ this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
3415
+ } else {
3416
+ this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
3417
+ }
3418
+
3419
+ return node
3420
+ };
3421
+
2890
3422
  // Parses yield expression inside generator.
2891
3423
 
2892
- pp$3.parseYield = function(noIn) {
3424
+ pp$5.parseYield = function(forInit) {
2893
3425
  if (!this.yieldPos) { this.yieldPos = this.start; }
2894
3426
 
2895
3427
  var node = this.startNode();
2896
3428
  this.next();
2897
- if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {
3429
+ if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) {
2898
3430
  node.delegate = false;
2899
3431
  node.argument = null;
2900
3432
  } else {
2901
- node.delegate = this.eat(types.star);
2902
- node.argument = this.parseMaybeAssign(noIn);
3433
+ node.delegate = this.eat(types$1.star);
3434
+ node.argument = this.parseMaybeAssign(forInit);
2903
3435
  }
2904
3436
  return this.finishNode(node, "YieldExpression")
2905
3437
  };
2906
3438
 
2907
- pp$3.parseAwait = function() {
3439
+ pp$5.parseAwait = function(forInit) {
2908
3440
  if (!this.awaitPos) { this.awaitPos = this.start; }
2909
3441
 
2910
3442
  var node = this.startNode();
2911
3443
  this.next();
2912
- node.argument = this.parseMaybeUnary(null, false);
3444
+ node.argument = this.parseMaybeUnary(null, true, false, forInit);
2913
3445
  return this.finishNode(node, "AwaitExpression")
2914
3446
  };
2915
3447
 
@@ -2937,7 +3469,7 @@
2937
3469
  }
2938
3470
  };
2939
3471
 
2940
- var pp$5 = Parser.prototype;
3472
+ var pp$3 = Parser.prototype;
2941
3473
 
2942
3474
  var Scope = function Scope(flags) {
2943
3475
  this.flags = flags;
@@ -2947,26 +3479,28 @@
2947
3479
  this.lexical = [];
2948
3480
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
2949
3481
  this.functions = [];
3482
+ // A switch to disallow the identifier reference 'arguments'
3483
+ this.inClassFieldInit = false;
2950
3484
  };
2951
3485
 
2952
3486
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
2953
3487
 
2954
- pp$5.enterScope = function(flags) {
3488
+ pp$3.enterScope = function(flags) {
2955
3489
  this.scopeStack.push(new Scope(flags));
2956
3490
  };
2957
3491
 
2958
- pp$5.exitScope = function() {
3492
+ pp$3.exitScope = function() {
2959
3493
  this.scopeStack.pop();
2960
3494
  };
2961
3495
 
2962
3496
  // The spec says:
2963
3497
  // > At the top level of a function, or script, function declarations are
2964
3498
  // > treated like var declarations rather than like lexical declarations.
2965
- pp$5.treatFunctionsAsVarInScope = function(scope) {
3499
+ pp$3.treatFunctionsAsVarInScope = function(scope) {
2966
3500
  return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)
2967
3501
  };
2968
3502
 
2969
- pp$5.declareName = function(name, bindingType, pos) {
3503
+ pp$3.declareName = function(name, bindingType, pos) {
2970
3504
  var redeclared = false;
2971
3505
  if (bindingType === BIND_LEXICAL) {
2972
3506
  var scope = this.currentScope();
@@ -3001,7 +3535,7 @@
3001
3535
  if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); }
3002
3536
  };
3003
3537
 
3004
- pp$5.checkLocalExport = function(id) {
3538
+ pp$3.checkLocalExport = function(id) {
3005
3539
  // scope.functions must be empty as Module code is always strict.
3006
3540
  if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&
3007
3541
  this.scopeStack[0].var.indexOf(id.name) === -1) {
@@ -3009,11 +3543,11 @@
3009
3543
  }
3010
3544
  };
3011
3545
 
3012
- pp$5.currentScope = function() {
3546
+ pp$3.currentScope = function() {
3013
3547
  return this.scopeStack[this.scopeStack.length - 1]
3014
3548
  };
3015
3549
 
3016
- pp$5.currentVarScope = function() {
3550
+ pp$3.currentVarScope = function() {
3017
3551
  for (var i = this.scopeStack.length - 1;; i--) {
3018
3552
  var scope = this.scopeStack[i];
3019
3553
  if (scope.flags & SCOPE_VAR) { return scope }
@@ -3021,7 +3555,7 @@
3021
3555
  };
3022
3556
 
3023
3557
  // Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.
3024
- pp$5.currentThisScope = function() {
3558
+ pp$3.currentThisScope = function() {
3025
3559
  for (var i = this.scopeStack.length - 1;; i--) {
3026
3560
  var scope = this.scopeStack[i];
3027
3561
  if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
@@ -3042,13 +3576,13 @@
3042
3576
 
3043
3577
  // Start an AST node, attaching a start offset.
3044
3578
 
3045
- var pp$6 = Parser.prototype;
3579
+ var pp$2 = Parser.prototype;
3046
3580
 
3047
- pp$6.startNode = function() {
3581
+ pp$2.startNode = function() {
3048
3582
  return new Node(this, this.start, this.startLoc)
3049
3583
  };
3050
3584
 
3051
- pp$6.startNodeAt = function(pos, loc) {
3585
+ pp$2.startNodeAt = function(pos, loc) {
3052
3586
  return new Node(this, pos, loc)
3053
3587
  };
3054
3588
 
@@ -3064,156 +3598,20 @@
3064
3598
  return node
3065
3599
  }
3066
3600
 
3067
- pp$6.finishNode = function(node, type) {
3601
+ pp$2.finishNode = function(node, type) {
3068
3602
  return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
3069
3603
  };
3070
3604
 
3071
3605
  // Finish node at given position
3072
3606
 
3073
- pp$6.finishNodeAt = function(node, type, pos, loc) {
3607
+ pp$2.finishNodeAt = function(node, type, pos, loc) {
3074
3608
  return finishNodeAt.call(this, node, type, pos, loc)
3075
3609
  };
3076
3610
 
3077
- // The algorithm used to determine whether a regexp can appear at a
3078
-
3079
- var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
3080
- this.token = token;
3081
- this.isExpr = !!isExpr;
3082
- this.preserveSpace = !!preserveSpace;
3083
- this.override = override;
3084
- this.generator = !!generator;
3085
- };
3086
-
3087
- var types$1 = {
3088
- b_stat: new TokContext("{", false),
3089
- b_expr: new TokContext("{", true),
3090
- b_tmpl: new TokContext("${", false),
3091
- p_stat: new TokContext("(", false),
3092
- p_expr: new TokContext("(", true),
3093
- q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
3094
- f_stat: new TokContext("function", false),
3095
- f_expr: new TokContext("function", true),
3096
- f_expr_gen: new TokContext("function", true, false, null, true),
3097
- f_gen: new TokContext("function", false, false, null, true)
3098
- };
3099
-
3100
- var pp$7 = Parser.prototype;
3101
-
3102
- pp$7.initialContext = function() {
3103
- return [types$1.b_stat]
3104
- };
3105
-
3106
- pp$7.braceIsBlock = function(prevType) {
3107
- var parent = this.curContext();
3108
- if (parent === types$1.f_expr || parent === types$1.f_stat)
3109
- { return true }
3110
- if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))
3111
- { return !parent.isExpr }
3112
-
3113
- // The check for `tt.name && exprAllowed` detects whether we are
3114
- // after a `yield` or `of` construct. See the `updateContext` for
3115
- // `tt.name`.
3116
- if (prevType === types._return || prevType === types.name && this.exprAllowed)
3117
- { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
3118
- if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)
3119
- { return true }
3120
- if (prevType === types.braceL)
3121
- { return parent === types$1.b_stat }
3122
- if (prevType === types._var || prevType === types._const || prevType === types.name)
3123
- { return false }
3124
- return !this.exprAllowed
3125
- };
3126
-
3127
- pp$7.inGeneratorContext = function() {
3128
- for (var i = this.context.length - 1; i >= 1; i--) {
3129
- var context = this.context[i];
3130
- if (context.token === "function")
3131
- { return context.generator }
3132
- }
3133
- return false
3134
- };
3135
-
3136
- pp$7.updateContext = function(prevType) {
3137
- var update, type = this.type;
3138
- if (type.keyword && prevType === types.dot)
3139
- { this.exprAllowed = false; }
3140
- else if (update = type.updateContext)
3141
- { update.call(this, prevType); }
3142
- else
3143
- { this.exprAllowed = type.beforeExpr; }
3144
- };
3145
-
3146
- // Token-specific context update code
3147
-
3148
- types.parenR.updateContext = types.braceR.updateContext = function() {
3149
- if (this.context.length === 1) {
3150
- this.exprAllowed = true;
3151
- return
3152
- }
3153
- var out = this.context.pop();
3154
- if (out === types$1.b_stat && this.curContext().token === "function") {
3155
- out = this.context.pop();
3156
- }
3157
- this.exprAllowed = !out.isExpr;
3158
- };
3159
-
3160
- types.braceL.updateContext = function(prevType) {
3161
- this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);
3162
- this.exprAllowed = true;
3163
- };
3164
-
3165
- types.dollarBraceL.updateContext = function() {
3166
- this.context.push(types$1.b_tmpl);
3167
- this.exprAllowed = true;
3168
- };
3169
-
3170
- types.parenL.updateContext = function(prevType) {
3171
- var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;
3172
- this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);
3173
- this.exprAllowed = true;
3174
- };
3175
-
3176
- types.incDec.updateContext = function() {
3177
- // tokExprAllowed stays unchanged
3178
- };
3179
-
3180
- types._function.updateContext = types._class.updateContext = function(prevType) {
3181
- if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&
3182
- !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
3183
- !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))
3184
- { this.context.push(types$1.f_expr); }
3185
- else
3186
- { this.context.push(types$1.f_stat); }
3187
- this.exprAllowed = false;
3188
- };
3189
-
3190
- types.backQuote.updateContext = function() {
3191
- if (this.curContext() === types$1.q_tmpl)
3192
- { this.context.pop(); }
3193
- else
3194
- { this.context.push(types$1.q_tmpl); }
3195
- this.exprAllowed = false;
3196
- };
3197
-
3198
- types.star.updateContext = function(prevType) {
3199
- if (prevType === types._function) {
3200
- var index = this.context.length - 1;
3201
- if (this.context[index] === types$1.f_expr)
3202
- { this.context[index] = types$1.f_expr_gen; }
3203
- else
3204
- { this.context[index] = types$1.f_gen; }
3205
- }
3206
- this.exprAllowed = true;
3207
- };
3208
-
3209
- types.name.updateContext = function(prevType) {
3210
- var allowed = false;
3211
- if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {
3212
- if (this.value === "of" && !this.exprAllowed ||
3213
- this.value === "yield" && this.inGeneratorContext())
3214
- { allowed = true; }
3215
- }
3216
- this.exprAllowed = allowed;
3611
+ pp$2.copyNode = function(node) {
3612
+ var newNode = new Node(this, node.start, this.startLoc);
3613
+ for (var prop in node) { newNode[prop] = node[prop]; }
3614
+ return newNode
3217
3615
  };
3218
3616
 
3219
3617
  // This file contains Unicode properties extracted from the ECMAScript
@@ -3224,23 +3622,31 @@
3224
3622
  var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";
3225
3623
  var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
3226
3624
  var ecma11BinaryProperties = ecma10BinaryProperties;
3625
+ var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
3626
+ var ecma13BinaryProperties = ecma12BinaryProperties;
3227
3627
  var unicodeBinaryProperties = {
3228
3628
  9: ecma9BinaryProperties,
3229
3629
  10: ecma10BinaryProperties,
3230
- 11: ecma11BinaryProperties
3630
+ 11: ecma11BinaryProperties,
3631
+ 12: ecma12BinaryProperties,
3632
+ 13: ecma13BinaryProperties
3231
3633
  };
3232
3634
 
3233
3635
  // #table-unicode-general-category-values
3234
3636
  var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";
3235
3637
 
3236
3638
  // #table-unicode-script-values
3237
- var ecma9ScriptValues = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
3639
+ var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
3238
3640
  var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
3239
3641
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3642
+ var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3643
+ var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3240
3644
  var unicodeScriptValues = {
3241
3645
  9: ecma9ScriptValues,
3242
3646
  10: ecma10ScriptValues,
3243
- 11: ecma11ScriptValues
3647
+ 11: ecma11ScriptValues,
3648
+ 12: ecma12ScriptValues,
3649
+ 13: ecma13ScriptValues
3244
3650
  };
3245
3651
 
3246
3652
  var data = {};
@@ -3258,16 +3664,19 @@
3258
3664
  d.nonBinary.sc = d.nonBinary.Script;
3259
3665
  d.nonBinary.scx = d.nonBinary.Script_Extensions;
3260
3666
  }
3261
- buildUnicodeData(9);
3262
- buildUnicodeData(10);
3263
- buildUnicodeData(11);
3264
3667
 
3265
- var pp$8 = Parser.prototype;
3668
+ for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
3669
+ var ecmaVersion = list[i];
3670
+
3671
+ buildUnicodeData(ecmaVersion);
3672
+ }
3673
+
3674
+ var pp$1 = Parser.prototype;
3266
3675
 
3267
3676
  var RegExpValidationState = function RegExpValidationState(parser) {
3268
3677
  this.parser = parser;
3269
- this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "");
3270
- this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion];
3678
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
3679
+ this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
3271
3680
  this.source = "";
3272
3681
  this.flags = "";
3273
3682
  this.start = 0;
@@ -3358,19 +3767,13 @@
3358
3767
  return false
3359
3768
  };
3360
3769
 
3361
- function codePointToString(ch) {
3362
- if (ch <= 0xFFFF) { return String.fromCharCode(ch) }
3363
- ch -= 0x10000;
3364
- return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)
3365
- }
3366
-
3367
3770
  /**
3368
3771
  * Validate the flags part of a given RegExpLiteral.
3369
3772
  *
3370
3773
  * @param {RegExpValidationState} state The state to validate RegExp.
3371
3774
  * @returns {void}
3372
3775
  */
3373
- pp$8.validateRegExpFlags = function(state) {
3776
+ pp$1.validateRegExpFlags = function(state) {
3374
3777
  var validFlags = state.validFlags;
3375
3778
  var flags = state.flags;
3376
3779
 
@@ -3391,7 +3794,7 @@
3391
3794
  * @param {RegExpValidationState} state The state to validate RegExp.
3392
3795
  * @returns {void}
3393
3796
  */
3394
- pp$8.validateRegExpPattern = function(state) {
3797
+ pp$1.validateRegExpPattern = function(state) {
3395
3798
  this.regexp_pattern(state);
3396
3799
 
3397
3800
  // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
@@ -3406,7 +3809,7 @@
3406
3809
  };
3407
3810
 
3408
3811
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
3409
- pp$8.regexp_pattern = function(state) {
3812
+ pp$1.regexp_pattern = function(state) {
3410
3813
  state.pos = 0;
3411
3814
  state.lastIntValue = 0;
3412
3815
  state.lastStringValue = "";
@@ -3440,7 +3843,7 @@
3440
3843
  };
3441
3844
 
3442
3845
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
3443
- pp$8.regexp_disjunction = function(state) {
3846
+ pp$1.regexp_disjunction = function(state) {
3444
3847
  this.regexp_alternative(state);
3445
3848
  while (state.eat(0x7C /* | */)) {
3446
3849
  this.regexp_alternative(state);
@@ -3456,13 +3859,13 @@
3456
3859
  };
3457
3860
 
3458
3861
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
3459
- pp$8.regexp_alternative = function(state) {
3862
+ pp$1.regexp_alternative = function(state) {
3460
3863
  while (state.pos < state.source.length && this.regexp_eatTerm(state))
3461
3864
  { }
3462
3865
  };
3463
3866
 
3464
3867
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
3465
- pp$8.regexp_eatTerm = function(state) {
3868
+ pp$1.regexp_eatTerm = function(state) {
3466
3869
  if (this.regexp_eatAssertion(state)) {
3467
3870
  // Handle `QuantifiableAssertion Quantifier` alternative.
3468
3871
  // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
@@ -3485,7 +3888,7 @@
3485
3888
  };
3486
3889
 
3487
3890
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
3488
- pp$8.regexp_eatAssertion = function(state) {
3891
+ pp$1.regexp_eatAssertion = function(state) {
3489
3892
  var start = state.pos;
3490
3893
  state.lastAssertionIsQuantifiable = false;
3491
3894
 
@@ -3523,7 +3926,7 @@
3523
3926
  };
3524
3927
 
3525
3928
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
3526
- pp$8.regexp_eatQuantifier = function(state, noError) {
3929
+ pp$1.regexp_eatQuantifier = function(state, noError) {
3527
3930
  if ( noError === void 0 ) noError = false;
3528
3931
 
3529
3932
  if (this.regexp_eatQuantifierPrefix(state, noError)) {
@@ -3534,7 +3937,7 @@
3534
3937
  };
3535
3938
 
3536
3939
  // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
3537
- pp$8.regexp_eatQuantifierPrefix = function(state, noError) {
3940
+ pp$1.regexp_eatQuantifierPrefix = function(state, noError) {
3538
3941
  return (
3539
3942
  state.eat(0x2A /* * */) ||
3540
3943
  state.eat(0x2B /* + */) ||
@@ -3542,7 +3945,7 @@
3542
3945
  this.regexp_eatBracedQuantifier(state, noError)
3543
3946
  )
3544
3947
  };
3545
- pp$8.regexp_eatBracedQuantifier = function(state, noError) {
3948
+ pp$1.regexp_eatBracedQuantifier = function(state, noError) {
3546
3949
  var start = state.pos;
3547
3950
  if (state.eat(0x7B /* { */)) {
3548
3951
  var min = 0, max = -1;
@@ -3568,7 +3971,7 @@
3568
3971
  };
3569
3972
 
3570
3973
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
3571
- pp$8.regexp_eatAtom = function(state) {
3974
+ pp$1.regexp_eatAtom = function(state) {
3572
3975
  return (
3573
3976
  this.regexp_eatPatternCharacters(state) ||
3574
3977
  state.eat(0x2E /* . */) ||
@@ -3578,7 +3981,7 @@
3578
3981
  this.regexp_eatCapturingGroup(state)
3579
3982
  )
3580
3983
  };
3581
- pp$8.regexp_eatReverseSolidusAtomEscape = function(state) {
3984
+ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
3582
3985
  var start = state.pos;
3583
3986
  if (state.eat(0x5C /* \ */)) {
3584
3987
  if (this.regexp_eatAtomEscape(state)) {
@@ -3588,7 +3991,7 @@
3588
3991
  }
3589
3992
  return false
3590
3993
  };
3591
- pp$8.regexp_eatUncapturingGroup = function(state) {
3994
+ pp$1.regexp_eatUncapturingGroup = function(state) {
3592
3995
  var start = state.pos;
3593
3996
  if (state.eat(0x28 /* ( */)) {
3594
3997
  if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
@@ -3602,7 +4005,7 @@
3602
4005
  }
3603
4006
  return false
3604
4007
  };
3605
- pp$8.regexp_eatCapturingGroup = function(state) {
4008
+ pp$1.regexp_eatCapturingGroup = function(state) {
3606
4009
  if (state.eat(0x28 /* ( */)) {
3607
4010
  if (this.options.ecmaVersion >= 9) {
3608
4011
  this.regexp_groupSpecifier(state);
@@ -3620,7 +4023,7 @@
3620
4023
  };
3621
4024
 
3622
4025
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
3623
- pp$8.regexp_eatExtendedAtom = function(state) {
4026
+ pp$1.regexp_eatExtendedAtom = function(state) {
3624
4027
  return (
3625
4028
  state.eat(0x2E /* . */) ||
3626
4029
  this.regexp_eatReverseSolidusAtomEscape(state) ||
@@ -3633,7 +4036,7 @@
3633
4036
  };
3634
4037
 
3635
4038
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
3636
- pp$8.regexp_eatInvalidBracedQuantifier = function(state) {
4039
+ pp$1.regexp_eatInvalidBracedQuantifier = function(state) {
3637
4040
  if (this.regexp_eatBracedQuantifier(state, true)) {
3638
4041
  state.raise("Nothing to repeat");
3639
4042
  }
@@ -3641,7 +4044,7 @@
3641
4044
  };
3642
4045
 
3643
4046
  // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
3644
- pp$8.regexp_eatSyntaxCharacter = function(state) {
4047
+ pp$1.regexp_eatSyntaxCharacter = function(state) {
3645
4048
  var ch = state.current();
3646
4049
  if (isSyntaxCharacter(ch)) {
3647
4050
  state.lastIntValue = ch;
@@ -3663,7 +4066,7 @@
3663
4066
 
3664
4067
  // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
3665
4068
  // But eat eager.
3666
- pp$8.regexp_eatPatternCharacters = function(state) {
4069
+ pp$1.regexp_eatPatternCharacters = function(state) {
3667
4070
  var start = state.pos;
3668
4071
  var ch = 0;
3669
4072
  while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
@@ -3673,7 +4076,7 @@
3673
4076
  };
3674
4077
 
3675
4078
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
3676
- pp$8.regexp_eatExtendedPatternCharacter = function(state) {
4079
+ pp$1.regexp_eatExtendedPatternCharacter = function(state) {
3677
4080
  var ch = state.current();
3678
4081
  if (
3679
4082
  ch !== -1 &&
@@ -3694,7 +4097,7 @@
3694
4097
  // GroupSpecifier ::
3695
4098
  // [empty]
3696
4099
  // `?` GroupName
3697
- pp$8.regexp_groupSpecifier = function(state) {
4100
+ pp$1.regexp_groupSpecifier = function(state) {
3698
4101
  if (state.eat(0x3F /* ? */)) {
3699
4102
  if (this.regexp_eatGroupName(state)) {
3700
4103
  if (state.groupNames.indexOf(state.lastStringValue) !== -1) {
@@ -3710,7 +4113,7 @@
3710
4113
  // GroupName ::
3711
4114
  // `<` RegExpIdentifierName `>`
3712
4115
  // Note: this updates `state.lastStringValue` property with the eaten name.
3713
- pp$8.regexp_eatGroupName = function(state) {
4116
+ pp$1.regexp_eatGroupName = function(state) {
3714
4117
  state.lastStringValue = "";
3715
4118
  if (state.eat(0x3C /* < */)) {
3716
4119
  if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
@@ -3725,7 +4128,7 @@
3725
4128
  // RegExpIdentifierStart
3726
4129
  // RegExpIdentifierName RegExpIdentifierPart
3727
4130
  // Note: this updates `state.lastStringValue` property with the eaten name.
3728
- pp$8.regexp_eatRegExpIdentifierName = function(state) {
4131
+ pp$1.regexp_eatRegExpIdentifierName = function(state) {
3729
4132
  state.lastStringValue = "";
3730
4133
  if (this.regexp_eatRegExpIdentifierStart(state)) {
3731
4134
  state.lastStringValue += codePointToString(state.lastIntValue);
@@ -3742,7 +4145,7 @@
3742
4145
  // `$`
3743
4146
  // `_`
3744
4147
  // `\` RegExpUnicodeEscapeSequence[+U]
3745
- pp$8.regexp_eatRegExpIdentifierStart = function(state) {
4148
+ pp$1.regexp_eatRegExpIdentifierStart = function(state) {
3746
4149
  var start = state.pos;
3747
4150
  var forceU = this.options.ecmaVersion >= 11;
3748
4151
  var ch = state.current(forceU);
@@ -3770,7 +4173,7 @@
3770
4173
  // `\` RegExpUnicodeEscapeSequence[+U]
3771
4174
  // <ZWNJ>
3772
4175
  // <ZWJ>
3773
- pp$8.regexp_eatRegExpIdentifierPart = function(state) {
4176
+ pp$1.regexp_eatRegExpIdentifierPart = function(state) {
3774
4177
  var start = state.pos;
3775
4178
  var forceU = this.options.ecmaVersion >= 11;
3776
4179
  var ch = state.current(forceU);
@@ -3792,7 +4195,7 @@
3792
4195
  }
3793
4196
 
3794
4197
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
3795
- pp$8.regexp_eatAtomEscape = function(state) {
4198
+ pp$1.regexp_eatAtomEscape = function(state) {
3796
4199
  if (
3797
4200
  this.regexp_eatBackReference(state) ||
3798
4201
  this.regexp_eatCharacterClassEscape(state) ||
@@ -3810,7 +4213,7 @@
3810
4213
  }
3811
4214
  return false
3812
4215
  };
3813
- pp$8.regexp_eatBackReference = function(state) {
4216
+ pp$1.regexp_eatBackReference = function(state) {
3814
4217
  var start = state.pos;
3815
4218
  if (this.regexp_eatDecimalEscape(state)) {
3816
4219
  var n = state.lastIntValue;
@@ -3828,7 +4231,7 @@
3828
4231
  }
3829
4232
  return false
3830
4233
  };
3831
- pp$8.regexp_eatKGroupName = function(state) {
4234
+ pp$1.regexp_eatKGroupName = function(state) {
3832
4235
  if (state.eat(0x6B /* k */)) {
3833
4236
  if (this.regexp_eatGroupName(state)) {
3834
4237
  state.backReferenceNames.push(state.lastStringValue);
@@ -3840,7 +4243,7 @@
3840
4243
  };
3841
4244
 
3842
4245
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
3843
- pp$8.regexp_eatCharacterEscape = function(state) {
4246
+ pp$1.regexp_eatCharacterEscape = function(state) {
3844
4247
  return (
3845
4248
  this.regexp_eatControlEscape(state) ||
3846
4249
  this.regexp_eatCControlLetter(state) ||
@@ -3851,7 +4254,7 @@
3851
4254
  this.regexp_eatIdentityEscape(state)
3852
4255
  )
3853
4256
  };
3854
- pp$8.regexp_eatCControlLetter = function(state) {
4257
+ pp$1.regexp_eatCControlLetter = function(state) {
3855
4258
  var start = state.pos;
3856
4259
  if (state.eat(0x63 /* c */)) {
3857
4260
  if (this.regexp_eatControlLetter(state)) {
@@ -3861,7 +4264,7 @@
3861
4264
  }
3862
4265
  return false
3863
4266
  };
3864
- pp$8.regexp_eatZero = function(state) {
4267
+ pp$1.regexp_eatZero = function(state) {
3865
4268
  if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
3866
4269
  state.lastIntValue = 0;
3867
4270
  state.advance();
@@ -3871,7 +4274,7 @@
3871
4274
  };
3872
4275
 
3873
4276
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
3874
- pp$8.regexp_eatControlEscape = function(state) {
4277
+ pp$1.regexp_eatControlEscape = function(state) {
3875
4278
  var ch = state.current();
3876
4279
  if (ch === 0x74 /* t */) {
3877
4280
  state.lastIntValue = 0x09; /* \t */
@@ -3902,7 +4305,7 @@
3902
4305
  };
3903
4306
 
3904
4307
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
3905
- pp$8.regexp_eatControlLetter = function(state) {
4308
+ pp$1.regexp_eatControlLetter = function(state) {
3906
4309
  var ch = state.current();
3907
4310
  if (isControlLetter(ch)) {
3908
4311
  state.lastIntValue = ch % 0x20;
@@ -3919,7 +4322,7 @@
3919
4322
  }
3920
4323
 
3921
4324
  // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
3922
- pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {
4325
+ pp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {
3923
4326
  if ( forceU === void 0 ) forceU = false;
3924
4327
 
3925
4328
  var start = state.pos;
@@ -3964,7 +4367,7 @@
3964
4367
  }
3965
4368
 
3966
4369
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
3967
- pp$8.regexp_eatIdentityEscape = function(state) {
4370
+ pp$1.regexp_eatIdentityEscape = function(state) {
3968
4371
  if (state.switchU) {
3969
4372
  if (this.regexp_eatSyntaxCharacter(state)) {
3970
4373
  return true
@@ -3987,7 +4390,7 @@
3987
4390
  };
3988
4391
 
3989
4392
  // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
3990
- pp$8.regexp_eatDecimalEscape = function(state) {
4393
+ pp$1.regexp_eatDecimalEscape = function(state) {
3991
4394
  state.lastIntValue = 0;
3992
4395
  var ch = state.current();
3993
4396
  if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
@@ -4001,7 +4404,7 @@
4001
4404
  };
4002
4405
 
4003
4406
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
4004
- pp$8.regexp_eatCharacterClassEscape = function(state) {
4407
+ pp$1.regexp_eatCharacterClassEscape = function(state) {
4005
4408
  var ch = state.current();
4006
4409
 
4007
4410
  if (isCharacterClassEscape(ch)) {
@@ -4043,7 +4446,7 @@
4043
4446
  // UnicodePropertyValueExpression ::
4044
4447
  // UnicodePropertyName `=` UnicodePropertyValue
4045
4448
  // LoneUnicodePropertyNameOrValue
4046
- pp$8.regexp_eatUnicodePropertyValueExpression = function(state) {
4449
+ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
4047
4450
  var start = state.pos;
4048
4451
 
4049
4452
  // UnicodePropertyName `=` UnicodePropertyValue
@@ -4065,20 +4468,20 @@
4065
4468
  }
4066
4469
  return false
4067
4470
  };
4068
- pp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
4069
- if (!has(state.unicodeProperties.nonBinary, name))
4471
+ pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
4472
+ if (!hasOwn(state.unicodeProperties.nonBinary, name))
4070
4473
  { state.raise("Invalid property name"); }
4071
4474
  if (!state.unicodeProperties.nonBinary[name].test(value))
4072
4475
  { state.raise("Invalid property value"); }
4073
4476
  };
4074
- pp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
4477
+ pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
4075
4478
  if (!state.unicodeProperties.binary.test(nameOrValue))
4076
4479
  { state.raise("Invalid property name"); }
4077
4480
  };
4078
4481
 
4079
4482
  // UnicodePropertyName ::
4080
4483
  // UnicodePropertyNameCharacters
4081
- pp$8.regexp_eatUnicodePropertyName = function(state) {
4484
+ pp$1.regexp_eatUnicodePropertyName = function(state) {
4082
4485
  var ch = 0;
4083
4486
  state.lastStringValue = "";
4084
4487
  while (isUnicodePropertyNameCharacter(ch = state.current())) {
@@ -4093,7 +4496,7 @@
4093
4496
 
4094
4497
  // UnicodePropertyValue ::
4095
4498
  // UnicodePropertyValueCharacters
4096
- pp$8.regexp_eatUnicodePropertyValue = function(state) {
4499
+ pp$1.regexp_eatUnicodePropertyValue = function(state) {
4097
4500
  var ch = 0;
4098
4501
  state.lastStringValue = "";
4099
4502
  while (isUnicodePropertyValueCharacter(ch = state.current())) {
@@ -4108,12 +4511,12 @@
4108
4511
 
4109
4512
  // LoneUnicodePropertyNameOrValue ::
4110
4513
  // UnicodePropertyValueCharacters
4111
- pp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
4514
+ pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
4112
4515
  return this.regexp_eatUnicodePropertyValue(state)
4113
4516
  };
4114
4517
 
4115
4518
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
4116
- pp$8.regexp_eatCharacterClass = function(state) {
4519
+ pp$1.regexp_eatCharacterClass = function(state) {
4117
4520
  if (state.eat(0x5B /* [ */)) {
4118
4521
  state.eat(0x5E /* ^ */);
4119
4522
  this.regexp_classRanges(state);
@@ -4129,7 +4532,7 @@
4129
4532
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
4130
4533
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
4131
4534
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
4132
- pp$8.regexp_classRanges = function(state) {
4535
+ pp$1.regexp_classRanges = function(state) {
4133
4536
  while (this.regexp_eatClassAtom(state)) {
4134
4537
  var left = state.lastIntValue;
4135
4538
  if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
@@ -4146,7 +4549,7 @@
4146
4549
 
4147
4550
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
4148
4551
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
4149
- pp$8.regexp_eatClassAtom = function(state) {
4552
+ pp$1.regexp_eatClassAtom = function(state) {
4150
4553
  var start = state.pos;
4151
4554
 
4152
4555
  if (state.eat(0x5C /* \ */)) {
@@ -4175,7 +4578,7 @@
4175
4578
  };
4176
4579
 
4177
4580
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
4178
- pp$8.regexp_eatClassEscape = function(state) {
4581
+ pp$1.regexp_eatClassEscape = function(state) {
4179
4582
  var start = state.pos;
4180
4583
 
4181
4584
  if (state.eat(0x62 /* b */)) {
@@ -4202,7 +4605,7 @@
4202
4605
  };
4203
4606
 
4204
4607
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
4205
- pp$8.regexp_eatClassControlLetter = function(state) {
4608
+ pp$1.regexp_eatClassControlLetter = function(state) {
4206
4609
  var ch = state.current();
4207
4610
  if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
4208
4611
  state.lastIntValue = ch % 0x20;
@@ -4213,7 +4616,7 @@
4213
4616
  };
4214
4617
 
4215
4618
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
4216
- pp$8.regexp_eatHexEscapeSequence = function(state) {
4619
+ pp$1.regexp_eatHexEscapeSequence = function(state) {
4217
4620
  var start = state.pos;
4218
4621
  if (state.eat(0x78 /* x */)) {
4219
4622
  if (this.regexp_eatFixedHexDigits(state, 2)) {
@@ -4228,7 +4631,7 @@
4228
4631
  };
4229
4632
 
4230
4633
  // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
4231
- pp$8.regexp_eatDecimalDigits = function(state) {
4634
+ pp$1.regexp_eatDecimalDigits = function(state) {
4232
4635
  var start = state.pos;
4233
4636
  var ch = 0;
4234
4637
  state.lastIntValue = 0;
@@ -4243,7 +4646,7 @@
4243
4646
  }
4244
4647
 
4245
4648
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
4246
- pp$8.regexp_eatHexDigits = function(state) {
4649
+ pp$1.regexp_eatHexDigits = function(state) {
4247
4650
  var start = state.pos;
4248
4651
  var ch = 0;
4249
4652
  state.lastIntValue = 0;
@@ -4272,7 +4675,7 @@
4272
4675
 
4273
4676
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
4274
4677
  // Allows only 0-377(octal) i.e. 0-255(decimal).
4275
- pp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {
4678
+ pp$1.regexp_eatLegacyOctalEscapeSequence = function(state) {
4276
4679
  if (this.regexp_eatOctalDigit(state)) {
4277
4680
  var n1 = state.lastIntValue;
4278
4681
  if (this.regexp_eatOctalDigit(state)) {
@@ -4291,7 +4694,7 @@
4291
4694
  };
4292
4695
 
4293
4696
  // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
4294
- pp$8.regexp_eatOctalDigit = function(state) {
4697
+ pp$1.regexp_eatOctalDigit = function(state) {
4295
4698
  var ch = state.current();
4296
4699
  if (isOctalDigit(ch)) {
4297
4700
  state.lastIntValue = ch - 0x30; /* 0 */
@@ -4308,7 +4711,7 @@
4308
4711
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
4309
4712
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
4310
4713
  // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
4311
- pp$8.regexp_eatFixedHexDigits = function(state, length) {
4714
+ pp$1.regexp_eatFixedHexDigits = function(state, length) {
4312
4715
  var start = state.pos;
4313
4716
  state.lastIntValue = 0;
4314
4717
  for (var i = 0; i < length; ++i) {
@@ -4340,11 +4743,11 @@
4340
4743
 
4341
4744
  // ## Tokenizer
4342
4745
 
4343
- var pp$9 = Parser.prototype;
4746
+ var pp = Parser.prototype;
4344
4747
 
4345
4748
  // Move to the next token
4346
4749
 
4347
- pp$9.next = function(ignoreEscapeSequenceInKeyword) {
4750
+ pp.next = function(ignoreEscapeSequenceInKeyword) {
4348
4751
  if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)
4349
4752
  { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); }
4350
4753
  if (this.options.onToken)
@@ -4357,21 +4760,21 @@
4357
4760
  this.nextToken();
4358
4761
  };
4359
4762
 
4360
- pp$9.getToken = function() {
4763
+ pp.getToken = function() {
4361
4764
  this.next();
4362
4765
  return new Token(this)
4363
4766
  };
4364
4767
 
4365
4768
  // If we're in an ES6 environment, make parsers iterable
4366
4769
  if (typeof Symbol !== "undefined")
4367
- { pp$9[Symbol.iterator] = function() {
4368
- var this$1 = this;
4770
+ { pp[Symbol.iterator] = function() {
4771
+ var this$1$1 = this;
4369
4772
 
4370
4773
  return {
4371
4774
  next: function () {
4372
- var token = this$1.getToken();
4775
+ var token = this$1$1.getToken();
4373
4776
  return {
4374
- done: token.type === types.eof,
4777
+ done: token.type === types$1.eof,
4375
4778
  value: token
4376
4779
  }
4377
4780
  }
@@ -4381,26 +4784,22 @@
4381
4784
  // Toggle strict mode. Re-reads the next number or string to please
4382
4785
  // pedantic tests (`"use strict"; 010;` should fail).
4383
4786
 
4384
- pp$9.curContext = function() {
4385
- return this.context[this.context.length - 1]
4386
- };
4387
-
4388
4787
  // Read a single token, updating the parser object's token-related
4389
4788
  // properties.
4390
4789
 
4391
- pp$9.nextToken = function() {
4790
+ pp.nextToken = function() {
4392
4791
  var curContext = this.curContext();
4393
4792
  if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }
4394
4793
 
4395
4794
  this.start = this.pos;
4396
4795
  if (this.options.locations) { this.startLoc = this.curPosition(); }
4397
- if (this.pos >= this.input.length) { return this.finishToken(types.eof) }
4796
+ if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) }
4398
4797
 
4399
4798
  if (curContext.override) { return curContext.override(this) }
4400
4799
  else { this.readToken(this.fullCharCodeAtPos()); }
4401
4800
  };
4402
4801
 
4403
- pp$9.readToken = function(code) {
4802
+ pp.readToken = function(code) {
4404
4803
  // Identifier or keyword. '\uXXXX' sequences are allowed in
4405
4804
  // identifiers, so '\' also dispatches to that.
4406
4805
  if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
@@ -4409,24 +4808,22 @@
4409
4808
  return this.getTokenFromCode(code)
4410
4809
  };
4411
4810
 
4412
- pp$9.fullCharCodeAtPos = function() {
4811
+ pp.fullCharCodeAtPos = function() {
4413
4812
  var code = this.input.charCodeAt(this.pos);
4414
- if (code <= 0xd7ff || code >= 0xe000) { return code }
4813
+ if (code <= 0xd7ff || code >= 0xdc00) { return code }
4415
4814
  var next = this.input.charCodeAt(this.pos + 1);
4416
- return (code << 10) + next - 0x35fdc00
4815
+ return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
4417
4816
  };
4418
4817
 
4419
- pp$9.skipBlockComment = function() {
4818
+ pp.skipBlockComment = function() {
4420
4819
  var startLoc = this.options.onComment && this.curPosition();
4421
4820
  var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
4422
4821
  if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
4423
4822
  this.pos = end + 2;
4424
4823
  if (this.options.locations) {
4425
- lineBreakG.lastIndex = start;
4426
- var match;
4427
- while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
4824
+ for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
4428
4825
  ++this.curLine;
4429
- this.lineStart = match.index + match[0].length;
4826
+ pos = this.lineStart = nextBreak;
4430
4827
  }
4431
4828
  }
4432
4829
  if (this.options.onComment)
@@ -4434,7 +4831,7 @@
4434
4831
  startLoc, this.curPosition()); }
4435
4832
  };
4436
4833
 
4437
- pp$9.skipLineComment = function(startSkip) {
4834
+ pp.skipLineComment = function(startSkip) {
4438
4835
  var start = this.pos;
4439
4836
  var startLoc = this.options.onComment && this.curPosition();
4440
4837
  var ch = this.input.charCodeAt(this.pos += startSkip);
@@ -4449,7 +4846,7 @@
4449
4846
  // Called at the start of the parse and after every token. Skips
4450
4847
  // whitespace and comments, and.
4451
4848
 
4452
- pp$9.skipSpace = function() {
4849
+ pp.skipSpace = function() {
4453
4850
  loop: while (this.pos < this.input.length) {
4454
4851
  var ch = this.input.charCodeAt(this.pos);
4455
4852
  switch (ch) {
@@ -4494,7 +4891,7 @@
4494
4891
  // the token, so that the next one's `start` will point at the
4495
4892
  // right position.
4496
4893
 
4497
- pp$9.finishToken = function(type, val) {
4894
+ pp.finishToken = function(type, val) {
4498
4895
  this.end = this.pos;
4499
4896
  if (this.options.locations) { this.endLoc = this.curPosition(); }
4500
4897
  var prevType = this.type;
@@ -4513,62 +4910,62 @@
4513
4910
  //
4514
4911
  // All in the name of speed.
4515
4912
  //
4516
- pp$9.readToken_dot = function() {
4913
+ pp.readToken_dot = function() {
4517
4914
  var next = this.input.charCodeAt(this.pos + 1);
4518
4915
  if (next >= 48 && next <= 57) { return this.readNumber(true) }
4519
4916
  var next2 = this.input.charCodeAt(this.pos + 2);
4520
4917
  if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
4521
4918
  this.pos += 3;
4522
- return this.finishToken(types.ellipsis)
4919
+ return this.finishToken(types$1.ellipsis)
4523
4920
  } else {
4524
4921
  ++this.pos;
4525
- return this.finishToken(types.dot)
4922
+ return this.finishToken(types$1.dot)
4526
4923
  }
4527
4924
  };
4528
4925
 
4529
- pp$9.readToken_slash = function() { // '/'
4926
+ pp.readToken_slash = function() { // '/'
4530
4927
  var next = this.input.charCodeAt(this.pos + 1);
4531
4928
  if (this.exprAllowed) { ++this.pos; return this.readRegexp() }
4532
- if (next === 61) { return this.finishOp(types.assign, 2) }
4533
- return this.finishOp(types.slash, 1)
4929
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4930
+ return this.finishOp(types$1.slash, 1)
4534
4931
  };
4535
4932
 
4536
- pp$9.readToken_mult_modulo_exp = function(code) { // '%*'
4933
+ pp.readToken_mult_modulo_exp = function(code) { // '%*'
4537
4934
  var next = this.input.charCodeAt(this.pos + 1);
4538
4935
  var size = 1;
4539
- var tokentype = code === 42 ? types.star : types.modulo;
4936
+ var tokentype = code === 42 ? types$1.star : types$1.modulo;
4540
4937
 
4541
4938
  // exponentiation operator ** and **=
4542
4939
  if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {
4543
4940
  ++size;
4544
- tokentype = types.starstar;
4941
+ tokentype = types$1.starstar;
4545
4942
  next = this.input.charCodeAt(this.pos + 2);
4546
4943
  }
4547
4944
 
4548
- if (next === 61) { return this.finishOp(types.assign, size + 1) }
4945
+ if (next === 61) { return this.finishOp(types$1.assign, size + 1) }
4549
4946
  return this.finishOp(tokentype, size)
4550
4947
  };
4551
4948
 
4552
- pp$9.readToken_pipe_amp = function(code) { // '|&'
4949
+ pp.readToken_pipe_amp = function(code) { // '|&'
4553
4950
  var next = this.input.charCodeAt(this.pos + 1);
4554
4951
  if (next === code) {
4555
4952
  if (this.options.ecmaVersion >= 12) {
4556
4953
  var next2 = this.input.charCodeAt(this.pos + 2);
4557
- if (next2 === 61) { return this.finishOp(types.assign, 3) }
4954
+ if (next2 === 61) { return this.finishOp(types$1.assign, 3) }
4558
4955
  }
4559
- return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2)
4956
+ return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2)
4560
4957
  }
4561
- if (next === 61) { return this.finishOp(types.assign, 2) }
4562
- return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)
4958
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4959
+ return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1)
4563
4960
  };
4564
4961
 
4565
- pp$9.readToken_caret = function() { // '^'
4962
+ pp.readToken_caret = function() { // '^'
4566
4963
  var next = this.input.charCodeAt(this.pos + 1);
4567
- if (next === 61) { return this.finishOp(types.assign, 2) }
4568
- return this.finishOp(types.bitwiseXOR, 1)
4964
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4965
+ return this.finishOp(types$1.bitwiseXOR, 1)
4569
4966
  };
4570
4967
 
4571
- pp$9.readToken_plus_min = function(code) { // '+-'
4968
+ pp.readToken_plus_min = function(code) { // '+-'
4572
4969
  var next = this.input.charCodeAt(this.pos + 1);
4573
4970
  if (next === code) {
4574
4971
  if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&
@@ -4578,19 +4975,19 @@
4578
4975
  this.skipSpace();
4579
4976
  return this.nextToken()
4580
4977
  }
4581
- return this.finishOp(types.incDec, 2)
4978
+ return this.finishOp(types$1.incDec, 2)
4582
4979
  }
4583
- if (next === 61) { return this.finishOp(types.assign, 2) }
4584
- return this.finishOp(types.plusMin, 1)
4980
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4981
+ return this.finishOp(types$1.plusMin, 1)
4585
4982
  };
4586
4983
 
4587
- pp$9.readToken_lt_gt = function(code) { // '<>'
4984
+ pp.readToken_lt_gt = function(code) { // '<>'
4588
4985
  var next = this.input.charCodeAt(this.pos + 1);
4589
4986
  var size = 1;
4590
4987
  if (next === code) {
4591
4988
  size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
4592
- if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
4593
- return this.finishOp(types.bitShift, size)
4989
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) }
4990
+ return this.finishOp(types$1.bitShift, size)
4594
4991
  }
4595
4992
  if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
4596
4993
  this.input.charCodeAt(this.pos + 3) === 45) {
@@ -4600,39 +4997,53 @@
4600
4997
  return this.nextToken()
4601
4998
  }
4602
4999
  if (next === 61) { size = 2; }
4603
- return this.finishOp(types.relational, size)
5000
+ return this.finishOp(types$1.relational, size)
4604
5001
  };
4605
5002
 
4606
- pp$9.readToken_eq_excl = function(code) { // '=!'
5003
+ pp.readToken_eq_excl = function(code) { // '=!'
4607
5004
  var next = this.input.charCodeAt(this.pos + 1);
4608
- if (next === 61) { return this.finishOp(types.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }
5005
+ if (next === 61) { return this.finishOp(types$1.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }
4609
5006
  if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'
4610
5007
  this.pos += 2;
4611
- return this.finishToken(types.arrow)
5008
+ return this.finishToken(types$1.arrow)
4612
5009
  }
4613
- return this.finishOp(code === 61 ? types.eq : types.prefix, 1)
5010
+ return this.finishOp(code === 61 ? types$1.eq : types$1.prefix, 1)
4614
5011
  };
4615
5012
 
4616
- pp$9.readToken_question = function() { // '?'
5013
+ pp.readToken_question = function() { // '?'
4617
5014
  var ecmaVersion = this.options.ecmaVersion;
4618
5015
  if (ecmaVersion >= 11) {
4619
5016
  var next = this.input.charCodeAt(this.pos + 1);
4620
5017
  if (next === 46) {
4621
5018
  var next2 = this.input.charCodeAt(this.pos + 2);
4622
- if (next2 < 48 || next2 > 57) { return this.finishOp(types.questionDot, 2) }
5019
+ if (next2 < 48 || next2 > 57) { return this.finishOp(types$1.questionDot, 2) }
4623
5020
  }
4624
5021
  if (next === 63) {
4625
5022
  if (ecmaVersion >= 12) {
4626
5023
  var next2$1 = this.input.charCodeAt(this.pos + 2);
4627
- if (next2$1 === 61) { return this.finishOp(types.assign, 3) }
5024
+ if (next2$1 === 61) { return this.finishOp(types$1.assign, 3) }
4628
5025
  }
4629
- return this.finishOp(types.coalesce, 2)
5026
+ return this.finishOp(types$1.coalesce, 2)
4630
5027
  }
4631
5028
  }
4632
- return this.finishOp(types.question, 1)
5029
+ return this.finishOp(types$1.question, 1)
4633
5030
  };
4634
5031
 
4635
- pp$9.getTokenFromCode = function(code) {
5032
+ pp.readToken_numberSign = function() { // '#'
5033
+ var ecmaVersion = this.options.ecmaVersion;
5034
+ var code = 35; // '#'
5035
+ if (ecmaVersion >= 13) {
5036
+ ++this.pos;
5037
+ code = this.fullCharCodeAtPos();
5038
+ if (isIdentifierStart(code, true) || code === 92 /* '\' */) {
5039
+ return this.finishToken(types$1.privateId, this.readWord1())
5040
+ }
5041
+ }
5042
+
5043
+ this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
5044
+ };
5045
+
5046
+ pp.getTokenFromCode = function(code) {
4636
5047
  switch (code) {
4637
5048
  // The interpretation of a dot depends on whether it is followed
4638
5049
  // by a digit or another two dots.
@@ -4640,20 +5051,20 @@
4640
5051
  return this.readToken_dot()
4641
5052
 
4642
5053
  // Punctuation tokens.
4643
- case 40: ++this.pos; return this.finishToken(types.parenL)
4644
- case 41: ++this.pos; return this.finishToken(types.parenR)
4645
- case 59: ++this.pos; return this.finishToken(types.semi)
4646
- case 44: ++this.pos; return this.finishToken(types.comma)
4647
- case 91: ++this.pos; return this.finishToken(types.bracketL)
4648
- case 93: ++this.pos; return this.finishToken(types.bracketR)
4649
- case 123: ++this.pos; return this.finishToken(types.braceL)
4650
- case 125: ++this.pos; return this.finishToken(types.braceR)
4651
- case 58: ++this.pos; return this.finishToken(types.colon)
5054
+ case 40: ++this.pos; return this.finishToken(types$1.parenL)
5055
+ case 41: ++this.pos; return this.finishToken(types$1.parenR)
5056
+ case 59: ++this.pos; return this.finishToken(types$1.semi)
5057
+ case 44: ++this.pos; return this.finishToken(types$1.comma)
5058
+ case 91: ++this.pos; return this.finishToken(types$1.bracketL)
5059
+ case 93: ++this.pos; return this.finishToken(types$1.bracketR)
5060
+ case 123: ++this.pos; return this.finishToken(types$1.braceL)
5061
+ case 125: ++this.pos; return this.finishToken(types$1.braceR)
5062
+ case 58: ++this.pos; return this.finishToken(types$1.colon)
4652
5063
 
4653
5064
  case 96: // '`'
4654
5065
  if (this.options.ecmaVersion < 6) { break }
4655
5066
  ++this.pos;
4656
- return this.finishToken(types.backQuote)
5067
+ return this.finishToken(types$1.backQuote)
4657
5068
 
4658
5069
  case 48: // '0'
4659
5070
  var next = this.input.charCodeAt(this.pos + 1);
@@ -4676,7 +5087,6 @@
4676
5087
  // often referred to. `finishOp` simply skips the amount of
4677
5088
  // characters it is given as second argument, and returns a token
4678
5089
  // of the type given by its first argument.
4679
-
4680
5090
  case 47: // '/'
4681
5091
  return this.readToken_slash()
4682
5092
 
@@ -4702,19 +5112,22 @@
4702
5112
  return this.readToken_question()
4703
5113
 
4704
5114
  case 126: // '~'
4705
- return this.finishOp(types.prefix, 1)
5115
+ return this.finishOp(types$1.prefix, 1)
5116
+
5117
+ case 35: // '#'
5118
+ return this.readToken_numberSign()
4706
5119
  }
4707
5120
 
4708
- this.raise(this.pos, "Unexpected character '" + codePointToString$1(code) + "'");
5121
+ this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
4709
5122
  };
4710
5123
 
4711
- pp$9.finishOp = function(type, size) {
5124
+ pp.finishOp = function(type, size) {
4712
5125
  var str = this.input.slice(this.pos, this.pos + size);
4713
5126
  this.pos += size;
4714
5127
  return this.finishToken(type, str)
4715
5128
  };
4716
5129
 
4717
- pp$9.readRegexp = function() {
5130
+ pp.readRegexp = function() {
4718
5131
  var escaped, inClass, start = this.pos;
4719
5132
  for (;;) {
4720
5133
  if (this.pos >= this.input.length) { this.raise(start, "Unterminated regular expression"); }
@@ -4749,14 +5162,14 @@
4749
5162
  // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral
4750
5163
  }
4751
5164
 
4752
- return this.finishToken(types.regexp, {pattern: pattern, flags: flags, value: value})
5165
+ return this.finishToken(types$1.regexp, {pattern: pattern, flags: flags, value: value})
4753
5166
  };
4754
5167
 
4755
5168
  // Read an integer in the given radix. Return null if zero digits
4756
5169
  // were read, the integer value otherwise. When `len` is given, this
4757
5170
  // will return `null` unless the integer has exactly `len` digits.
4758
5171
 
4759
- pp$9.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
5172
+ pp.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
4760
5173
  // `len` is used for character escape sequences. In that case, disallow separators.
4761
5174
  var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined;
4762
5175
 
@@ -4810,7 +5223,7 @@
4810
5223
  return BigInt(str.replace(/_/g, ""))
4811
5224
  }
4812
5225
 
4813
- pp$9.readRadixNumber = function(radix) {
5226
+ pp.readRadixNumber = function(radix) {
4814
5227
  var start = this.pos;
4815
5228
  this.pos += 2; // 0x
4816
5229
  var val = this.readInt(radix);
@@ -4819,12 +5232,12 @@
4819
5232
  val = stringToBigInt(this.input.slice(start, this.pos));
4820
5233
  ++this.pos;
4821
5234
  } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4822
- return this.finishToken(types.num, val)
5235
+ return this.finishToken(types$1.num, val)
4823
5236
  };
4824
5237
 
4825
5238
  // Read an integer, octal integer, or floating-point number.
4826
5239
 
4827
- pp$9.readNumber = function(startsWithDot) {
5240
+ pp.readNumber = function(startsWithDot) {
4828
5241
  var start = this.pos;
4829
5242
  if (!startsWithDot && this.readInt(10, undefined, true) === null) { this.raise(start, "Invalid number"); }
4830
5243
  var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48;
@@ -4834,7 +5247,7 @@
4834
5247
  var val$1 = stringToBigInt(this.input.slice(start, this.pos));
4835
5248
  ++this.pos;
4836
5249
  if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4837
- return this.finishToken(types.num, val$1)
5250
+ return this.finishToken(types$1.num, val$1)
4838
5251
  }
4839
5252
  if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; }
4840
5253
  if (next === 46 && !octal) { // '.'
@@ -4850,12 +5263,12 @@
4850
5263
  if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4851
5264
 
4852
5265
  var val = stringToNumber(this.input.slice(start, this.pos), octal);
4853
- return this.finishToken(types.num, val)
5266
+ return this.finishToken(types$1.num, val)
4854
5267
  };
4855
5268
 
4856
5269
  // Read a string value, interpreting backslash-escapes.
4857
5270
 
4858
- pp$9.readCodePoint = function() {
5271
+ pp.readCodePoint = function() {
4859
5272
  var ch = this.input.charCodeAt(this.pos), code;
4860
5273
 
4861
5274
  if (ch === 123) { // '{'
@@ -4870,14 +5283,7 @@
4870
5283
  return code
4871
5284
  };
4872
5285
 
4873
- function codePointToString$1(code) {
4874
- // UTF-16 Decoding
4875
- if (code <= 0xFFFF) { return String.fromCharCode(code) }
4876
- code -= 0x10000;
4877
- return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
4878
- }
4879
-
4880
- pp$9.readString = function(quote) {
5286
+ pp.readString = function(quote) {
4881
5287
  var out = "", chunkStart = ++this.pos;
4882
5288
  for (;;) {
4883
5289
  if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated string constant"); }
@@ -4887,20 +5293,27 @@
4887
5293
  out += this.input.slice(chunkStart, this.pos);
4888
5294
  out += this.readEscapedChar(false);
4889
5295
  chunkStart = this.pos;
5296
+ } else if (ch === 0x2028 || ch === 0x2029) {
5297
+ if (this.options.ecmaVersion < 10) { this.raise(this.start, "Unterminated string constant"); }
5298
+ ++this.pos;
5299
+ if (this.options.locations) {
5300
+ this.curLine++;
5301
+ this.lineStart = this.pos;
5302
+ }
4890
5303
  } else {
4891
- if (isNewLine(ch, this.options.ecmaVersion >= 10)) { this.raise(this.start, "Unterminated string constant"); }
5304
+ if (isNewLine(ch)) { this.raise(this.start, "Unterminated string constant"); }
4892
5305
  ++this.pos;
4893
5306
  }
4894
5307
  }
4895
5308
  out += this.input.slice(chunkStart, this.pos++);
4896
- return this.finishToken(types.string, out)
5309
+ return this.finishToken(types$1.string, out)
4897
5310
  };
4898
5311
 
4899
5312
  // Reads template string tokens.
4900
5313
 
4901
5314
  var INVALID_TEMPLATE_ESCAPE_ERROR = {};
4902
5315
 
4903
- pp$9.tryReadTemplateToken = function() {
5316
+ pp.tryReadTemplateToken = function() {
4904
5317
  this.inTemplateElement = true;
4905
5318
  try {
4906
5319
  this.readTmplToken();
@@ -4915,7 +5328,7 @@
4915
5328
  this.inTemplateElement = false;
4916
5329
  };
4917
5330
 
4918
- pp$9.invalidStringToken = function(position, message) {
5331
+ pp.invalidStringToken = function(position, message) {
4919
5332
  if (this.inTemplateElement && this.options.ecmaVersion >= 9) {
4920
5333
  throw INVALID_TEMPLATE_ESCAPE_ERROR
4921
5334
  } else {
@@ -4923,23 +5336,23 @@
4923
5336
  }
4924
5337
  };
4925
5338
 
4926
- pp$9.readTmplToken = function() {
5339
+ pp.readTmplToken = function() {
4927
5340
  var out = "", chunkStart = this.pos;
4928
5341
  for (;;) {
4929
5342
  if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated template"); }
4930
5343
  var ch = this.input.charCodeAt(this.pos);
4931
5344
  if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'
4932
- if (this.pos === this.start && (this.type === types.template || this.type === types.invalidTemplate)) {
5345
+ if (this.pos === this.start && (this.type === types$1.template || this.type === types$1.invalidTemplate)) {
4933
5346
  if (ch === 36) {
4934
5347
  this.pos += 2;
4935
- return this.finishToken(types.dollarBraceL)
5348
+ return this.finishToken(types$1.dollarBraceL)
4936
5349
  } else {
4937
5350
  ++this.pos;
4938
- return this.finishToken(types.backQuote)
5351
+ return this.finishToken(types$1.backQuote)
4939
5352
  }
4940
5353
  }
4941
5354
  out += this.input.slice(chunkStart, this.pos);
4942
- return this.finishToken(types.template, out)
5355
+ return this.finishToken(types$1.template, out)
4943
5356
  }
4944
5357
  if (ch === 92) { // '\'
4945
5358
  out += this.input.slice(chunkStart, this.pos);
@@ -4970,7 +5383,7 @@
4970
5383
  };
4971
5384
 
4972
5385
  // Reads a template token to search for the end, without validating any escape sequences
4973
- pp$9.readInvalidTemplateToken = function() {
5386
+ pp.readInvalidTemplateToken = function() {
4974
5387
  for (; this.pos < this.input.length; this.pos++) {
4975
5388
  switch (this.input[this.pos]) {
4976
5389
  case "\\":
@@ -4981,10 +5394,10 @@
4981
5394
  if (this.input[this.pos + 1] !== "{") {
4982
5395
  break
4983
5396
  }
4984
- // falls through
4985
5397
 
5398
+ // falls through
4986
5399
  case "`":
4987
- return this.finishToken(types.invalidTemplate, this.input.slice(this.start, this.pos))
5400
+ return this.finishToken(types$1.invalidTemplate, this.input.slice(this.start, this.pos))
4988
5401
 
4989
5402
  // no default
4990
5403
  }
@@ -4994,14 +5407,14 @@
4994
5407
 
4995
5408
  // Used to read escaped characters
4996
5409
 
4997
- pp$9.readEscapedChar = function(inTemplate) {
5410
+ pp.readEscapedChar = function(inTemplate) {
4998
5411
  var ch = this.input.charCodeAt(++this.pos);
4999
5412
  ++this.pos;
5000
5413
  switch (ch) {
5001
5414
  case 110: return "\n" // 'n' -> '\n'
5002
5415
  case 114: return "\r" // 'r' -> '\r'
5003
5416
  case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'
5004
- case 117: return codePointToString$1(this.readCodePoint()) // 'u'
5417
+ case 117: return codePointToString(this.readCodePoint()) // 'u'
5005
5418
  case 116: return "\t" // 't' -> '\t'
5006
5419
  case 98: return "\b" // 'b' -> '\b'
5007
5420
  case 118: return "\u000b" // 'v' -> '\u000b'
@@ -5012,6 +5425,12 @@
5012
5425
  return ""
5013
5426
  case 56:
5014
5427
  case 57:
5428
+ if (this.strict) {
5429
+ this.invalidStringToken(
5430
+ this.pos - 1,
5431
+ "Invalid escape sequence"
5432
+ );
5433
+ }
5015
5434
  if (inTemplate) {
5016
5435
  var codePos = this.pos - 1;
5017
5436
 
@@ -5053,7 +5472,7 @@
5053
5472
 
5054
5473
  // Used to read character escape sequences ('\x', '\u', '\U').
5055
5474
 
5056
- pp$9.readHexChar = function(len) {
5475
+ pp.readHexChar = function(len) {
5057
5476
  var codePos = this.pos;
5058
5477
  var n = this.readInt(16, len);
5059
5478
  if (n === null) { this.invalidStringToken(codePos, "Bad character escape sequence"); }
@@ -5066,7 +5485,7 @@
5066
5485
  // Incrementally adds only escaped chars, adding other chunks as-is
5067
5486
  // as a micro-optimization.
5068
5487
 
5069
- pp$9.readWord1 = function() {
5488
+ pp.readWord1 = function() {
5070
5489
  this.containsEsc = false;
5071
5490
  var word = "", first = true, chunkStart = this.pos;
5072
5491
  var astral = this.options.ecmaVersion >= 6;
@@ -5084,7 +5503,7 @@
5084
5503
  var esc = this.readCodePoint();
5085
5504
  if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))
5086
5505
  { this.invalidStringToken(escStart, "Invalid Unicode escape"); }
5087
- word += codePointToString$1(esc);
5506
+ word += codePointToString(esc);
5088
5507
  chunkStart = this.pos;
5089
5508
  } else {
5090
5509
  break
@@ -5097,18 +5516,18 @@
5097
5516
  // Read an identifier or keyword token. Will check for reserved
5098
5517
  // words when necessary.
5099
5518
 
5100
- pp$9.readWord = function() {
5519
+ pp.readWord = function() {
5101
5520
  var word = this.readWord1();
5102
- var type = types.name;
5521
+ var type = types$1.name;
5103
5522
  if (this.keywords.test(word)) {
5104
- type = keywords$1[word];
5523
+ type = keywords[word];
5105
5524
  }
5106
5525
  return this.finishToken(type, word)
5107
5526
  };
5108
5527
 
5109
5528
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
5110
5529
 
5111
- var version = "7.4.1";
5530
+ var version = "8.8.0";
5112
5531
 
5113
5532
  Parser.acorn = {
5114
5533
  Parser: Parser,
@@ -5119,10 +5538,10 @@
5119
5538
  getLineInfo: getLineInfo,
5120
5539
  Node: Node,
5121
5540
  TokenType: TokenType,
5122
- tokTypes: types,
5123
- keywordTypes: keywords$1,
5541
+ tokTypes: types$1,
5542
+ keywordTypes: keywords,
5124
5543
  TokContext: TokContext,
5125
- tokContexts: types$1,
5544
+ tokContexts: types,
5126
5545
  isIdentifierChar: isIdentifierChar,
5127
5546
  isIdentifierStart: isIdentifierStart,
5128
5547
  Token: Token,
@@ -5170,17 +5589,17 @@
5170
5589
  exports.isIdentifierChar = isIdentifierChar;
5171
5590
  exports.isIdentifierStart = isIdentifierStart;
5172
5591
  exports.isNewLine = isNewLine;
5173
- exports.keywordTypes = keywords$1;
5592
+ exports.keywordTypes = keywords;
5174
5593
  exports.lineBreak = lineBreak;
5175
5594
  exports.lineBreakG = lineBreakG;
5176
5595
  exports.nonASCIIwhitespace = nonASCIIwhitespace;
5177
5596
  exports.parse = parse;
5178
5597
  exports.parseExpressionAt = parseExpressionAt;
5179
- exports.tokContexts = types$1;
5180
- exports.tokTypes = types;
5598
+ exports.tokContexts = types;
5599
+ exports.tokTypes = types$1;
5181
5600
  exports.tokenizer = tokenizer;
5182
5601
  exports.version = version;
5183
5602
 
5184
5603
  Object.defineProperty(exports, '__esModule', { value: true });
5185
5604
 
5186
- })));
5605
+ }));