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,3 +1,17 @@
1
+ // This file was generated. Do not modify manually!
2
+ var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 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];
3
+
4
+ // This file was generated. Do not modify manually!
5
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 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];
6
+
7
+ // This file was generated. Do not modify manually!
8
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\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";
9
+
10
+ // This file was generated. Do not modify manually!
11
+ var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
12
+
13
+ // These are a run-length and offset encoded representation of the
14
+
1
15
  // Reserved word lists for various dialects of the language
2
16
 
3
17
  var reservedWords = {
@@ -12,7 +26,7 @@ var reservedWords = {
12
26
 
13
27
  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";
14
28
 
15
- var keywords = {
29
+ var keywords$1 = {
16
30
  5: ecma5AndLessKeywords,
17
31
  "5module": ecma5AndLessKeywords + " export import",
18
32
  6: ecma5AndLessKeywords + " const class extends export import super"
@@ -22,31 +36,9 @@ var keywordRelationalOperator = /^in(stanceof)?$/;
22
36
 
23
37
  // ## Character categories
24
38
 
25
- // Big ugly regular expressions that match characters in the
26
- // whitespace, identifier, and identifier-start categories. These
27
- // are only applied when a character is found to actually have a
28
- // code point above 128.
29
- // Generated by `bin/generate-identifier-regex.js`.
30
- 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";
31
- 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";
32
-
33
39
  var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
34
40
  var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
35
41
 
36
- nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
37
-
38
- // These are a run-length and offset encoded representation of the
39
- // >0xffff code points that are a valid part of identifiers. The
40
- // offset starts at 0x10000, and each pair of numbers represents an
41
- // offset to the next range, and then a size of the range. They were
42
- // generated by bin/generate-identifier-regex.js
43
-
44
- // eslint-disable-next-line comma-spacing
45
- 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];
46
-
47
- // eslint-disable-next-line comma-spacing
48
- 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];
49
-
50
42
  // This has a complexity linear to the value of the code. The
51
43
  // assumption is that looking up astral identifier characters is
52
44
  // rare.
@@ -131,21 +123,22 @@ var beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};
131
123
 
132
124
  // Map keyword names to token types.
133
125
 
134
- var keywords$1 = {};
126
+ var keywords = {};
135
127
 
136
128
  // Succinct definitions of keyword token types
137
129
  function kw(name, options) {
138
130
  if ( options === void 0 ) options = {};
139
131
 
140
132
  options.keyword = name;
141
- return keywords$1[name] = new TokenType(name, options)
133
+ return keywords[name] = new TokenType(name, options)
142
134
  }
143
135
 
144
- var types = {
136
+ var types$1 = {
145
137
  num: new TokenType("num", startsExpr),
146
138
  regexp: new TokenType("regexp", startsExpr),
147
139
  string: new TokenType("string", startsExpr),
148
140
  name: new TokenType("name", startsExpr),
141
+ privateId: new TokenType("privateId", startsExpr),
149
142
  eof: new TokenType("eof"),
150
143
 
151
144
  // Punctuation token types.
@@ -245,8 +238,19 @@ var types = {
245
238
  var lineBreak = /\r\n?|\n|\u2028|\u2029/;
246
239
  var lineBreakG = new RegExp(lineBreak.source, "g");
247
240
 
248
- function isNewLine(code, ecma2019String) {
249
- return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))
241
+ function isNewLine(code) {
242
+ return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
243
+ }
244
+
245
+ function nextLineBreak(code, from, end) {
246
+ if ( end === void 0 ) end = code.length;
247
+
248
+ for (var i = from; i < end; i++) {
249
+ var next = code.charCodeAt(i);
250
+ if (isNewLine(next))
251
+ { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
252
+ }
253
+ return -1
250
254
  }
251
255
 
252
256
  var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
@@ -257,11 +261,9 @@ var ref = Object.prototype;
257
261
  var hasOwnProperty = ref.hasOwnProperty;
258
262
  var toString = ref.toString;
259
263
 
260
- // Checks if an object has a property.
261
-
262
- function has(obj, propName) {
263
- return hasOwnProperty.call(obj, propName)
264
- }
264
+ var hasOwn = Object.hasOwn || (function (obj, propName) { return (
265
+ hasOwnProperty.call(obj, propName)
266
+ ); });
265
267
 
266
268
  var isArray = Array.isArray || (function (obj) { return (
267
269
  toString.call(obj) === "[object Array]"
@@ -271,6 +273,15 @@ function wordsRegexp(words) {
271
273
  return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
272
274
  }
273
275
 
276
+ function codePointToString(code) {
277
+ // UTF-16 Decoding
278
+ if (code <= 0xFFFF) { return String.fromCharCode(code) }
279
+ code -= 0x10000;
280
+ return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
281
+ }
282
+
283
+ var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
284
+
274
285
  // These are used when `options.locations` is on, for the
275
286
  // `startLoc` and `endLoc` properties.
276
287
 
@@ -297,27 +308,24 @@ var SourceLocation = function SourceLocation(p, start, end) {
297
308
 
298
309
  function getLineInfo(input, offset) {
299
310
  for (var line = 1, cur = 0;;) {
300
- lineBreakG.lastIndex = cur;
301
- var match = lineBreakG.exec(input);
302
- if (match && match.index < offset) {
303
- ++line;
304
- cur = match.index + match[0].length;
305
- } else {
306
- return new Position(line, offset - cur)
307
- }
311
+ var nextBreak = nextLineBreak(input, cur, offset);
312
+ if (nextBreak < 0) { return new Position(line, offset - cur) }
313
+ ++line;
314
+ cur = nextBreak;
308
315
  }
309
316
  }
310
317
 
311
- // A second optional argument can be given to further configure
312
- // the parser process. These options are recognized:
318
+ // A second argument must be given to configure the parser process.
319
+ // These options are recognized (only `ecmaVersion` is required):
313
320
 
314
321
  var defaultOptions = {
315
322
  // `ecmaVersion` indicates the ECMAScript version to parse. Must be
316
- // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10
317
- // (2019). This influences support for strict mode, the set of
318
- // reserved words, and support for new syntax features. The default
319
- // is 10.
320
- ecmaVersion: 10,
323
+ // either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10
324
+ // (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `"latest"`
325
+ // (the latest version the library supports). This influences
326
+ // support for strict mode, the set of reserved words, and support
327
+ // for new syntax features.
328
+ ecmaVersion: null,
321
329
  // `sourceType` indicates the mode the code should be parsed in.
322
330
  // Can be either `"script"` or `"module"`. This influences global
323
331
  // strict mode and parsing of `import` and `export` declarations.
@@ -340,13 +348,19 @@ var defaultOptions = {
340
348
  // error.
341
349
  allowReturnOutsideFunction: false,
342
350
  // When enabled, import/export statements are not constrained to
343
- // appearing at the top of the program.
351
+ // appearing at the top of the program, and an import.meta expression
352
+ // in a script isn't considered an error.
344
353
  allowImportExportEverywhere: false,
354
+ // By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022.
345
355
  // When enabled, await identifiers are allowed to appear at the top-level scope,
346
356
  // but they are still not allowed in non-async functions.
347
- allowAwaitOutsideFunction: false,
348
- // When enabled, hashbang directive in the beginning of file
349
- // is allowed and treated as a line comment.
357
+ allowAwaitOutsideFunction: null,
358
+ // When enabled, super identifiers are not constrained to
359
+ // appearing in methods and do not raise an error when they appear elsewhere.
360
+ allowSuperOutsideMethod: null,
361
+ // When enabled, hashbang directive in the beginning of file is
362
+ // allowed and treated as a line comment. Enabled by default when
363
+ // `ecmaVersion` >= 2023.
350
364
  allowHashBang: false,
351
365
  // When `locations` is on, `loc` properties holding objects with
352
366
  // `start` and `end` properties in `{line, column}` form (with
@@ -398,18 +412,32 @@ var defaultOptions = {
398
412
 
399
413
  // Interpret and default an options object
400
414
 
415
+ var warnedAboutEcmaVersion = false;
416
+
401
417
  function getOptions(opts) {
402
418
  var options = {};
403
419
 
404
420
  for (var opt in defaultOptions)
405
- { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }
406
-
407
- if (options.ecmaVersion >= 2015)
408
- { options.ecmaVersion -= 2009; }
421
+ { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }
422
+
423
+ if (options.ecmaVersion === "latest") {
424
+ options.ecmaVersion = 1e8;
425
+ } else if (options.ecmaVersion == null) {
426
+ if (!warnedAboutEcmaVersion && typeof console === "object" && console.warn) {
427
+ warnedAboutEcmaVersion = true;
428
+ console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.");
429
+ }
430
+ options.ecmaVersion = 11;
431
+ } else if (options.ecmaVersion >= 2015) {
432
+ options.ecmaVersion -= 2009;
433
+ }
409
434
 
410
435
  if (options.allowReserved == null)
411
436
  { options.allowReserved = options.ecmaVersion < 5; }
412
437
 
438
+ if (opts.allowHashBang == null)
439
+ { options.allowHashBang = options.ecmaVersion >= 14; }
440
+
413
441
  if (isArray(options.onToken)) {
414
442
  var tokens = options.onToken;
415
443
  options.onToken = function (token) { return tokens.push(token); };
@@ -440,19 +468,20 @@ function pushComment(options, array) {
440
468
  var
441
469
  SCOPE_TOP = 1,
442
470
  SCOPE_FUNCTION = 2,
443
- SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,
444
471
  SCOPE_ASYNC = 4,
445
472
  SCOPE_GENERATOR = 8,
446
473
  SCOPE_ARROW = 16,
447
474
  SCOPE_SIMPLE_CATCH = 32,
448
475
  SCOPE_SUPER = 64,
449
- SCOPE_DIRECT_SUPER = 128;
476
+ SCOPE_DIRECT_SUPER = 128,
477
+ SCOPE_CLASS_STATIC_BLOCK = 256,
478
+ SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
450
479
 
451
480
  function functionFlags(async, generator) {
452
481
  return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)
453
482
  }
454
483
 
455
- // Used in checkLVal and declareName to determine the type of a binding
484
+ // Used in checkLVal* and declareName to determine the type of a binding
456
485
  var
457
486
  BIND_NONE = 0, // Not a binding
458
487
  BIND_VAR = 1, // Var-style binding
@@ -464,11 +493,10 @@ var
464
493
  var Parser = function Parser(options, input, startPos) {
465
494
  this.options = options = getOptions(options);
466
495
  this.sourceFile = options.sourceFile;
467
- this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
496
+ this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
468
497
  var reserved = "";
469
498
  if (options.allowReserved !== true) {
470
- for (var v = options.ecmaVersion;; v--)
471
- { if (reserved = reservedWords[v]) { break } }
499
+ reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3];
472
500
  if (options.sourceType === "module") { reserved += " await"; }
473
501
  }
474
502
  this.reservedWords = wordsRegexp(reserved);
@@ -496,7 +524,7 @@ var Parser = function Parser(options, input, startPos) {
496
524
 
497
525
  // Properties of the current token:
498
526
  // Its type
499
- this.type = types.eof;
527
+ this.type = types$1.eof;
500
528
  // For tokens that include more information than their type, the value
501
529
  this.value = null;
502
530
  // Its start and end offset
@@ -521,13 +549,14 @@ var Parser = function Parser(options, input, startPos) {
521
549
 
522
550
  // Used to signify the start of a potential arrow function
523
551
  this.potentialArrowAt = -1;
552
+ this.potentialArrowInForAwait = false;
524
553
 
525
554
  // Positions to delayed-check that yield/await does not exist in default parameters.
526
555
  this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;
527
556
  // Labels in scope.
528
557
  this.labels = [];
529
558
  // Thus-far undefined exports.
530
- this.undefinedExports = {};
559
+ this.undefinedExports = Object.create(null);
531
560
 
532
561
  // If enabled, skip leading hashbang line.
533
562
  if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!")
@@ -539,9 +568,14 @@ var Parser = function Parser(options, input, startPos) {
539
568
 
540
569
  // For RegExp validation
541
570
  this.regexpState = null;
571
+
572
+ // The stack of private names.
573
+ // Each element has two properties: 'declared' and 'used'.
574
+ // When it exited from the outermost class definition, all used private names must be declared.
575
+ this.privateNameStack = [];
542
576
  };
543
577
 
544
- var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } };
578
+ 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 } };
545
579
 
546
580
  Parser.prototype.parse = function parse () {
547
581
  var node = this.options.program || this.startNode();
@@ -550,14 +584,41 @@ Parser.prototype.parse = function parse () {
550
584
  };
551
585
 
552
586
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
553
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
554
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
555
- prototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 };
587
+
588
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };
589
+
590
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };
591
+
592
+ prototypeAccessors.canAwait.get = function () {
593
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
594
+ var scope = this.scopeStack[i];
595
+ if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
596
+ if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }
597
+ }
598
+ return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
599
+ };
600
+
601
+ prototypeAccessors.allowSuper.get = function () {
602
+ var ref = this.currentThisScope();
603
+ var flags = ref.flags;
604
+ var inClassFieldInit = ref.inClassFieldInit;
605
+ return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
606
+ };
607
+
556
608
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
609
+
557
610
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
558
611
 
559
- // Switch to a getter for 7.0.0.
560
- Parser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 };
612
+ prototypeAccessors.allowNewDotTarget.get = function () {
613
+ var ref = this.currentThisScope();
614
+ var flags = ref.flags;
615
+ var inClassFieldInit = ref.inClassFieldInit;
616
+ return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
617
+ };
618
+
619
+ prototypeAccessors.inClassStaticBlock.get = function () {
620
+ return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0
621
+ };
561
622
 
562
623
  Parser.extend = function extend () {
563
624
  var plugins = [], len = arguments.length;
@@ -584,12 +645,13 @@ Parser.tokenizer = function tokenizer (input, options) {
584
645
 
585
646
  Object.defineProperties( Parser.prototype, prototypeAccessors );
586
647
 
587
- var pp = Parser.prototype;
648
+ var pp$9 = Parser.prototype;
588
649
 
589
650
  // ## Parser utilities
590
651
 
591
652
  var literal = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;
592
- pp.strictDirective = function(start) {
653
+ pp$9.strictDirective = function(start) {
654
+ if (this.options.ecmaVersion < 5) { return false }
593
655
  for (;;) {
594
656
  // Try to find string literal.
595
657
  skipWhiteSpace.lastIndex = start;
@@ -617,7 +679,7 @@ pp.strictDirective = function(start) {
617
679
  // Predicate that tests whether the next token is of the given
618
680
  // type, and if yes, consumes it as a side effect.
619
681
 
620
- pp.eat = function(type) {
682
+ pp$9.eat = function(type) {
621
683
  if (this.type === type) {
622
684
  this.next();
623
685
  return true
@@ -628,13 +690,13 @@ pp.eat = function(type) {
628
690
 
629
691
  // Tests whether parsed token is a contextual keyword.
630
692
 
631
- pp.isContextual = function(name) {
632
- return this.type === types.name && this.value === name && !this.containsEsc
693
+ pp$9.isContextual = function(name) {
694
+ return this.type === types$1.name && this.value === name && !this.containsEsc
633
695
  };
634
696
 
635
697
  // Consumes contextual keyword if possible.
636
698
 
637
- pp.eatContextual = function(name) {
699
+ pp$9.eatContextual = function(name) {
638
700
  if (!this.isContextual(name)) { return false }
639
701
  this.next();
640
702
  return true
@@ -642,19 +704,19 @@ pp.eatContextual = function(name) {
642
704
 
643
705
  // Asserts that following token is given contextual keyword.
644
706
 
645
- pp.expectContextual = function(name) {
707
+ pp$9.expectContextual = function(name) {
646
708
  if (!this.eatContextual(name)) { this.unexpected(); }
647
709
  };
648
710
 
649
711
  // Test whether a semicolon can be inserted at the current position.
650
712
 
651
- pp.canInsertSemicolon = function() {
652
- return this.type === types.eof ||
653
- this.type === types.braceR ||
713
+ pp$9.canInsertSemicolon = function() {
714
+ return this.type === types$1.eof ||
715
+ this.type === types$1.braceR ||
654
716
  lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
655
717
  };
656
718
 
657
- pp.insertSemicolon = function() {
719
+ pp$9.insertSemicolon = function() {
658
720
  if (this.canInsertSemicolon()) {
659
721
  if (this.options.onInsertedSemicolon)
660
722
  { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }
@@ -665,11 +727,11 @@ pp.insertSemicolon = function() {
665
727
  // Consume a semicolon, or, failing that, see if we are allowed to
666
728
  // pretend that there is a semicolon at this position.
667
729
 
668
- pp.semicolon = function() {
669
- if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }
730
+ pp$9.semicolon = function() {
731
+ if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); }
670
732
  };
671
733
 
672
- pp.afterTrailingComma = function(tokType, notNext) {
734
+ pp$9.afterTrailingComma = function(tokType, notNext) {
673
735
  if (this.type === tokType) {
674
736
  if (this.options.onTrailingComma)
675
737
  { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }
@@ -682,34 +744,34 @@ pp.afterTrailingComma = function(tokType, notNext) {
682
744
  // Expect a token of a given type. If found, consume it, otherwise,
683
745
  // raise an unexpected token error.
684
746
 
685
- pp.expect = function(type) {
747
+ pp$9.expect = function(type) {
686
748
  this.eat(type) || this.unexpected();
687
749
  };
688
750
 
689
751
  // Raise an unexpected token error.
690
752
 
691
- pp.unexpected = function(pos) {
753
+ pp$9.unexpected = function(pos) {
692
754
  this.raise(pos != null ? pos : this.start, "Unexpected token");
693
755
  };
694
756
 
695
- function DestructuringErrors() {
757
+ var DestructuringErrors = function DestructuringErrors() {
696
758
  this.shorthandAssign =
697
759
  this.trailingComma =
698
760
  this.parenthesizedAssign =
699
761
  this.parenthesizedBind =
700
762
  this.doubleProto =
701
763
  -1;
702
- }
764
+ };
703
765
 
704
- pp.checkPatternErrors = function(refDestructuringErrors, isAssign) {
766
+ pp$9.checkPatternErrors = function(refDestructuringErrors, isAssign) {
705
767
  if (!refDestructuringErrors) { return }
706
768
  if (refDestructuringErrors.trailingComma > -1)
707
769
  { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); }
708
770
  var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;
709
- if (parens > -1) { this.raiseRecoverable(parens, "Parenthesized pattern"); }
771
+ if (parens > -1) { this.raiseRecoverable(parens, isAssign ? "Assigning to rvalue" : "Parenthesized pattern"); }
710
772
  };
711
773
 
712
- pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
774
+ pp$9.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
713
775
  if (!refDestructuringErrors) { return false }
714
776
  var shorthandAssign = refDestructuringErrors.shorthandAssign;
715
777
  var doubleProto = refDestructuringErrors.doubleProto;
@@ -720,20 +782,20 @@ pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
720
782
  { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); }
721
783
  };
722
784
 
723
- pp.checkYieldAwaitInDefaultParams = function() {
785
+ pp$9.checkYieldAwaitInDefaultParams = function() {
724
786
  if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
725
787
  { this.raise(this.yieldPos, "Yield expression cannot be a default value"); }
726
788
  if (this.awaitPos)
727
789
  { this.raise(this.awaitPos, "Await expression cannot be a default value"); }
728
790
  };
729
791
 
730
- pp.isSimpleAssignTarget = function(expr) {
792
+ pp$9.isSimpleAssignTarget = function(expr) {
731
793
  if (expr.type === "ParenthesizedExpression")
732
794
  { return this.isSimpleAssignTarget(expr.expression) }
733
795
  return expr.type === "Identifier" || expr.type === "MemberExpression"
734
796
  };
735
797
 
736
- var pp$1 = Parser.prototype;
798
+ var pp$8 = Parser.prototype;
737
799
 
738
800
  // ### Statement parsing
739
801
 
@@ -742,10 +804,10 @@ var pp$1 = Parser.prototype;
742
804
  // `program` argument. If present, the statements will be appended
743
805
  // to its body instead of creating a new node.
744
806
 
745
- pp$1.parseTopLevel = function(node) {
746
- var exports = {};
807
+ pp$8.parseTopLevel = function(node) {
808
+ var exports = Object.create(null);
747
809
  if (!node.body) { node.body = []; }
748
- while (this.type !== types.eof) {
810
+ while (this.type !== types$1.eof) {
749
811
  var stmt = this.parseStatement(null, true, exports);
750
812
  node.body.push(stmt);
751
813
  }
@@ -764,7 +826,7 @@ pp$1.parseTopLevel = function(node) {
764
826
 
765
827
  var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"};
766
828
 
767
- pp$1.isLet = function(context) {
829
+ pp$8.isLet = function(context) {
768
830
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
769
831
  skipWhiteSpace.lastIndex = this.pos;
770
832
  var skip = skipWhiteSpace.exec(this.input);
@@ -773,13 +835,14 @@ pp$1.isLet = function(context) {
773
835
  // Statement) is allowed here. If context is not empty then only a Statement
774
836
  // is allowed. However, `let [` is an explicit negative lookahead for
775
837
  // ExpressionStatement, so special-case it first.
776
- if (nextCh === 91) { return true } // '['
838
+ if (nextCh === 91 || nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '[', '/', astral
777
839
  if (context) { return false }
778
840
 
779
841
  if (nextCh === 123) { return true } // '{'
780
842
  if (isIdentifierStart(nextCh, true)) {
781
843
  var pos = next + 1;
782
- while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }
844
+ while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
845
+ if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }
783
846
  var ident = this.input.slice(next, pos);
784
847
  if (!keywordRelationalOperator.test(ident)) { return true }
785
848
  }
@@ -789,16 +852,17 @@ pp$1.isLet = function(context) {
789
852
  // check 'async [no LineTerminator here] function'
790
853
  // - 'async /*foo*/ function' is OK.
791
854
  // - 'async /*\n*/ function' is invalid.
792
- pp$1.isAsyncFunction = function() {
855
+ pp$8.isAsyncFunction = function() {
793
856
  if (this.options.ecmaVersion < 8 || !this.isContextual("async"))
794
857
  { return false }
795
858
 
796
859
  skipWhiteSpace.lastIndex = this.pos;
797
860
  var skip = skipWhiteSpace.exec(this.input);
798
- var next = this.pos + skip[0].length;
861
+ var next = this.pos + skip[0].length, after;
799
862
  return !lineBreak.test(this.input.slice(this.pos, next)) &&
800
863
  this.input.slice(next, next + 8) === "function" &&
801
- (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))
864
+ (next + 8 === this.input.length ||
865
+ !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
802
866
  };
803
867
 
804
868
  // Parse a single statement.
@@ -808,11 +872,11 @@ pp$1.isAsyncFunction = function() {
808
872
  // `if (foo) /blah/.exec(foo)`, where looking at the previous token
809
873
  // does not help.
810
874
 
811
- pp$1.parseStatement = function(context, topLevel, exports) {
875
+ pp$8.parseStatement = function(context, topLevel, exports) {
812
876
  var starttype = this.type, node = this.startNode(), kind;
813
877
 
814
878
  if (this.isLet(context)) {
815
- starttype = types._var;
879
+ starttype = types$1._var;
816
880
  kind = "let";
817
881
  }
818
882
 
@@ -821,35 +885,35 @@ pp$1.parseStatement = function(context, topLevel, exports) {
821
885
  // complexity.
822
886
 
823
887
  switch (starttype) {
824
- case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
825
- case types._debugger: return this.parseDebuggerStatement(node)
826
- case types._do: return this.parseDoStatement(node)
827
- case types._for: return this.parseForStatement(node)
828
- case types._function:
888
+ case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
889
+ case types$1._debugger: return this.parseDebuggerStatement(node)
890
+ case types$1._do: return this.parseDoStatement(node)
891
+ case types$1._for: return this.parseForStatement(node)
892
+ case types$1._function:
829
893
  // Function as sole body of either an if statement or a labeled statement
830
894
  // works, but not when it is part of a labeled statement that is the sole
831
895
  // body of an if statement.
832
896
  if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); }
833
897
  return this.parseFunctionStatement(node, false, !context)
834
- case types._class:
898
+ case types$1._class:
835
899
  if (context) { this.unexpected(); }
836
900
  return this.parseClass(node, true)
837
- case types._if: return this.parseIfStatement(node)
838
- case types._return: return this.parseReturnStatement(node)
839
- case types._switch: return this.parseSwitchStatement(node)
840
- case types._throw: return this.parseThrowStatement(node)
841
- case types._try: return this.parseTryStatement(node)
842
- case types._const: case types._var:
901
+ case types$1._if: return this.parseIfStatement(node)
902
+ case types$1._return: return this.parseReturnStatement(node)
903
+ case types$1._switch: return this.parseSwitchStatement(node)
904
+ case types$1._throw: return this.parseThrowStatement(node)
905
+ case types$1._try: return this.parseTryStatement(node)
906
+ case types$1._const: case types$1._var:
843
907
  kind = kind || this.value;
844
908
  if (context && kind !== "var") { this.unexpected(); }
845
909
  return this.parseVarStatement(node, kind)
846
- case types._while: return this.parseWhileStatement(node)
847
- case types._with: return this.parseWithStatement(node)
848
- case types.braceL: return this.parseBlock(true, node)
849
- case types.semi: return this.parseEmptyStatement(node)
850
- case types._export:
851
- case types._import:
852
- if (this.options.ecmaVersion > 10 && starttype === types._import) {
910
+ case types$1._while: return this.parseWhileStatement(node)
911
+ case types$1._with: return this.parseWithStatement(node)
912
+ case types$1.braceL: return this.parseBlock(true, node)
913
+ case types$1.semi: return this.parseEmptyStatement(node)
914
+ case types$1._export:
915
+ case types$1._import:
916
+ if (this.options.ecmaVersion > 10 && starttype === types$1._import) {
853
917
  skipWhiteSpace.lastIndex = this.pos;
854
918
  var skip = skipWhiteSpace.exec(this.input);
855
919
  var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
@@ -863,7 +927,7 @@ pp$1.parseStatement = function(context, topLevel, exports) {
863
927
  if (!this.inModule)
864
928
  { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
865
929
  }
866
- return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)
930
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
867
931
 
868
932
  // If the statement does not start with a statement keyword or a
869
933
  // brace, it's an ExpressionStatement or LabeledStatement. We
@@ -878,17 +942,17 @@ pp$1.parseStatement = function(context, topLevel, exports) {
878
942
  }
879
943
 
880
944
  var maybeName = this.value, expr = this.parseExpression();
881
- if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon))
945
+ if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
882
946
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
883
947
  else { return this.parseExpressionStatement(node, expr) }
884
948
  }
885
949
  };
886
950
 
887
- pp$1.parseBreakContinueStatement = function(node, keyword) {
951
+ pp$8.parseBreakContinueStatement = function(node, keyword) {
888
952
  var isBreak = keyword === "break";
889
953
  this.next();
890
- if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }
891
- else if (this.type !== types.name) { this.unexpected(); }
954
+ if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; }
955
+ else if (this.type !== types$1.name) { this.unexpected(); }
892
956
  else {
893
957
  node.label = this.parseIdent();
894
958
  this.semicolon();
@@ -908,21 +972,21 @@ pp$1.parseBreakContinueStatement = function(node, keyword) {
908
972
  return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
909
973
  };
910
974
 
911
- pp$1.parseDebuggerStatement = function(node) {
975
+ pp$8.parseDebuggerStatement = function(node) {
912
976
  this.next();
913
977
  this.semicolon();
914
978
  return this.finishNode(node, "DebuggerStatement")
915
979
  };
916
980
 
917
- pp$1.parseDoStatement = function(node) {
981
+ pp$8.parseDoStatement = function(node) {
918
982
  this.next();
919
983
  this.labels.push(loopLabel);
920
984
  node.body = this.parseStatement("do");
921
985
  this.labels.pop();
922
- this.expect(types._while);
986
+ this.expect(types$1._while);
923
987
  node.test = this.parseParenExpression();
924
988
  if (this.options.ecmaVersion >= 6)
925
- { this.eat(types.semi); }
989
+ { this.eat(types$1.semi); }
926
990
  else
927
991
  { this.semicolon(); }
928
992
  return this.finishNode(node, "DoWhileStatement")
@@ -936,25 +1000,25 @@ pp$1.parseDoStatement = function(node) {
936
1000
  // part (semicolon immediately after the opening parenthesis), it
937
1001
  // is a regular `for` loop.
938
1002
 
939
- pp$1.parseForStatement = function(node) {
1003
+ pp$8.parseForStatement = function(node) {
940
1004
  this.next();
941
- var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual("await")) ? this.lastTokStart : -1;
1005
+ var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await")) ? this.lastTokStart : -1;
942
1006
  this.labels.push(loopLabel);
943
1007
  this.enterScope(0);
944
- this.expect(types.parenL);
945
- if (this.type === types.semi) {
1008
+ this.expect(types$1.parenL);
1009
+ if (this.type === types$1.semi) {
946
1010
  if (awaitAt > -1) { this.unexpected(awaitAt); }
947
1011
  return this.parseFor(node, null)
948
1012
  }
949
1013
  var isLet = this.isLet();
950
- if (this.type === types._var || this.type === types._const || isLet) {
1014
+ if (this.type === types$1._var || this.type === types$1._const || isLet) {
951
1015
  var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
952
1016
  this.next();
953
1017
  this.parseVar(init$1, true, kind);
954
1018
  this.finishNode(init$1, "VariableDeclaration");
955
- if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1019
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
956
1020
  if (this.options.ecmaVersion >= 9) {
957
- if (this.type === types._in) {
1021
+ if (this.type === types$1._in) {
958
1022
  if (awaitAt > -1) { this.unexpected(awaitAt); }
959
1023
  } else { node.await = awaitAt > -1; }
960
1024
  }
@@ -963,16 +1027,18 @@ pp$1.parseForStatement = function(node) {
963
1027
  if (awaitAt > -1) { this.unexpected(awaitAt); }
964
1028
  return this.parseFor(node, init$1)
965
1029
  }
1030
+ var startsWithLet = this.isContextual("let"), isForOf = false;
966
1031
  var refDestructuringErrors = new DestructuringErrors;
967
- var init = this.parseExpression(true, refDestructuringErrors);
968
- if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
1032
+ var init = this.parseExpression(awaitAt > -1 ? "await" : true, refDestructuringErrors);
1033
+ if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
969
1034
  if (this.options.ecmaVersion >= 9) {
970
- if (this.type === types._in) {
1035
+ if (this.type === types$1._in) {
971
1036
  if (awaitAt > -1) { this.unexpected(awaitAt); }
972
1037
  } else { node.await = awaitAt > -1; }
973
1038
  }
1039
+ if (startsWithLet && isForOf) { this.raise(init.start, "The left-hand side of a for-of loop may not start with 'let'."); }
974
1040
  this.toAssignable(init, false, refDestructuringErrors);
975
- this.checkLVal(init);
1041
+ this.checkLValPattern(init);
976
1042
  return this.parseForIn(node, init)
977
1043
  } else {
978
1044
  this.checkExpressionErrors(refDestructuringErrors, true);
@@ -981,21 +1047,21 @@ pp$1.parseForStatement = function(node) {
981
1047
  return this.parseFor(node, init)
982
1048
  };
983
1049
 
984
- pp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1050
+ pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
985
1051
  this.next();
986
1052
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
987
1053
  };
988
1054
 
989
- pp$1.parseIfStatement = function(node) {
1055
+ pp$8.parseIfStatement = function(node) {
990
1056
  this.next();
991
1057
  node.test = this.parseParenExpression();
992
1058
  // allow function declarations in branches, but only in non-strict mode
993
1059
  node.consequent = this.parseStatement("if");
994
- node.alternate = this.eat(types._else) ? this.parseStatement("if") : null;
1060
+ node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null;
995
1061
  return this.finishNode(node, "IfStatement")
996
1062
  };
997
1063
 
998
- pp$1.parseReturnStatement = function(node) {
1064
+ pp$8.parseReturnStatement = function(node) {
999
1065
  if (!this.inFunction && !this.options.allowReturnOutsideFunction)
1000
1066
  { this.raise(this.start, "'return' outside of function"); }
1001
1067
  this.next();
@@ -1004,16 +1070,16 @@ pp$1.parseReturnStatement = function(node) {
1004
1070
  // optional arguments, we eagerly look for a semicolon or the
1005
1071
  // possibility to insert one.
1006
1072
 
1007
- if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }
1073
+ if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; }
1008
1074
  else { node.argument = this.parseExpression(); this.semicolon(); }
1009
1075
  return this.finishNode(node, "ReturnStatement")
1010
1076
  };
1011
1077
 
1012
- pp$1.parseSwitchStatement = function(node) {
1078
+ pp$8.parseSwitchStatement = function(node) {
1013
1079
  this.next();
1014
1080
  node.discriminant = this.parseParenExpression();
1015
1081
  node.cases = [];
1016
- this.expect(types.braceL);
1082
+ this.expect(types$1.braceL);
1017
1083
  this.labels.push(switchLabel);
1018
1084
  this.enterScope(0);
1019
1085
 
@@ -1022,9 +1088,9 @@ pp$1.parseSwitchStatement = function(node) {
1022
1088
  // adding statements to.
1023
1089
 
1024
1090
  var cur;
1025
- for (var sawDefault = false; this.type !== types.braceR;) {
1026
- if (this.type === types._case || this.type === types._default) {
1027
- var isCase = this.type === types._case;
1091
+ for (var sawDefault = false; this.type !== types$1.braceR;) {
1092
+ if (this.type === types$1._case || this.type === types$1._default) {
1093
+ var isCase = this.type === types$1._case;
1028
1094
  if (cur) { this.finishNode(cur, "SwitchCase"); }
1029
1095
  node.cases.push(cur = this.startNode());
1030
1096
  cur.consequent = [];
@@ -1036,7 +1102,7 @@ pp$1.parseSwitchStatement = function(node) {
1036
1102
  sawDefault = true;
1037
1103
  cur.test = null;
1038
1104
  }
1039
- this.expect(types.colon);
1105
+ this.expect(types$1.colon);
1040
1106
  } else {
1041
1107
  if (!cur) { this.unexpected(); }
1042
1108
  cur.consequent.push(this.parseStatement(null));
@@ -1049,7 +1115,7 @@ pp$1.parseSwitchStatement = function(node) {
1049
1115
  return this.finishNode(node, "SwitchStatement")
1050
1116
  };
1051
1117
 
1052
- pp$1.parseThrowStatement = function(node) {
1118
+ pp$8.parseThrowStatement = function(node) {
1053
1119
  this.next();
1054
1120
  if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
1055
1121
  { this.raise(this.lastTokEnd, "Illegal newline after throw"); }
@@ -1060,21 +1126,21 @@ pp$1.parseThrowStatement = function(node) {
1060
1126
 
1061
1127
  // Reused empty array added for node fields that are always empty.
1062
1128
 
1063
- var empty = [];
1129
+ var empty$1 = [];
1064
1130
 
1065
- pp$1.parseTryStatement = function(node) {
1131
+ pp$8.parseTryStatement = function(node) {
1066
1132
  this.next();
1067
1133
  node.block = this.parseBlock();
1068
1134
  node.handler = null;
1069
- if (this.type === types._catch) {
1135
+ if (this.type === types$1._catch) {
1070
1136
  var clause = this.startNode();
1071
1137
  this.next();
1072
- if (this.eat(types.parenL)) {
1138
+ if (this.eat(types$1.parenL)) {
1073
1139
  clause.param = this.parseBindingAtom();
1074
1140
  var simple = clause.param.type === "Identifier";
1075
1141
  this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
1076
- this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
1077
- this.expect(types.parenR);
1142
+ this.checkLValPattern(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
1143
+ this.expect(types$1.parenR);
1078
1144
  } else {
1079
1145
  if (this.options.ecmaVersion < 10) { this.unexpected(); }
1080
1146
  clause.param = null;
@@ -1084,20 +1150,20 @@ pp$1.parseTryStatement = function(node) {
1084
1150
  this.exitScope();
1085
1151
  node.handler = this.finishNode(clause, "CatchClause");
1086
1152
  }
1087
- node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;
1153
+ node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
1088
1154
  if (!node.handler && !node.finalizer)
1089
1155
  { this.raise(node.start, "Missing catch or finally clause"); }
1090
1156
  return this.finishNode(node, "TryStatement")
1091
1157
  };
1092
1158
 
1093
- pp$1.parseVarStatement = function(node, kind) {
1159
+ pp$8.parseVarStatement = function(node, kind) {
1094
1160
  this.next();
1095
1161
  this.parseVar(node, false, kind);
1096
1162
  this.semicolon();
1097
1163
  return this.finishNode(node, "VariableDeclaration")
1098
1164
  };
1099
1165
 
1100
- pp$1.parseWhileStatement = function(node) {
1166
+ pp$8.parseWhileStatement = function(node) {
1101
1167
  this.next();
1102
1168
  node.test = this.parseParenExpression();
1103
1169
  this.labels.push(loopLabel);
@@ -1106,7 +1172,7 @@ pp$1.parseWhileStatement = function(node) {
1106
1172
  return this.finishNode(node, "WhileStatement")
1107
1173
  };
1108
1174
 
1109
- pp$1.parseWithStatement = function(node) {
1175
+ pp$8.parseWithStatement = function(node) {
1110
1176
  if (this.strict) { this.raise(this.start, "'with' in strict mode"); }
1111
1177
  this.next();
1112
1178
  node.object = this.parseParenExpression();
@@ -1114,12 +1180,12 @@ pp$1.parseWithStatement = function(node) {
1114
1180
  return this.finishNode(node, "WithStatement")
1115
1181
  };
1116
1182
 
1117
- pp$1.parseEmptyStatement = function(node) {
1183
+ pp$8.parseEmptyStatement = function(node) {
1118
1184
  this.next();
1119
1185
  return this.finishNode(node, "EmptyStatement")
1120
1186
  };
1121
1187
 
1122
- pp$1.parseLabeledStatement = function(node, maybeName, expr, context) {
1188
+ pp$8.parseLabeledStatement = function(node, maybeName, expr, context) {
1123
1189
  for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)
1124
1190
  {
1125
1191
  var label = list[i$1];
@@ -1127,7 +1193,7 @@ pp$1.parseLabeledStatement = function(node, maybeName, expr, context) {
1127
1193
  if (label.name === maybeName)
1128
1194
  { this.raise(expr.start, "Label '" + maybeName + "' is already declared");
1129
1195
  } }
1130
- var kind = this.type.isLoop ? "loop" : this.type === types._switch ? "switch" : null;
1196
+ var kind = this.type.isLoop ? "loop" : this.type === types$1._switch ? "switch" : null;
1131
1197
  for (var i = this.labels.length - 1; i >= 0; i--) {
1132
1198
  var label$1 = this.labels[i];
1133
1199
  if (label$1.statementStart === node.start) {
@@ -1143,7 +1209,7 @@ pp$1.parseLabeledStatement = function(node, maybeName, expr, context) {
1143
1209
  return this.finishNode(node, "LabeledStatement")
1144
1210
  };
1145
1211
 
1146
- pp$1.parseExpressionStatement = function(node, expr) {
1212
+ pp$8.parseExpressionStatement = function(node, expr) {
1147
1213
  node.expression = expr;
1148
1214
  this.semicolon();
1149
1215
  return this.finishNode(node, "ExpressionStatement")
@@ -1153,14 +1219,14 @@ pp$1.parseExpressionStatement = function(node, expr) {
1153
1219
  // strict"` declarations when `allowStrict` is true (used for
1154
1220
  // function bodies).
1155
1221
 
1156
- pp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) {
1222
+ pp$8.parseBlock = function(createNewLexicalScope, node, exitStrict) {
1157
1223
  if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;
1158
1224
  if ( node === void 0 ) node = this.startNode();
1159
1225
 
1160
1226
  node.body = [];
1161
- this.expect(types.braceL);
1227
+ this.expect(types$1.braceL);
1162
1228
  if (createNewLexicalScope) { this.enterScope(0); }
1163
- while (this.type !== types.braceR) {
1229
+ while (this.type !== types$1.braceR) {
1164
1230
  var stmt = this.parseStatement(null);
1165
1231
  node.body.push(stmt);
1166
1232
  }
@@ -1174,13 +1240,13 @@ pp$1.parseBlock = function(createNewLexicalScope, node, exitStrict) {
1174
1240
  // `parseStatement` will already have parsed the init statement or
1175
1241
  // expression.
1176
1242
 
1177
- pp$1.parseFor = function(node, init) {
1243
+ pp$8.parseFor = function(node, init) {
1178
1244
  node.init = init;
1179
- this.expect(types.semi);
1180
- node.test = this.type === types.semi ? null : this.parseExpression();
1181
- this.expect(types.semi);
1182
- node.update = this.type === types.parenR ? null : this.parseExpression();
1183
- this.expect(types.parenR);
1245
+ this.expect(types$1.semi);
1246
+ node.test = this.type === types$1.semi ? null : this.parseExpression();
1247
+ this.expect(types$1.semi);
1248
+ node.update = this.type === types$1.parenR ? null : this.parseExpression();
1249
+ this.expect(types$1.parenR);
1184
1250
  node.body = this.parseStatement("for");
1185
1251
  this.exitScope();
1186
1252
  this.labels.pop();
@@ -1190,8 +1256,8 @@ pp$1.parseFor = function(node, init) {
1190
1256
  // Parse a `for`/`in` and `for`/`of` loop, which are almost
1191
1257
  // same from parser's perspective.
1192
1258
 
1193
- pp$1.parseForIn = function(node, init) {
1194
- var isForIn = this.type === types._in;
1259
+ pp$8.parseForIn = function(node, init) {
1260
+ var isForIn = this.type === types$1._in;
1195
1261
  this.next();
1196
1262
 
1197
1263
  if (
@@ -1209,12 +1275,10 @@ pp$1.parseForIn = function(node, init) {
1209
1275
  init.start,
1210
1276
  ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer")
1211
1277
  );
1212
- } else if (init.type === "AssignmentPattern") {
1213
- this.raise(init.start, "Invalid left-hand side in for-loop");
1214
1278
  }
1215
1279
  node.left = init;
1216
1280
  node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();
1217
- this.expect(types.parenR);
1281
+ this.expect(types$1.parenR);
1218
1282
  node.body = this.parseStatement("for");
1219
1283
  this.exitScope();
1220
1284
  this.labels.pop();
@@ -1223,30 +1287,30 @@ pp$1.parseForIn = function(node, init) {
1223
1287
 
1224
1288
  // Parse a list of variable declarations.
1225
1289
 
1226
- pp$1.parseVar = function(node, isFor, kind) {
1290
+ pp$8.parseVar = function(node, isFor, kind) {
1227
1291
  node.declarations = [];
1228
1292
  node.kind = kind;
1229
1293
  for (;;) {
1230
1294
  var decl = this.startNode();
1231
1295
  this.parseVarId(decl, kind);
1232
- if (this.eat(types.eq)) {
1296
+ if (this.eat(types$1.eq)) {
1233
1297
  decl.init = this.parseMaybeAssign(isFor);
1234
- } else if (kind === "const" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1298
+ } else if (kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1235
1299
  this.unexpected();
1236
- } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types._in || this.isContextual("of")))) {
1300
+ } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1237
1301
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1238
1302
  } else {
1239
1303
  decl.init = null;
1240
1304
  }
1241
1305
  node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
1242
- if (!this.eat(types.comma)) { break }
1306
+ if (!this.eat(types$1.comma)) { break }
1243
1307
  }
1244
1308
  return node
1245
1309
  };
1246
1310
 
1247
- pp$1.parseVarId = function(decl, kind) {
1311
+ pp$8.parseVarId = function(decl, kind) {
1248
1312
  decl.id = this.parseBindingAtom();
1249
- this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1313
+ this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1250
1314
  };
1251
1315
 
1252
1316
  var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;
@@ -1255,24 +1319,24 @@ var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;
1255
1319
  // `statement & FUNC_STATEMENT`).
1256
1320
 
1257
1321
  // Remove `allowExpressionBody` for 7.0.0, as it is only called with false
1258
- pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {
1322
+ pp$8.parseFunction = function(node, statement, allowExpressionBody, isAsync, forInit) {
1259
1323
  this.initFunction(node);
1260
1324
  if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {
1261
- if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT))
1325
+ if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT))
1262
1326
  { this.unexpected(); }
1263
- node.generator = this.eat(types.star);
1327
+ node.generator = this.eat(types$1.star);
1264
1328
  }
1265
1329
  if (this.options.ecmaVersion >= 8)
1266
1330
  { node.async = !!isAsync; }
1267
1331
 
1268
1332
  if (statement & FUNC_STATEMENT) {
1269
- node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent();
1333
+ node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent();
1270
1334
  if (node.id && !(statement & FUNC_HANGING_STATEMENT))
1271
1335
  // If it is a regular function declaration in sloppy mode, then it is
1272
1336
  // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding
1273
1337
  // mode depends on properties of the current scope (see
1274
1338
  // treatFunctionsAsVar).
1275
- { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
1339
+ { this.checkLValSimple(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
1276
1340
  }
1277
1341
 
1278
1342
  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
@@ -1282,10 +1346,10 @@ pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {
1282
1346
  this.enterScope(functionFlags(node.async, node.generator));
1283
1347
 
1284
1348
  if (!(statement & FUNC_STATEMENT))
1285
- { node.id = this.type === types.name ? this.parseIdent() : null; }
1349
+ { node.id = this.type === types$1.name ? this.parseIdent() : null; }
1286
1350
 
1287
1351
  this.parseFunctionParams(node);
1288
- this.parseFunctionBody(node, allowExpressionBody, false);
1352
+ this.parseFunctionBody(node, allowExpressionBody, false, forInit);
1289
1353
 
1290
1354
  this.yieldPos = oldYieldPos;
1291
1355
  this.awaitPos = oldAwaitPos;
@@ -1293,16 +1357,16 @@ pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {
1293
1357
  return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression")
1294
1358
  };
1295
1359
 
1296
- pp$1.parseFunctionParams = function(node) {
1297
- this.expect(types.parenL);
1298
- node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
1360
+ pp$8.parseFunctionParams = function(node) {
1361
+ this.expect(types$1.parenL);
1362
+ node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
1299
1363
  this.checkYieldAwaitInDefaultParams();
1300
1364
  };
1301
1365
 
1302
1366
  // Parse a class declaration or literal (depending on the
1303
1367
  // `isStatement` parameter).
1304
1368
 
1305
- pp$1.parseClass = function(node, isStatement) {
1369
+ pp$8.parseClass = function(node, isStatement) {
1306
1370
  this.next();
1307
1371
 
1308
1372
  // ecma-262 14.6 Class Definitions
@@ -1312,93 +1376,193 @@ pp$1.parseClass = function(node, isStatement) {
1312
1376
 
1313
1377
  this.parseClassId(node, isStatement);
1314
1378
  this.parseClassSuper(node);
1379
+ var privateNameMap = this.enterClassBody();
1315
1380
  var classBody = this.startNode();
1316
1381
  var hadConstructor = false;
1317
1382
  classBody.body = [];
1318
- this.expect(types.braceL);
1319
- while (this.type !== types.braceR) {
1383
+ this.expect(types$1.braceL);
1384
+ while (this.type !== types$1.braceR) {
1320
1385
  var element = this.parseClassElement(node.superClass !== null);
1321
1386
  if (element) {
1322
1387
  classBody.body.push(element);
1323
1388
  if (element.type === "MethodDefinition" && element.kind === "constructor") {
1324
1389
  if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); }
1325
1390
  hadConstructor = true;
1391
+ } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) {
1392
+ this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared"));
1326
1393
  }
1327
1394
  }
1328
1395
  }
1329
1396
  this.strict = oldStrict;
1330
1397
  this.next();
1331
1398
  node.body = this.finishNode(classBody, "ClassBody");
1399
+ this.exitClassBody();
1332
1400
  return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
1333
1401
  };
1334
1402
 
1335
- pp$1.parseClassElement = function(constructorAllowsSuper) {
1336
- var this$1 = this;
1403
+ pp$8.parseClassElement = function(constructorAllowsSuper) {
1404
+ if (this.eat(types$1.semi)) { return null }
1337
1405
 
1338
- if (this.eat(types.semi)) { return null }
1406
+ var ecmaVersion = this.options.ecmaVersion;
1407
+ var node = this.startNode();
1408
+ var keyName = "";
1409
+ var isGenerator = false;
1410
+ var isAsync = false;
1411
+ var kind = "method";
1412
+ var isStatic = false;
1413
+
1414
+ if (this.eatContextual("static")) {
1415
+ // Parse static init block
1416
+ if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {
1417
+ this.parseClassStaticBlock(node);
1418
+ return node
1419
+ }
1420
+ if (this.isClassElementNameStart() || this.type === types$1.star) {
1421
+ isStatic = true;
1422
+ } else {
1423
+ keyName = "static";
1424
+ }
1425
+ }
1426
+ node.static = isStatic;
1427
+ if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {
1428
+ if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) {
1429
+ isAsync = true;
1430
+ } else {
1431
+ keyName = "async";
1432
+ }
1433
+ }
1434
+ if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) {
1435
+ isGenerator = true;
1436
+ }
1437
+ if (!keyName && !isAsync && !isGenerator) {
1438
+ var lastValue = this.value;
1439
+ if (this.eatContextual("get") || this.eatContextual("set")) {
1440
+ if (this.isClassElementNameStart()) {
1441
+ kind = lastValue;
1442
+ } else {
1443
+ keyName = lastValue;
1444
+ }
1445
+ }
1446
+ }
1339
1447
 
1340
- var method = this.startNode();
1341
- var tryContextual = function (k, noLineBreak) {
1342
- if ( noLineBreak === void 0 ) noLineBreak = false;
1448
+ // Parse element name
1449
+ if (keyName) {
1450
+ // 'async', 'get', 'set', or 'static' were not a keyword contextually.
1451
+ // The last token is any of those. Make it the element name.
1452
+ node.computed = false;
1453
+ node.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc);
1454
+ node.key.name = keyName;
1455
+ this.finishNode(node.key, "Identifier");
1456
+ } else {
1457
+ this.parseClassElementName(node);
1458
+ }
1343
1459
 
1344
- var start = this$1.start, startLoc = this$1.startLoc;
1345
- if (!this$1.eatContextual(k)) { return false }
1346
- if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }
1347
- if (method.key) { this$1.unexpected(); }
1348
- method.computed = false;
1349
- method.key = this$1.startNodeAt(start, startLoc);
1350
- method.key.name = k;
1351
- this$1.finishNode(method.key, "Identifier");
1352
- return false
1353
- };
1460
+ // Parse element value
1461
+ if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {
1462
+ var isConstructor = !node.static && checkKeyName(node, "constructor");
1463
+ var allowsDirectSuper = isConstructor && constructorAllowsSuper;
1464
+ // Couldn't move this check into the 'parseClassMethod' method for backward compatibility.
1465
+ if (isConstructor && kind !== "method") { this.raise(node.key.start, "Constructor can't have get/set modifier"); }
1466
+ node.kind = isConstructor ? "constructor" : kind;
1467
+ this.parseClassMethod(node, isGenerator, isAsync, allowsDirectSuper);
1468
+ } else {
1469
+ this.parseClassField(node);
1470
+ }
1354
1471
 
1355
- method.kind = "method";
1356
- method.static = tryContextual("static");
1357
- var isGenerator = this.eat(types.star);
1358
- var isAsync = false;
1359
- if (!isGenerator) {
1360
- if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) {
1361
- isAsync = true;
1362
- isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
1363
- } else if (tryContextual("get")) {
1364
- method.kind = "get";
1365
- } else if (tryContextual("set")) {
1366
- method.kind = "set";
1472
+ return node
1473
+ };
1474
+
1475
+ pp$8.isClassElementNameStart = function() {
1476
+ return (
1477
+ this.type === types$1.name ||
1478
+ this.type === types$1.privateId ||
1479
+ this.type === types$1.num ||
1480
+ this.type === types$1.string ||
1481
+ this.type === types$1.bracketL ||
1482
+ this.type.keyword
1483
+ )
1484
+ };
1485
+
1486
+ pp$8.parseClassElementName = function(element) {
1487
+ if (this.type === types$1.privateId) {
1488
+ if (this.value === "constructor") {
1489
+ this.raise(this.start, "Classes can't have an element named '#constructor'");
1367
1490
  }
1491
+ element.computed = false;
1492
+ element.key = this.parsePrivateIdent();
1493
+ } else {
1494
+ this.parsePropertyName(element);
1368
1495
  }
1369
- if (!method.key) { this.parsePropertyName(method); }
1496
+ };
1497
+
1498
+ pp$8.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
1499
+ // Check key and flags
1370
1500
  var key = method.key;
1371
- var allowsDirectSuper = false;
1372
- if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" ||
1373
- key.type === "Literal" && key.value === "constructor")) {
1374
- if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); }
1501
+ if (method.kind === "constructor") {
1375
1502
  if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); }
1376
1503
  if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); }
1377
- method.kind = "constructor";
1378
- allowsDirectSuper = constructorAllowsSuper;
1379
- } else if (method.static && key.type === "Identifier" && key.name === "prototype") {
1504
+ } else if (method.static && checkKeyName(method, "prototype")) {
1380
1505
  this.raise(key.start, "Classes may not have a static property named prototype");
1381
1506
  }
1382
- this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper);
1383
- if (method.kind === "get" && method.value.params.length !== 0)
1384
- { this.raiseRecoverable(method.value.start, "getter should have no params"); }
1385
- if (method.kind === "set" && method.value.params.length !== 1)
1386
- { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); }
1387
- if (method.kind === "set" && method.value.params[0].type === "RestElement")
1388
- { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); }
1389
- return method
1390
- };
1391
1507
 
1392
- pp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
1393
- method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);
1508
+ // Parse value
1509
+ var value = method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);
1510
+
1511
+ // Check value
1512
+ if (method.kind === "get" && value.params.length !== 0)
1513
+ { this.raiseRecoverable(value.start, "getter should have no params"); }
1514
+ if (method.kind === "set" && value.params.length !== 1)
1515
+ { this.raiseRecoverable(value.start, "setter should have exactly one param"); }
1516
+ if (method.kind === "set" && value.params[0].type === "RestElement")
1517
+ { this.raiseRecoverable(value.params[0].start, "Setter cannot use rest params"); }
1518
+
1394
1519
  return this.finishNode(method, "MethodDefinition")
1395
1520
  };
1396
1521
 
1397
- pp$1.parseClassId = function(node, isStatement) {
1398
- if (this.type === types.name) {
1522
+ pp$8.parseClassField = function(field) {
1523
+ if (checkKeyName(field, "constructor")) {
1524
+ this.raise(field.key.start, "Classes can't have a field named 'constructor'");
1525
+ } else if (field.static && checkKeyName(field, "prototype")) {
1526
+ this.raise(field.key.start, "Classes can't have a static field named 'prototype'");
1527
+ }
1528
+
1529
+ if (this.eat(types$1.eq)) {
1530
+ // To raise SyntaxError if 'arguments' exists in the initializer.
1531
+ var scope = this.currentThisScope();
1532
+ var inClassFieldInit = scope.inClassFieldInit;
1533
+ scope.inClassFieldInit = true;
1534
+ field.value = this.parseMaybeAssign();
1535
+ scope.inClassFieldInit = inClassFieldInit;
1536
+ } else {
1537
+ field.value = null;
1538
+ }
1539
+ this.semicolon();
1540
+
1541
+ return this.finishNode(field, "PropertyDefinition")
1542
+ };
1543
+
1544
+ pp$8.parseClassStaticBlock = function(node) {
1545
+ node.body = [];
1546
+
1547
+ var oldLabels = this.labels;
1548
+ this.labels = [];
1549
+ this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER);
1550
+ while (this.type !== types$1.braceR) {
1551
+ var stmt = this.parseStatement(null);
1552
+ node.body.push(stmt);
1553
+ }
1554
+ this.next();
1555
+ this.exitScope();
1556
+ this.labels = oldLabels;
1557
+
1558
+ return this.finishNode(node, "StaticBlock")
1559
+ };
1560
+
1561
+ pp$8.parseClassId = function(node, isStatement) {
1562
+ if (this.type === types$1.name) {
1399
1563
  node.id = this.parseIdent();
1400
1564
  if (isStatement)
1401
- { this.checkLVal(node.id, BIND_LEXICAL, false); }
1565
+ { this.checkLValSimple(node.id, BIND_LEXICAL, false); }
1402
1566
  } else {
1403
1567
  if (isStatement === true)
1404
1568
  { this.unexpected(); }
@@ -1406,39 +1570,98 @@ pp$1.parseClassId = function(node, isStatement) {
1406
1570
  }
1407
1571
  };
1408
1572
 
1409
- pp$1.parseClassSuper = function(node) {
1410
- node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;
1573
+ pp$8.parseClassSuper = function(node) {
1574
+ node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(false) : null;
1575
+ };
1576
+
1577
+ pp$8.enterClassBody = function() {
1578
+ var element = {declared: Object.create(null), used: []};
1579
+ this.privateNameStack.push(element);
1580
+ return element.declared
1581
+ };
1582
+
1583
+ pp$8.exitClassBody = function() {
1584
+ var ref = this.privateNameStack.pop();
1585
+ var declared = ref.declared;
1586
+ var used = ref.used;
1587
+ var len = this.privateNameStack.length;
1588
+ var parent = len === 0 ? null : this.privateNameStack[len - 1];
1589
+ for (var i = 0; i < used.length; ++i) {
1590
+ var id = used[i];
1591
+ if (!hasOwn(declared, id.name)) {
1592
+ if (parent) {
1593
+ parent.used.push(id);
1594
+ } else {
1595
+ this.raiseRecoverable(id.start, ("Private field '#" + (id.name) + "' must be declared in an enclosing class"));
1596
+ }
1597
+ }
1598
+ }
1411
1599
  };
1412
1600
 
1601
+ function isPrivateNameConflicted(privateNameMap, element) {
1602
+ var name = element.key.name;
1603
+ var curr = privateNameMap[name];
1604
+
1605
+ var next = "true";
1606
+ if (element.type === "MethodDefinition" && (element.kind === "get" || element.kind === "set")) {
1607
+ next = (element.static ? "s" : "i") + element.kind;
1608
+ }
1609
+
1610
+ // `class { get #a(){}; static set #a(_){} }` is also conflict.
1611
+ if (
1612
+ curr === "iget" && next === "iset" ||
1613
+ curr === "iset" && next === "iget" ||
1614
+ curr === "sget" && next === "sset" ||
1615
+ curr === "sset" && next === "sget"
1616
+ ) {
1617
+ privateNameMap[name] = "true";
1618
+ return false
1619
+ } else if (!curr) {
1620
+ privateNameMap[name] = next;
1621
+ return false
1622
+ } else {
1623
+ return true
1624
+ }
1625
+ }
1626
+
1627
+ function checkKeyName(node, name) {
1628
+ var computed = node.computed;
1629
+ var key = node.key;
1630
+ return !computed && (
1631
+ key.type === "Identifier" && key.name === name ||
1632
+ key.type === "Literal" && key.value === name
1633
+ )
1634
+ }
1635
+
1413
1636
  // Parses module export declaration.
1414
1637
 
1415
- pp$1.parseExport = function(node, exports) {
1638
+ pp$8.parseExport = function(node, exports) {
1416
1639
  this.next();
1417
1640
  // export * from '...'
1418
- if (this.eat(types.star)) {
1641
+ if (this.eat(types$1.star)) {
1419
1642
  if (this.options.ecmaVersion >= 11) {
1420
1643
  if (this.eatContextual("as")) {
1421
- node.exported = this.parseIdent(true);
1422
- this.checkExport(exports, node.exported.name, this.lastTokStart);
1644
+ node.exported = this.parseModuleExportName();
1645
+ this.checkExport(exports, node.exported, this.lastTokStart);
1423
1646
  } else {
1424
1647
  node.exported = null;
1425
1648
  }
1426
1649
  }
1427
1650
  this.expectContextual("from");
1428
- if (this.type !== types.string) { this.unexpected(); }
1651
+ if (this.type !== types$1.string) { this.unexpected(); }
1429
1652
  node.source = this.parseExprAtom();
1430
1653
  this.semicolon();
1431
1654
  return this.finishNode(node, "ExportAllDeclaration")
1432
1655
  }
1433
- if (this.eat(types._default)) { // export default ...
1656
+ if (this.eat(types$1._default)) { // export default ...
1434
1657
  this.checkExport(exports, "default", this.lastTokStart);
1435
1658
  var isAsync;
1436
- if (this.type === types._function || (isAsync = this.isAsyncFunction())) {
1659
+ if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
1437
1660
  var fNode = this.startNode();
1438
1661
  this.next();
1439
1662
  if (isAsync) { this.next(); }
1440
1663
  node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);
1441
- } else if (this.type === types._class) {
1664
+ } else if (this.type === types$1._class) {
1442
1665
  var cNode = this.startNode();
1443
1666
  node.declaration = this.parseClass(cNode, "nullableID");
1444
1667
  } else {
@@ -1453,14 +1676,14 @@ pp$1.parseExport = function(node, exports) {
1453
1676
  if (node.declaration.type === "VariableDeclaration")
1454
1677
  { this.checkVariableExport(exports, node.declaration.declarations); }
1455
1678
  else
1456
- { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }
1679
+ { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1457
1680
  node.specifiers = [];
1458
1681
  node.source = null;
1459
1682
  } else { // export { x, y as z } [from '...']
1460
1683
  node.declaration = null;
1461
1684
  node.specifiers = this.parseExportSpecifiers(exports);
1462
1685
  if (this.eatContextual("from")) {
1463
- if (this.type !== types.string) { this.unexpected(); }
1686
+ if (this.type !== types$1.string) { this.unexpected(); }
1464
1687
  node.source = this.parseExprAtom();
1465
1688
  } else {
1466
1689
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
@@ -1470,6 +1693,10 @@ pp$1.parseExport = function(node, exports) {
1470
1693
  this.checkUnreserved(spec.local);
1471
1694
  // check if export is defined
1472
1695
  this.checkLocalExport(spec.local);
1696
+
1697
+ if (spec.local.type === "Literal") {
1698
+ this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
1699
+ }
1473
1700
  }
1474
1701
 
1475
1702
  node.source = null;
@@ -1479,17 +1706,19 @@ pp$1.parseExport = function(node, exports) {
1479
1706
  return this.finishNode(node, "ExportNamedDeclaration")
1480
1707
  };
1481
1708
 
1482
- pp$1.checkExport = function(exports, name, pos) {
1709
+ pp$8.checkExport = function(exports, name, pos) {
1483
1710
  if (!exports) { return }
1484
- if (has(exports, name))
1711
+ if (typeof name !== "string")
1712
+ { name = name.type === "Identifier" ? name.name : name.value; }
1713
+ if (hasOwn(exports, name))
1485
1714
  { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
1486
1715
  exports[name] = true;
1487
1716
  };
1488
1717
 
1489
- pp$1.checkPatternExport = function(exports, pat) {
1718
+ pp$8.checkPatternExport = function(exports, pat) {
1490
1719
  var type = pat.type;
1491
1720
  if (type === "Identifier")
1492
- { this.checkExport(exports, pat.name, pat.start); }
1721
+ { this.checkExport(exports, pat, pat.start); }
1493
1722
  else if (type === "ObjectPattern")
1494
1723
  { for (var i = 0, list = pat.properties; i < list.length; i += 1)
1495
1724
  {
@@ -1513,7 +1742,7 @@ pp$1.checkPatternExport = function(exports, pat) {
1513
1742
  { this.checkPatternExport(exports, pat.expression); }
1514
1743
  };
1515
1744
 
1516
- pp$1.checkVariableExport = function(exports, decls) {
1745
+ pp$8.checkVariableExport = function(exports, decls) {
1517
1746
  if (!exports) { return }
1518
1747
  for (var i = 0, list = decls; i < list.length; i += 1)
1519
1748
  {
@@ -1523,7 +1752,7 @@ pp$1.checkVariableExport = function(exports, decls) {
1523
1752
  }
1524
1753
  };
1525
1754
 
1526
- pp$1.shouldParseExportStatement = function() {
1755
+ pp$8.shouldParseExportStatement = function() {
1527
1756
  return this.type.keyword === "var" ||
1528
1757
  this.type.keyword === "const" ||
1529
1758
  this.type.keyword === "class" ||
@@ -1534,20 +1763,24 @@ pp$1.shouldParseExportStatement = function() {
1534
1763
 
1535
1764
  // Parses a comma-separated list of module exports.
1536
1765
 
1537
- pp$1.parseExportSpecifiers = function(exports) {
1766
+ pp$8.parseExportSpecifiers = function(exports) {
1538
1767
  var nodes = [], first = true;
1539
1768
  // export { x, y as z } [from '...']
1540
- this.expect(types.braceL);
1541
- while (!this.eat(types.braceR)) {
1769
+ this.expect(types$1.braceL);
1770
+ while (!this.eat(types$1.braceR)) {
1542
1771
  if (!first) {
1543
- this.expect(types.comma);
1544
- if (this.afterTrailingComma(types.braceR)) { break }
1772
+ this.expect(types$1.comma);
1773
+ if (this.afterTrailingComma(types$1.braceR)) { break }
1545
1774
  } else { first = false; }
1546
1775
 
1547
1776
  var node = this.startNode();
1548
- node.local = this.parseIdent(true);
1549
- node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local;
1550
- this.checkExport(exports, node.exported.name, node.exported.start);
1777
+ node.local = this.parseModuleExportName();
1778
+ node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
1779
+ this.checkExport(
1780
+ exports,
1781
+ node.exported,
1782
+ node.exported.start
1783
+ );
1551
1784
  nodes.push(this.finishNode(node, "ExportSpecifier"));
1552
1785
  }
1553
1786
  return nodes
@@ -1555,16 +1788,16 @@ pp$1.parseExportSpecifiers = function(exports) {
1555
1788
 
1556
1789
  // Parses import declaration.
1557
1790
 
1558
- pp$1.parseImport = function(node) {
1791
+ pp$8.parseImport = function(node) {
1559
1792
  this.next();
1560
1793
  // import '...'
1561
- if (this.type === types.string) {
1562
- node.specifiers = empty;
1794
+ if (this.type === types$1.string) {
1795
+ node.specifiers = empty$1;
1563
1796
  node.source = this.parseExprAtom();
1564
1797
  } else {
1565
1798
  node.specifiers = this.parseImportSpecifiers();
1566
1799
  this.expectContextual("from");
1567
- node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();
1800
+ node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1568
1801
  }
1569
1802
  this.semicolon();
1570
1803
  return this.finishNode(node, "ImportDeclaration")
@@ -1572,54 +1805,66 @@ pp$1.parseImport = function(node) {
1572
1805
 
1573
1806
  // Parses a comma-separated list of module imports.
1574
1807
 
1575
- pp$1.parseImportSpecifiers = function() {
1808
+ pp$8.parseImportSpecifiers = function() {
1576
1809
  var nodes = [], first = true;
1577
- if (this.type === types.name) {
1810
+ if (this.type === types$1.name) {
1578
1811
  // import defaultObj, { x, y as z } from '...'
1579
1812
  var node = this.startNode();
1580
1813
  node.local = this.parseIdent();
1581
- this.checkLVal(node.local, BIND_LEXICAL);
1814
+ this.checkLValSimple(node.local, BIND_LEXICAL);
1582
1815
  nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
1583
- if (!this.eat(types.comma)) { return nodes }
1816
+ if (!this.eat(types$1.comma)) { return nodes }
1584
1817
  }
1585
- if (this.type === types.star) {
1818
+ if (this.type === types$1.star) {
1586
1819
  var node$1 = this.startNode();
1587
1820
  this.next();
1588
1821
  this.expectContextual("as");
1589
1822
  node$1.local = this.parseIdent();
1590
- this.checkLVal(node$1.local, BIND_LEXICAL);
1823
+ this.checkLValSimple(node$1.local, BIND_LEXICAL);
1591
1824
  nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"));
1592
1825
  return nodes
1593
1826
  }
1594
- this.expect(types.braceL);
1595
- while (!this.eat(types.braceR)) {
1827
+ this.expect(types$1.braceL);
1828
+ while (!this.eat(types$1.braceR)) {
1596
1829
  if (!first) {
1597
- this.expect(types.comma);
1598
- if (this.afterTrailingComma(types.braceR)) { break }
1830
+ this.expect(types$1.comma);
1831
+ if (this.afterTrailingComma(types$1.braceR)) { break }
1599
1832
  } else { first = false; }
1600
1833
 
1601
1834
  var node$2 = this.startNode();
1602
- node$2.imported = this.parseIdent(true);
1835
+ node$2.imported = this.parseModuleExportName();
1603
1836
  if (this.eatContextual("as")) {
1604
1837
  node$2.local = this.parseIdent();
1605
1838
  } else {
1606
1839
  this.checkUnreserved(node$2.imported);
1607
1840
  node$2.local = node$2.imported;
1608
1841
  }
1609
- this.checkLVal(node$2.local, BIND_LEXICAL);
1842
+ this.checkLValSimple(node$2.local, BIND_LEXICAL);
1610
1843
  nodes.push(this.finishNode(node$2, "ImportSpecifier"));
1611
1844
  }
1612
1845
  return nodes
1613
1846
  };
1614
1847
 
1848
+ pp$8.parseModuleExportName = function() {
1849
+ if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1850
+ var stringLiteral = this.parseLiteral(this.value);
1851
+ if (loneSurrogate.test(stringLiteral.value)) {
1852
+ this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
1853
+ }
1854
+ return stringLiteral
1855
+ }
1856
+ return this.parseIdent(true)
1857
+ };
1858
+
1615
1859
  // Set `ExpressionStatement#directive` property for directive prologues.
1616
- pp$1.adaptDirectivePrologue = function(statements) {
1860
+ pp$8.adaptDirectivePrologue = function(statements) {
1617
1861
  for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
1618
1862
  statements[i].directive = statements[i].expression.raw.slice(1, -1);
1619
1863
  }
1620
1864
  };
1621
- pp$1.isDirectiveCandidate = function(statement) {
1865
+ pp$8.isDirectiveCandidate = function(statement) {
1622
1866
  return (
1867
+ this.options.ecmaVersion >= 5 &&
1623
1868
  statement.type === "ExpressionStatement" &&
1624
1869
  statement.expression.type === "Literal" &&
1625
1870
  typeof statement.expression.value === "string" &&
@@ -1628,12 +1873,12 @@ pp$1.isDirectiveCandidate = function(statement) {
1628
1873
  )
1629
1874
  };
1630
1875
 
1631
- var pp$2 = Parser.prototype;
1876
+ var pp$7 = Parser.prototype;
1632
1877
 
1633
1878
  // Convert existing expression atom to assignable pattern
1634
1879
  // if possible.
1635
1880
 
1636
- pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
1881
+ pp$7.toAssignable = function(node, isBinding, refDestructuringErrors) {
1637
1882
  if (this.options.ecmaVersion >= 6 && node) {
1638
1883
  switch (node.type) {
1639
1884
  case "Identifier":
@@ -1643,6 +1888,7 @@ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
1643
1888
 
1644
1889
  case "ObjectPattern":
1645
1890
  case "ArrayPattern":
1891
+ case "AssignmentPattern":
1646
1892
  case "RestElement":
1647
1893
  break
1648
1894
 
@@ -1691,9 +1937,6 @@ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
1691
1937
  node.type = "AssignmentPattern";
1692
1938
  delete node.operator;
1693
1939
  this.toAssignable(node.left, isBinding);
1694
- // falls through to AssignmentPattern
1695
-
1696
- case "AssignmentPattern":
1697
1940
  break
1698
1941
 
1699
1942
  case "ParenthesizedExpression":
@@ -1716,7 +1959,7 @@ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
1716
1959
 
1717
1960
  // Convert list of expression atoms to binding list.
1718
1961
 
1719
- pp$2.toAssignableList = function(exprList, isBinding) {
1962
+ pp$7.toAssignableList = function(exprList, isBinding) {
1720
1963
  var end = exprList.length;
1721
1964
  for (var i = 0; i < end; i++) {
1722
1965
  var elt = exprList[i];
@@ -1732,19 +1975,19 @@ pp$2.toAssignableList = function(exprList, isBinding) {
1732
1975
 
1733
1976
  // Parses spread element.
1734
1977
 
1735
- pp$2.parseSpread = function(refDestructuringErrors) {
1978
+ pp$7.parseSpread = function(refDestructuringErrors) {
1736
1979
  var node = this.startNode();
1737
1980
  this.next();
1738
1981
  node.argument = this.parseMaybeAssign(false, refDestructuringErrors);
1739
1982
  return this.finishNode(node, "SpreadElement")
1740
1983
  };
1741
1984
 
1742
- pp$2.parseRestBinding = function() {
1985
+ pp$7.parseRestBinding = function() {
1743
1986
  var node = this.startNode();
1744
1987
  this.next();
1745
1988
 
1746
1989
  // RestElement inside of a function parameter must be an identifier
1747
- if (this.options.ecmaVersion === 6 && this.type !== types.name)
1990
+ if (this.options.ecmaVersion === 6 && this.type !== types$1.name)
1748
1991
  { this.unexpected(); }
1749
1992
 
1750
1993
  node.argument = this.parseBindingAtom();
@@ -1754,36 +1997,36 @@ pp$2.parseRestBinding = function() {
1754
1997
 
1755
1998
  // Parses lvalue (assignable) atom.
1756
1999
 
1757
- pp$2.parseBindingAtom = function() {
2000
+ pp$7.parseBindingAtom = function() {
1758
2001
  if (this.options.ecmaVersion >= 6) {
1759
2002
  switch (this.type) {
1760
- case types.bracketL:
2003
+ case types$1.bracketL:
1761
2004
  var node = this.startNode();
1762
2005
  this.next();
1763
- node.elements = this.parseBindingList(types.bracketR, true, true);
2006
+ node.elements = this.parseBindingList(types$1.bracketR, true, true);
1764
2007
  return this.finishNode(node, "ArrayPattern")
1765
2008
 
1766
- case types.braceL:
2009
+ case types$1.braceL:
1767
2010
  return this.parseObj(true)
1768
2011
  }
1769
2012
  }
1770
2013
  return this.parseIdent()
1771
2014
  };
1772
2015
 
1773
- pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
2016
+ pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
1774
2017
  var elts = [], first = true;
1775
2018
  while (!this.eat(close)) {
1776
2019
  if (first) { first = false; }
1777
- else { this.expect(types.comma); }
1778
- if (allowEmpty && this.type === types.comma) {
2020
+ else { this.expect(types$1.comma); }
2021
+ if (allowEmpty && this.type === types$1.comma) {
1779
2022
  elts.push(null);
1780
2023
  } else if (allowTrailingComma && this.afterTrailingComma(close)) {
1781
2024
  break
1782
- } else if (this.type === types.ellipsis) {
2025
+ } else if (this.type === types$1.ellipsis) {
1783
2026
  var rest = this.parseRestBinding();
1784
2027
  this.parseBindingListItem(rest);
1785
2028
  elts.push(rest);
1786
- if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2029
+ if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
1787
2030
  this.expect(close);
1788
2031
  break
1789
2032
  } else {
@@ -1795,43 +2038,104 @@ pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
1795
2038
  return elts
1796
2039
  };
1797
2040
 
1798
- pp$2.parseBindingListItem = function(param) {
2041
+ pp$7.parseBindingListItem = function(param) {
1799
2042
  return param
1800
2043
  };
1801
2044
 
1802
2045
  // Parses assignment pattern around given atom if possible.
1803
2046
 
1804
- pp$2.parseMaybeDefault = function(startPos, startLoc, left) {
2047
+ pp$7.parseMaybeDefault = function(startPos, startLoc, left) {
1805
2048
  left = left || this.parseBindingAtom();
1806
- if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }
2049
+ if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left }
1807
2050
  var node = this.startNodeAt(startPos, startLoc);
1808
2051
  node.left = left;
1809
2052
  node.right = this.parseMaybeAssign();
1810
2053
  return this.finishNode(node, "AssignmentPattern")
1811
2054
  };
1812
2055
 
1813
- // Verify that a node is an lval something that can be assigned
1814
- // to.
1815
- // bindingType can be either:
1816
- // 'var' indicating that the lval creates a 'var' binding
1817
- // 'let' indicating that the lval creates a lexical ('let' or 'const') binding
1818
- // 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references
2056
+ // The following three functions all verify that a node is an lvalue
2057
+ // something that can be bound, or assigned to. In order to do so, they perform
2058
+ // a variety of checks:
2059
+ //
2060
+ // - Check that none of the bound/assigned-to identifiers are reserved words.
2061
+ // - Record name declarations for bindings in the appropriate scope.
2062
+ // - Check duplicate argument names, if checkClashes is set.
2063
+ //
2064
+ // If a complex binding pattern is encountered (e.g., object and array
2065
+ // destructuring), the entire pattern is recursively checked.
2066
+ //
2067
+ // There are three versions of checkLVal*() appropriate for different
2068
+ // circumstances:
2069
+ //
2070
+ // - checkLValSimple() shall be used if the syntactic construct supports
2071
+ // nothing other than identifiers and member expressions. Parenthesized
2072
+ // expressions are also correctly handled. This is generally appropriate for
2073
+ // constructs for which the spec says
2074
+ //
2075
+ // > It is a Syntax Error if AssignmentTargetType of [the production] is not
2076
+ // > simple.
2077
+ //
2078
+ // It is also appropriate for checking if an identifier is valid and not
2079
+ // defined elsewhere, like import declarations or function/class identifiers.
2080
+ //
2081
+ // Examples where this is used include:
2082
+ // a += …;
2083
+ // import a from '…';
2084
+ // where a is the node to be checked.
2085
+ //
2086
+ // - checkLValPattern() shall be used if the syntactic construct supports
2087
+ // anything checkLValSimple() supports, as well as object and array
2088
+ // destructuring patterns. This is generally appropriate for constructs for
2089
+ // which the spec says
2090
+ //
2091
+ // > It is a Syntax Error if [the production] is neither an ObjectLiteral nor
2092
+ // > an ArrayLiteral and AssignmentTargetType of [the production] is not
2093
+ // > simple.
2094
+ //
2095
+ // Examples where this is used include:
2096
+ // (a = …);
2097
+ // const a = …;
2098
+ // try { … } catch (a) { … }
2099
+ // where a is the node to be checked.
2100
+ //
2101
+ // - checkLValInnerPattern() shall be used if the syntactic construct supports
2102
+ // anything checkLValPattern() supports, as well as default assignment
2103
+ // patterns, rest elements, and other constructs that may appear within an
2104
+ // object or array destructuring pattern.
2105
+ //
2106
+ // As a special case, function parameters also use checkLValInnerPattern(),
2107
+ // as they also support defaults and rest constructs.
2108
+ //
2109
+ // These functions deliberately support both assignment and binding constructs,
2110
+ // as the logic for both is exceedingly similar. If the node is the target of
2111
+ // an assignment, then bindingType should be set to BIND_NONE. Otherwise, it
2112
+ // should be set to the appropriate BIND_* constant, like BIND_VAR or
2113
+ // BIND_LEXICAL.
2114
+ //
2115
+ // If the function is called with a non-BIND_NONE bindingType, then
2116
+ // additionally a checkClashes object may be specified to allow checking for
2117
+ // duplicate argument names. checkClashes is ignored if the provided construct
2118
+ // is an assignment (i.e., bindingType is BIND_NONE).
1819
2119
 
1820
- pp$2.checkLVal = function(expr, bindingType, checkClashes) {
2120
+ pp$7.checkLValSimple = function(expr, bindingType, checkClashes) {
1821
2121
  if ( bindingType === void 0 ) bindingType = BIND_NONE;
1822
2122
 
2123
+ var isBind = bindingType !== BIND_NONE;
2124
+
1823
2125
  switch (expr.type) {
1824
2126
  case "Identifier":
1825
- if (bindingType === BIND_LEXICAL && expr.name === "let")
1826
- { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
1827
2127
  if (this.strict && this.reservedWordsStrictBind.test(expr.name))
1828
- { this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
1829
- if (checkClashes) {
1830
- if (has(checkClashes, expr.name))
1831
- { this.raiseRecoverable(expr.start, "Argument name clash"); }
1832
- checkClashes[expr.name] = true;
2128
+ { this.raiseRecoverable(expr.start, (isBind ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
2129
+ if (isBind) {
2130
+ if (bindingType === BIND_LEXICAL && expr.name === "let")
2131
+ { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
2132
+ if (checkClashes) {
2133
+ if (hasOwn(checkClashes, expr.name))
2134
+ { this.raiseRecoverable(expr.start, "Argument name clash"); }
2135
+ checkClashes[expr.name] = true;
2136
+ }
2137
+ if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
1833
2138
  }
1834
- if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
1835
2139
  break
1836
2140
 
1837
2141
  case "ChainExpression":
@@ -1839,58 +2143,230 @@ pp$2.checkLVal = function(expr, bindingType, checkClashes) {
1839
2143
  break
1840
2144
 
1841
2145
  case "MemberExpression":
1842
- if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); }
2146
+ if (isBind) { this.raiseRecoverable(expr.start, "Binding member expression"); }
1843
2147
  break
1844
2148
 
1845
- case "ObjectPattern":
1846
- for (var i = 0, list = expr.properties; i < list.length; i += 1)
1847
- {
1848
- var prop = list[i];
2149
+ case "ParenthesizedExpression":
2150
+ if (isBind) { this.raiseRecoverable(expr.start, "Binding parenthesized expression"); }
2151
+ return this.checkLValSimple(expr.expression, bindingType, checkClashes)
1849
2152
 
1850
- this.checkLVal(prop, bindingType, checkClashes);
2153
+ default:
2154
+ this.raise(expr.start, (isBind ? "Binding" : "Assigning to") + " rvalue");
1851
2155
  }
1852
- break
2156
+ };
1853
2157
 
1854
- case "Property":
1855
- // AssignmentProperty has type === "Property"
1856
- this.checkLVal(expr.value, bindingType, checkClashes);
2158
+ pp$7.checkLValPattern = function(expr, bindingType, checkClashes) {
2159
+ if ( bindingType === void 0 ) bindingType = BIND_NONE;
2160
+
2161
+ switch (expr.type) {
2162
+ case "ObjectPattern":
2163
+ for (var i = 0, list = expr.properties; i < list.length; i += 1) {
2164
+ var prop = list[i];
2165
+
2166
+ this.checkLValInnerPattern(prop, bindingType, checkClashes);
2167
+ }
1857
2168
  break
1858
2169
 
1859
2170
  case "ArrayPattern":
1860
2171
  for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {
1861
2172
  var elem = list$1[i$1];
1862
2173
 
1863
- if (elem) { this.checkLVal(elem, bindingType, checkClashes); }
2174
+ if (elem) { this.checkLValInnerPattern(elem, bindingType, checkClashes); }
1864
2175
  }
1865
2176
  break
1866
2177
 
1867
- case "AssignmentPattern":
1868
- this.checkLVal(expr.left, bindingType, checkClashes);
2178
+ default:
2179
+ this.checkLValSimple(expr, bindingType, checkClashes);
2180
+ }
2181
+ };
2182
+
2183
+ pp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) {
2184
+ if ( bindingType === void 0 ) bindingType = BIND_NONE;
2185
+
2186
+ switch (expr.type) {
2187
+ case "Property":
2188
+ // AssignmentProperty has type === "Property"
2189
+ this.checkLValInnerPattern(expr.value, bindingType, checkClashes);
1869
2190
  break
1870
2191
 
1871
- case "RestElement":
1872
- this.checkLVal(expr.argument, bindingType, checkClashes);
2192
+ case "AssignmentPattern":
2193
+ this.checkLValPattern(expr.left, bindingType, checkClashes);
1873
2194
  break
1874
2195
 
1875
- case "ParenthesizedExpression":
1876
- this.checkLVal(expr.expression, bindingType, checkClashes);
2196
+ case "RestElement":
2197
+ this.checkLValPattern(expr.argument, bindingType, checkClashes);
1877
2198
  break
1878
2199
 
1879
2200
  default:
1880
- this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue");
2201
+ this.checkLValPattern(expr, bindingType, checkClashes);
1881
2202
  }
1882
2203
  };
1883
2204
 
2205
+ // The algorithm used to determine whether a regexp can appear at a
2206
+
2207
+ var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
2208
+ this.token = token;
2209
+ this.isExpr = !!isExpr;
2210
+ this.preserveSpace = !!preserveSpace;
2211
+ this.override = override;
2212
+ this.generator = !!generator;
2213
+ };
2214
+
2215
+ var types = {
2216
+ b_stat: new TokContext("{", false),
2217
+ b_expr: new TokContext("{", true),
2218
+ b_tmpl: new TokContext("${", false),
2219
+ p_stat: new TokContext("(", false),
2220
+ p_expr: new TokContext("(", true),
2221
+ q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
2222
+ f_stat: new TokContext("function", false),
2223
+ f_expr: new TokContext("function", true),
2224
+ f_expr_gen: new TokContext("function", true, false, null, true),
2225
+ f_gen: new TokContext("function", false, false, null, true)
2226
+ };
2227
+
2228
+ var pp$6 = Parser.prototype;
2229
+
2230
+ pp$6.initialContext = function() {
2231
+ return [types.b_stat]
2232
+ };
2233
+
2234
+ pp$6.curContext = function() {
2235
+ return this.context[this.context.length - 1]
2236
+ };
2237
+
2238
+ pp$6.braceIsBlock = function(prevType) {
2239
+ var parent = this.curContext();
2240
+ if (parent === types.f_expr || parent === types.f_stat)
2241
+ { return true }
2242
+ if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr))
2243
+ { return !parent.isExpr }
2244
+
2245
+ // The check for `tt.name && exprAllowed` detects whether we are
2246
+ // after a `yield` or `of` construct. See the `updateContext` for
2247
+ // `tt.name`.
2248
+ if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed)
2249
+ { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
2250
+ if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow)
2251
+ { return true }
2252
+ if (prevType === types$1.braceL)
2253
+ { return parent === types.b_stat }
2254
+ if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name)
2255
+ { return false }
2256
+ return !this.exprAllowed
2257
+ };
2258
+
2259
+ pp$6.inGeneratorContext = function() {
2260
+ for (var i = this.context.length - 1; i >= 1; i--) {
2261
+ var context = this.context[i];
2262
+ if (context.token === "function")
2263
+ { return context.generator }
2264
+ }
2265
+ return false
2266
+ };
2267
+
2268
+ pp$6.updateContext = function(prevType) {
2269
+ var update, type = this.type;
2270
+ if (type.keyword && prevType === types$1.dot)
2271
+ { this.exprAllowed = false; }
2272
+ else if (update = type.updateContext)
2273
+ { update.call(this, prevType); }
2274
+ else
2275
+ { this.exprAllowed = type.beforeExpr; }
2276
+ };
2277
+
2278
+ // Used to handle egde cases when token context could not be inferred correctly during tokenization phase
2279
+
2280
+ pp$6.overrideContext = function(tokenCtx) {
2281
+ if (this.curContext() !== tokenCtx) {
2282
+ this.context[this.context.length - 1] = tokenCtx;
2283
+ }
2284
+ };
2285
+
2286
+ // Token-specific context update code
2287
+
2288
+ types$1.parenR.updateContext = types$1.braceR.updateContext = function() {
2289
+ if (this.context.length === 1) {
2290
+ this.exprAllowed = true;
2291
+ return
2292
+ }
2293
+ var out = this.context.pop();
2294
+ if (out === types.b_stat && this.curContext().token === "function") {
2295
+ out = this.context.pop();
2296
+ }
2297
+ this.exprAllowed = !out.isExpr;
2298
+ };
2299
+
2300
+ types$1.braceL.updateContext = function(prevType) {
2301
+ this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);
2302
+ this.exprAllowed = true;
2303
+ };
2304
+
2305
+ types$1.dollarBraceL.updateContext = function() {
2306
+ this.context.push(types.b_tmpl);
2307
+ this.exprAllowed = true;
2308
+ };
2309
+
2310
+ types$1.parenL.updateContext = function(prevType) {
2311
+ var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while;
2312
+ this.context.push(statementParens ? types.p_stat : types.p_expr);
2313
+ this.exprAllowed = true;
2314
+ };
2315
+
2316
+ types$1.incDec.updateContext = function() {
2317
+ // tokExprAllowed stays unchanged
2318
+ };
2319
+
2320
+ types$1._function.updateContext = types$1._class.updateContext = function(prevType) {
2321
+ if (prevType.beforeExpr && prevType !== types$1._else &&
2322
+ !(prevType === types$1.semi && this.curContext() !== types.p_stat) &&
2323
+ !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
2324
+ !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat))
2325
+ { this.context.push(types.f_expr); }
2326
+ else
2327
+ { this.context.push(types.f_stat); }
2328
+ this.exprAllowed = false;
2329
+ };
2330
+
2331
+ types$1.backQuote.updateContext = function() {
2332
+ if (this.curContext() === types.q_tmpl)
2333
+ { this.context.pop(); }
2334
+ else
2335
+ { this.context.push(types.q_tmpl); }
2336
+ this.exprAllowed = false;
2337
+ };
2338
+
2339
+ types$1.star.updateContext = function(prevType) {
2340
+ if (prevType === types$1._function) {
2341
+ var index = this.context.length - 1;
2342
+ if (this.context[index] === types.f_expr)
2343
+ { this.context[index] = types.f_expr_gen; }
2344
+ else
2345
+ { this.context[index] = types.f_gen; }
2346
+ }
2347
+ this.exprAllowed = true;
2348
+ };
2349
+
2350
+ types$1.name.updateContext = function(prevType) {
2351
+ var allowed = false;
2352
+ if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) {
2353
+ if (this.value === "of" && !this.exprAllowed ||
2354
+ this.value === "yield" && this.inGeneratorContext())
2355
+ { allowed = true; }
2356
+ }
2357
+ this.exprAllowed = allowed;
2358
+ };
2359
+
1884
2360
  // A recursive descent parser operates by defining functions for all
1885
2361
 
1886
- var pp$3 = Parser.prototype;
2362
+ var pp$5 = Parser.prototype;
1887
2363
 
1888
2364
  // Check if property name clashes with already added.
1889
2365
  // Object/class getters and setters are not allowed to clash —
1890
2366
  // either with each other or with an init property — and in
1891
2367
  // strict mode, init properties are also not allowed to be repeated.
1892
2368
 
1893
- pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
2369
+ pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
1894
2370
  if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
1895
2371
  { return }
1896
2372
  if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
@@ -1907,10 +2383,12 @@ pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
1907
2383
  if (name === "__proto__" && kind === "init") {
1908
2384
  if (propHash.proto) {
1909
2385
  if (refDestructuringErrors) {
1910
- if (refDestructuringErrors.doubleProto < 0)
1911
- { refDestructuringErrors.doubleProto = key.start; }
1912
- // Backwards-compat kludge. Can be removed in version 6.0
1913
- } else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); }
2386
+ if (refDestructuringErrors.doubleProto < 0) {
2387
+ refDestructuringErrors.doubleProto = key.start;
2388
+ }
2389
+ } else {
2390
+ this.raiseRecoverable(key.start, "Redefinition of __proto__ property");
2391
+ }
1914
2392
  }
1915
2393
  propHash.proto = true;
1916
2394
  }
@@ -1952,13 +2430,13 @@ pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
1952
2430
  // and object pattern might appear (so it's possible to raise
1953
2431
  // delayed syntax error at correct position).
1954
2432
 
1955
- pp$3.parseExpression = function(noIn, refDestructuringErrors) {
2433
+ pp$5.parseExpression = function(forInit, refDestructuringErrors) {
1956
2434
  var startPos = this.start, startLoc = this.startLoc;
1957
- var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);
1958
- if (this.type === types.comma) {
2435
+ var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
2436
+ if (this.type === types$1.comma) {
1959
2437
  var node = this.startNodeAt(startPos, startLoc);
1960
2438
  node.expressions = [expr];
1961
- while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); }
2439
+ while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
1962
2440
  return this.finishNode(node, "SequenceExpression")
1963
2441
  }
1964
2442
  return expr
@@ -1967,18 +2445,19 @@ pp$3.parseExpression = function(noIn, refDestructuringErrors) {
1967
2445
  // Parse an assignment expression. This includes applications of
1968
2446
  // operators like `+=`.
1969
2447
 
1970
- pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
2448
+ pp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) {
1971
2449
  if (this.isContextual("yield")) {
1972
- if (this.inGenerator) { return this.parseYield(noIn) }
2450
+ if (this.inGenerator) { return this.parseYield(forInit) }
1973
2451
  // The tokenizer will assume an expression is allowed after
1974
2452
  // `yield`, but this isn't that kind of yield
1975
2453
  else { this.exprAllowed = false; }
1976
2454
  }
1977
2455
 
1978
- var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1;
2456
+ var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldDoubleProto = -1;
1979
2457
  if (refDestructuringErrors) {
1980
2458
  oldParenAssign = refDestructuringErrors.parenthesizedAssign;
1981
2459
  oldTrailingComma = refDestructuringErrors.trailingComma;
2460
+ oldDoubleProto = refDestructuringErrors.doubleProto;
1982
2461
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;
1983
2462
  } else {
1984
2463
  refDestructuringErrors = new DestructuringErrors;
@@ -1986,22 +2465,30 @@ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
1986
2465
  }
1987
2466
 
1988
2467
  var startPos = this.start, startLoc = this.startLoc;
1989
- if (this.type === types.parenL || this.type === types.name)
1990
- { this.potentialArrowAt = this.start; }
1991
- var left = this.parseMaybeConditional(noIn, refDestructuringErrors);
2468
+ if (this.type === types$1.parenL || this.type === types$1.name) {
2469
+ this.potentialArrowAt = this.start;
2470
+ this.potentialArrowInForAwait = forInit === "await";
2471
+ }
2472
+ var left = this.parseMaybeConditional(forInit, refDestructuringErrors);
1992
2473
  if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }
1993
2474
  if (this.type.isAssign) {
1994
2475
  var node = this.startNodeAt(startPos, startLoc);
1995
2476
  node.operator = this.value;
1996
- node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;
2477
+ if (this.type === types$1.eq)
2478
+ { left = this.toAssignable(left, false, refDestructuringErrors); }
1997
2479
  if (!ownDestructuringErrors) {
1998
2480
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;
1999
2481
  }
2000
- if (refDestructuringErrors.shorthandAssign >= node.left.start)
2482
+ if (refDestructuringErrors.shorthandAssign >= left.start)
2001
2483
  { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly
2002
- this.checkLVal(left);
2484
+ if (this.type === types$1.eq)
2485
+ { this.checkLValPattern(left); }
2486
+ else
2487
+ { this.checkLValSimple(left); }
2488
+ node.left = left;
2003
2489
  this.next();
2004
- node.right = this.parseMaybeAssign(noIn);
2490
+ node.right = this.parseMaybeAssign(forInit);
2491
+ if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; }
2005
2492
  return this.finishNode(node, "AssignmentExpression")
2006
2493
  } else {
2007
2494
  if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }
@@ -2013,16 +2500,16 @@ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
2013
2500
 
2014
2501
  // Parse a ternary conditional (`?:`) operator.
2015
2502
 
2016
- pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
2503
+ pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
2017
2504
  var startPos = this.start, startLoc = this.startLoc;
2018
- var expr = this.parseExprOps(noIn, refDestructuringErrors);
2505
+ var expr = this.parseExprOps(forInit, refDestructuringErrors);
2019
2506
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2020
- if (this.eat(types.question)) {
2507
+ if (this.eat(types$1.question)) {
2021
2508
  var node = this.startNodeAt(startPos, startLoc);
2022
2509
  node.test = expr;
2023
2510
  node.consequent = this.parseMaybeAssign();
2024
- this.expect(types.colon);
2025
- node.alternate = this.parseMaybeAssign(noIn);
2511
+ this.expect(types$1.colon);
2512
+ node.alternate = this.parseMaybeAssign(forInit);
2026
2513
  return this.finishNode(node, "ConditionalExpression")
2027
2514
  }
2028
2515
  return expr
@@ -2030,11 +2517,11 @@ pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
2030
2517
 
2031
2518
  // Start the precedence parser.
2032
2519
 
2033
- pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
2520
+ pp$5.parseExprOps = function(forInit, refDestructuringErrors) {
2034
2521
  var startPos = this.start, startLoc = this.startLoc;
2035
- var expr = this.parseMaybeUnary(refDestructuringErrors, false);
2522
+ var expr = this.parseMaybeUnary(refDestructuringErrors, false, false, forInit);
2036
2523
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2037
- return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)
2524
+ return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, forInit)
2038
2525
  };
2039
2526
 
2040
2527
  // Parse binary operators with the operator precedence parsing
@@ -2043,32 +2530,33 @@ pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
2043
2530
  // defer further parser to one of its callers when it encounters an
2044
2531
  // operator that has a lower precedence than the set it is parsing.
2045
2532
 
2046
- pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
2533
+ pp$5.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, forInit) {
2047
2534
  var prec = this.type.binop;
2048
- if (prec != null && (!noIn || this.type !== types._in)) {
2535
+ if (prec != null && (!forInit || this.type !== types$1._in)) {
2049
2536
  if (prec > minPrec) {
2050
- var logical = this.type === types.logicalOR || this.type === types.logicalAND;
2051
- var coalesce = this.type === types.coalesce;
2537
+ var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND;
2538
+ var coalesce = this.type === types$1.coalesce;
2052
2539
  if (coalesce) {
2053
2540
  // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.
2054
2541
  // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.
2055
- prec = types.logicalAND.binop;
2542
+ prec = types$1.logicalAND.binop;
2056
2543
  }
2057
2544
  var op = this.value;
2058
2545
  this.next();
2059
2546
  var startPos = this.start, startLoc = this.startLoc;
2060
- var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);
2547
+ var right = this.parseExprOp(this.parseMaybeUnary(null, false, false, forInit), startPos, startLoc, prec, forInit);
2061
2548
  var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce);
2062
- if ((logical && this.type === types.coalesce) || (coalesce && (this.type === types.logicalOR || this.type === types.logicalAND))) {
2549
+ if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) {
2063
2550
  this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses");
2064
2551
  }
2065
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
2552
+ return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, forInit)
2066
2553
  }
2067
2554
  }
2068
2555
  return left
2069
2556
  };
2070
2557
 
2071
- pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
2558
+ pp$5.buildBinary = function(startPos, startLoc, left, right, op, logical) {
2559
+ if (right.type === "PrivateIdentifier") { this.raise(right.start, "Private identifier can only be left side of binary expression"); }
2072
2560
  var node = this.startNodeAt(startPos, startLoc);
2073
2561
  node.left = left;
2074
2562
  node.operator = op;
@@ -2078,67 +2566,86 @@ pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
2078
2566
 
2079
2567
  // Parse unary operators, both prefix and postfix.
2080
2568
 
2081
- pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {
2569
+ pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forInit) {
2082
2570
  var startPos = this.start, startLoc = this.startLoc, expr;
2083
- if (this.isContextual("await") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {
2084
- expr = this.parseAwait();
2571
+ if (this.isContextual("await") && this.canAwait) {
2572
+ expr = this.parseAwait(forInit);
2085
2573
  sawUnary = true;
2086
2574
  } else if (this.type.prefix) {
2087
- var node = this.startNode(), update = this.type === types.incDec;
2575
+ var node = this.startNode(), update = this.type === types$1.incDec;
2088
2576
  node.operator = this.value;
2089
2577
  node.prefix = true;
2090
2578
  this.next();
2091
- node.argument = this.parseMaybeUnary(null, true);
2579
+ node.argument = this.parseMaybeUnary(null, true, update, forInit);
2092
2580
  this.checkExpressionErrors(refDestructuringErrors, true);
2093
- if (update) { this.checkLVal(node.argument); }
2581
+ if (update) { this.checkLValSimple(node.argument); }
2094
2582
  else if (this.strict && node.operator === "delete" &&
2095
2583
  node.argument.type === "Identifier")
2096
2584
  { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); }
2585
+ else if (node.operator === "delete" && isPrivateFieldAccess(node.argument))
2586
+ { this.raiseRecoverable(node.start, "Private fields can not be deleted"); }
2097
2587
  else { sawUnary = true; }
2098
2588
  expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
2589
+ } else if (!sawUnary && this.type === types$1.privateId) {
2590
+ if (forInit || this.privateNameStack.length === 0) { this.unexpected(); }
2591
+ expr = this.parsePrivateIdent();
2592
+ // only could be private fields in 'in', such as #x in obj
2593
+ if (this.type !== types$1._in) { this.unexpected(); }
2099
2594
  } else {
2100
- expr = this.parseExprSubscripts(refDestructuringErrors);
2595
+ expr = this.parseExprSubscripts(refDestructuringErrors, forInit);
2101
2596
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2102
2597
  while (this.type.postfix && !this.canInsertSemicolon()) {
2103
2598
  var node$1 = this.startNodeAt(startPos, startLoc);
2104
2599
  node$1.operator = this.value;
2105
2600
  node$1.prefix = false;
2106
2601
  node$1.argument = expr;
2107
- this.checkLVal(expr);
2602
+ this.checkLValSimple(expr);
2108
2603
  this.next();
2109
2604
  expr = this.finishNode(node$1, "UpdateExpression");
2110
2605
  }
2111
2606
  }
2112
2607
 
2113
- if (!sawUnary && this.eat(types.starstar))
2114
- { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false) }
2115
- else
2116
- { return expr }
2608
+ if (!incDec && this.eat(types$1.starstar)) {
2609
+ if (sawUnary)
2610
+ { this.unexpected(this.lastTokStart); }
2611
+ else
2612
+ { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false, false, forInit), "**", false) }
2613
+ } else {
2614
+ return expr
2615
+ }
2117
2616
  };
2118
2617
 
2618
+ function isPrivateFieldAccess(node) {
2619
+ return (
2620
+ node.type === "MemberExpression" && node.property.type === "PrivateIdentifier" ||
2621
+ node.type === "ChainExpression" && isPrivateFieldAccess(node.expression)
2622
+ )
2623
+ }
2624
+
2119
2625
  // Parse call, dot, and `[]`-subscript expressions.
2120
2626
 
2121
- pp$3.parseExprSubscripts = function(refDestructuringErrors) {
2627
+ pp$5.parseExprSubscripts = function(refDestructuringErrors, forInit) {
2122
2628
  var startPos = this.start, startLoc = this.startLoc;
2123
- var expr = this.parseExprAtom(refDestructuringErrors);
2629
+ var expr = this.parseExprAtom(refDestructuringErrors, forInit);
2124
2630
  if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")")
2125
2631
  { return expr }
2126
- var result = this.parseSubscripts(expr, startPos, startLoc);
2632
+ var result = this.parseSubscripts(expr, startPos, startLoc, false, forInit);
2127
2633
  if (refDestructuringErrors && result.type === "MemberExpression") {
2128
2634
  if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }
2129
2635
  if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }
2636
+ if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; }
2130
2637
  }
2131
2638
  return result
2132
2639
  };
2133
2640
 
2134
- pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
2641
+ pp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) {
2135
2642
  var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&
2136
2643
  this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&
2137
2644
  this.potentialArrowAt === base.start;
2138
2645
  var optionalChained = false;
2139
2646
 
2140
2647
  while (true) {
2141
- var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained);
2648
+ var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit);
2142
2649
 
2143
2650
  if (element.optional) { optionalChained = true; }
2144
2651
  if (element === base || element.type === "ArrowFunctionExpression") {
@@ -2154,29 +2661,35 @@ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
2154
2661
  }
2155
2662
  };
2156
2663
 
2157
- pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained) {
2664
+ pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {
2158
2665
  var optionalSupported = this.options.ecmaVersion >= 11;
2159
- var optional = optionalSupported && this.eat(types.questionDot);
2666
+ var optional = optionalSupported && this.eat(types$1.questionDot);
2160
2667
  if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); }
2161
2668
 
2162
- var computed = this.eat(types.bracketL);
2163
- if (computed || (optional && this.type !== types.parenL && this.type !== types.backQuote) || this.eat(types.dot)) {
2669
+ var computed = this.eat(types$1.bracketL);
2670
+ if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) {
2164
2671
  var node = this.startNodeAt(startPos, startLoc);
2165
2672
  node.object = base;
2166
- node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never");
2673
+ if (computed) {
2674
+ node.property = this.parseExpression();
2675
+ this.expect(types$1.bracketR);
2676
+ } else if (this.type === types$1.privateId && base.type !== "Super") {
2677
+ node.property = this.parsePrivateIdent();
2678
+ } else {
2679
+ node.property = this.parseIdent(this.options.allowReserved !== "never");
2680
+ }
2167
2681
  node.computed = !!computed;
2168
- if (computed) { this.expect(types.bracketR); }
2169
2682
  if (optionalSupported) {
2170
2683
  node.optional = optional;
2171
2684
  }
2172
2685
  base = this.finishNode(node, "MemberExpression");
2173
- } else if (!noCalls && this.eat(types.parenL)) {
2686
+ } else if (!noCalls && this.eat(types$1.parenL)) {
2174
2687
  var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2175
2688
  this.yieldPos = 0;
2176
2689
  this.awaitPos = 0;
2177
2690
  this.awaitIdentPos = 0;
2178
- var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
2179
- if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types.arrow)) {
2691
+ var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
2692
+ if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
2180
2693
  this.checkPatternErrors(refDestructuringErrors, false);
2181
2694
  this.checkYieldAwaitInDefaultParams();
2182
2695
  if (this.awaitIdentPos > 0)
@@ -2184,7 +2697,7 @@ pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
2184
2697
  this.yieldPos = oldYieldPos;
2185
2698
  this.awaitPos = oldAwaitPos;
2186
2699
  this.awaitIdentPos = oldAwaitIdentPos;
2187
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)
2700
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
2188
2701
  }
2189
2702
  this.checkExpressionErrors(refDestructuringErrors, true);
2190
2703
  this.yieldPos = oldYieldPos || this.yieldPos;
@@ -2197,7 +2710,7 @@ pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
2197
2710
  node$1.optional = optional;
2198
2711
  }
2199
2712
  base = this.finishNode(node$1, "CallExpression");
2200
- } else if (this.type === types.backQuote) {
2713
+ } else if (this.type === types$1.backQuote) {
2201
2714
  if (optional || optionalChained) {
2202
2715
  this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
2203
2716
  }
@@ -2214,19 +2727,19 @@ pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
2214
2727
  // `new`, or an expression wrapped in punctuation like `()`, `[]`,
2215
2728
  // or `{}`.
2216
2729
 
2217
- pp$3.parseExprAtom = function(refDestructuringErrors) {
2730
+ pp$5.parseExprAtom = function(refDestructuringErrors, forInit) {
2218
2731
  // If a division operator appears in an expression position, the
2219
2732
  // tokenizer got confused, and we force it to read a regexp instead.
2220
- if (this.type === types.slash) { this.readRegexp(); }
2733
+ if (this.type === types$1.slash) { this.readRegexp(); }
2221
2734
 
2222
2735
  var node, canBeArrow = this.potentialArrowAt === this.start;
2223
2736
  switch (this.type) {
2224
- case types._super:
2737
+ case types$1._super:
2225
2738
  if (!this.allowSuper)
2226
2739
  { this.raise(this.start, "'super' keyword outside a method"); }
2227
2740
  node = this.startNode();
2228
2741
  this.next();
2229
- if (this.type === types.parenL && !this.allowDirectSuper)
2742
+ if (this.type === types$1.parenL && !this.allowDirectSuper)
2230
2743
  { this.raise(node.start, "super() call outside constructor of a subclass"); }
2231
2744
  // The `super` keyword can appear at below:
2232
2745
  // SuperProperty:
@@ -2234,50 +2747,53 @@ pp$3.parseExprAtom = function(refDestructuringErrors) {
2234
2747
  // super . IdentifierName
2235
2748
  // SuperCall:
2236
2749
  // super ( Arguments )
2237
- if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)
2750
+ if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL)
2238
2751
  { this.unexpected(); }
2239
2752
  return this.finishNode(node, "Super")
2240
2753
 
2241
- case types._this:
2754
+ case types$1._this:
2242
2755
  node = this.startNode();
2243
2756
  this.next();
2244
2757
  return this.finishNode(node, "ThisExpression")
2245
2758
 
2246
- case types.name:
2759
+ case types$1.name:
2247
2760
  var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;
2248
2761
  var id = this.parseIdent(false);
2249
- if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function))
2250
- { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) }
2762
+ if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types$1._function)) {
2763
+ this.overrideContext(types.f_expr);
2764
+ return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true, forInit)
2765
+ }
2251
2766
  if (canBeArrow && !this.canInsertSemicolon()) {
2252
- if (this.eat(types.arrow))
2253
- { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }
2254
- if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) {
2767
+ if (this.eat(types$1.arrow))
2768
+ { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false, forInit) }
2769
+ if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types$1.name && !containsEsc &&
2770
+ (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) {
2255
2771
  id = this.parseIdent(false);
2256
- if (this.canInsertSemicolon() || !this.eat(types.arrow))
2772
+ if (this.canInsertSemicolon() || !this.eat(types$1.arrow))
2257
2773
  { this.unexpected(); }
2258
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)
2774
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true, forInit)
2259
2775
  }
2260
2776
  }
2261
2777
  return id
2262
2778
 
2263
- case types.regexp:
2779
+ case types$1.regexp:
2264
2780
  var value = this.value;
2265
2781
  node = this.parseLiteral(value.value);
2266
2782
  node.regex = {pattern: value.pattern, flags: value.flags};
2267
2783
  return node
2268
2784
 
2269
- case types.num: case types.string:
2785
+ case types$1.num: case types$1.string:
2270
2786
  return this.parseLiteral(this.value)
2271
2787
 
2272
- case types._null: case types._true: case types._false:
2788
+ case types$1._null: case types$1._true: case types$1._false:
2273
2789
  node = this.startNode();
2274
- node.value = this.type === types._null ? null : this.type === types._true;
2790
+ node.value = this.type === types$1._null ? null : this.type === types$1._true;
2275
2791
  node.raw = this.type.keyword;
2276
2792
  this.next();
2277
2793
  return this.finishNode(node, "Literal")
2278
2794
 
2279
- case types.parenL:
2280
- var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);
2795
+ case types$1.parenL:
2796
+ var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow, forInit);
2281
2797
  if (refDestructuringErrors) {
2282
2798
  if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))
2283
2799
  { refDestructuringErrors.parenthesizedAssign = start; }
@@ -2286,30 +2802,31 @@ pp$3.parseExprAtom = function(refDestructuringErrors) {
2286
2802
  }
2287
2803
  return expr
2288
2804
 
2289
- case types.bracketL:
2805
+ case types$1.bracketL:
2290
2806
  node = this.startNode();
2291
2807
  this.next();
2292
- node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);
2808
+ node.elements = this.parseExprList(types$1.bracketR, true, true, refDestructuringErrors);
2293
2809
  return this.finishNode(node, "ArrayExpression")
2294
2810
 
2295
- case types.braceL:
2811
+ case types$1.braceL:
2812
+ this.overrideContext(types.b_expr);
2296
2813
  return this.parseObj(false, refDestructuringErrors)
2297
2814
 
2298
- case types._function:
2815
+ case types$1._function:
2299
2816
  node = this.startNode();
2300
2817
  this.next();
2301
2818
  return this.parseFunction(node, 0)
2302
2819
 
2303
- case types._class:
2820
+ case types$1._class:
2304
2821
  return this.parseClass(this.startNode(), false)
2305
2822
 
2306
- case types._new:
2823
+ case types$1._new:
2307
2824
  return this.parseNew()
2308
2825
 
2309
- case types.backQuote:
2826
+ case types$1.backQuote:
2310
2827
  return this.parseTemplate()
2311
2828
 
2312
- case types._import:
2829
+ case types$1._import:
2313
2830
  if (this.options.ecmaVersion >= 11) {
2314
2831
  return this.parseExprImport()
2315
2832
  } else {
@@ -2321,7 +2838,7 @@ pp$3.parseExprAtom = function(refDestructuringErrors) {
2321
2838
  }
2322
2839
  };
2323
2840
 
2324
- pp$3.parseExprImport = function() {
2841
+ pp$5.parseExprImport = function() {
2325
2842
  var node = this.startNode();
2326
2843
 
2327
2844
  // Consume `import` as an identifier for `import.meta`.
@@ -2330,9 +2847,9 @@ pp$3.parseExprImport = function() {
2330
2847
  var meta = this.parseIdent(true);
2331
2848
 
2332
2849
  switch (this.type) {
2333
- case types.parenL:
2850
+ case types$1.parenL:
2334
2851
  return this.parseDynamicImport(node)
2335
- case types.dot:
2852
+ case types$1.dot:
2336
2853
  node.meta = meta;
2337
2854
  return this.parseImportMeta(node)
2338
2855
  default:
@@ -2340,16 +2857,16 @@ pp$3.parseExprImport = function() {
2340
2857
  }
2341
2858
  };
2342
2859
 
2343
- pp$3.parseDynamicImport = function(node) {
2860
+ pp$5.parseDynamicImport = function(node) {
2344
2861
  this.next(); // skip `(`
2345
2862
 
2346
2863
  // Parse node.source.
2347
2864
  node.source = this.parseMaybeAssign();
2348
2865
 
2349
2866
  // Verify ending.
2350
- if (!this.eat(types.parenR)) {
2867
+ if (!this.eat(types$1.parenR)) {
2351
2868
  var errorPos = this.start;
2352
- if (this.eat(types.comma) && this.eat(types.parenR)) {
2869
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2353
2870
  this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
2354
2871
  } else {
2355
2872
  this.unexpected(errorPos);
@@ -2359,7 +2876,7 @@ pp$3.parseDynamicImport = function(node) {
2359
2876
  return this.finishNode(node, "ImportExpression")
2360
2877
  };
2361
2878
 
2362
- pp$3.parseImportMeta = function(node) {
2879
+ pp$5.parseImportMeta = function(node) {
2363
2880
  this.next(); // skip `.`
2364
2881
 
2365
2882
  var containsEsc = this.containsEsc;
@@ -2369,13 +2886,13 @@ pp$3.parseImportMeta = function(node) {
2369
2886
  { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); }
2370
2887
  if (containsEsc)
2371
2888
  { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); }
2372
- if (this.options.sourceType !== "module")
2889
+ if (this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere)
2373
2890
  { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); }
2374
2891
 
2375
2892
  return this.finishNode(node, "MetaProperty")
2376
2893
  };
2377
2894
 
2378
- pp$3.parseLiteral = function(value) {
2895
+ pp$5.parseLiteral = function(value) {
2379
2896
  var node = this.startNode();
2380
2897
  node.value = value;
2381
2898
  node.raw = this.input.slice(this.start, this.end);
@@ -2384,14 +2901,14 @@ pp$3.parseLiteral = function(value) {
2384
2901
  return this.finishNode(node, "Literal")
2385
2902
  };
2386
2903
 
2387
- pp$3.parseParenExpression = function() {
2388
- this.expect(types.parenL);
2904
+ pp$5.parseParenExpression = function() {
2905
+ this.expect(types$1.parenL);
2389
2906
  var val = this.parseExpression();
2390
- this.expect(types.parenR);
2907
+ this.expect(types$1.parenR);
2391
2908
  return val
2392
2909
  };
2393
2910
 
2394
- pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
2911
+ pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
2395
2912
  var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
2396
2913
  if (this.options.ecmaVersion >= 6) {
2397
2914
  this.next();
@@ -2402,29 +2919,29 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
2402
2919
  this.yieldPos = 0;
2403
2920
  this.awaitPos = 0;
2404
2921
  // Do not save awaitIdentPos to allow checking awaits nested in parameters
2405
- while (this.type !== types.parenR) {
2406
- first ? first = false : this.expect(types.comma);
2407
- if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) {
2922
+ while (this.type !== types$1.parenR) {
2923
+ first ? first = false : this.expect(types$1.comma);
2924
+ if (allowTrailingComma && this.afterTrailingComma(types$1.parenR, true)) {
2408
2925
  lastIsComma = true;
2409
2926
  break
2410
- } else if (this.type === types.ellipsis) {
2927
+ } else if (this.type === types$1.ellipsis) {
2411
2928
  spreadStart = this.start;
2412
2929
  exprList.push(this.parseParenItem(this.parseRestBinding()));
2413
- if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2930
+ if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
2414
2931
  break
2415
2932
  } else {
2416
2933
  exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
2417
2934
  }
2418
2935
  }
2419
- var innerEndPos = this.start, innerEndLoc = this.startLoc;
2420
- this.expect(types.parenR);
2936
+ var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;
2937
+ this.expect(types$1.parenR);
2421
2938
 
2422
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {
2939
+ if (canBeArrow && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
2423
2940
  this.checkPatternErrors(refDestructuringErrors, false);
2424
2941
  this.checkYieldAwaitInDefaultParams();
2425
2942
  this.yieldPos = oldYieldPos;
2426
2943
  this.awaitPos = oldAwaitPos;
2427
- return this.parseParenArrowList(startPos, startLoc, exprList)
2944
+ return this.parseParenArrowList(startPos, startLoc, exprList, forInit)
2428
2945
  }
2429
2946
 
2430
2947
  if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }
@@ -2453,12 +2970,12 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
2453
2970
  }
2454
2971
  };
2455
2972
 
2456
- pp$3.parseParenItem = function(item) {
2973
+ pp$5.parseParenItem = function(item) {
2457
2974
  return item
2458
2975
  };
2459
2976
 
2460
- pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
2461
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
2977
+ pp$5.parseParenArrowList = function(startPos, startLoc, exprList, forInit) {
2978
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, false, forInit)
2462
2979
  };
2463
2980
 
2464
2981
  // New's precedence is slightly tricky. It must allow its argument to
@@ -2467,13 +2984,13 @@ pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
2467
2984
  // argument to parseSubscripts to prevent it from consuming the
2468
2985
  // argument list.
2469
2986
 
2470
- var empty$1 = [];
2987
+ var empty = [];
2471
2988
 
2472
- pp$3.parseNew = function() {
2989
+ pp$5.parseNew = function() {
2473
2990
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); }
2474
2991
  var node = this.startNode();
2475
2992
  var meta = this.parseIdent(true);
2476
- if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {
2993
+ if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
2477
2994
  node.meta = meta;
2478
2995
  var containsEsc = this.containsEsc;
2479
2996
  node.property = this.parseIdent(true);
@@ -2481,27 +2998,27 @@ pp$3.parseNew = function() {
2481
2998
  { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); }
2482
2999
  if (containsEsc)
2483
3000
  { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); }
2484
- if (!this.inNonArrowFunction())
2485
- { this.raiseRecoverable(node.start, "'new.target' can only be used in functions"); }
3001
+ if (!this.allowNewDotTarget)
3002
+ { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); }
2486
3003
  return this.finishNode(node, "MetaProperty")
2487
3004
  }
2488
- var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types._import;
2489
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
3005
+ var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types$1._import;
3006
+ node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true, false);
2490
3007
  if (isImport && node.callee.type === "ImportExpression") {
2491
3008
  this.raise(startPos, "Cannot use new with import()");
2492
3009
  }
2493
- if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false); }
2494
- else { node.arguments = empty$1; }
3010
+ if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
3011
+ else { node.arguments = empty; }
2495
3012
  return this.finishNode(node, "NewExpression")
2496
3013
  };
2497
3014
 
2498
3015
  // Parse template expression.
2499
3016
 
2500
- pp$3.parseTemplateElement = function(ref) {
3017
+ pp$5.parseTemplateElement = function(ref) {
2501
3018
  var isTagged = ref.isTagged;
2502
3019
 
2503
3020
  var elem = this.startNode();
2504
- if (this.type === types.invalidTemplate) {
3021
+ if (this.type === types$1.invalidTemplate) {
2505
3022
  if (!isTagged) {
2506
3023
  this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal");
2507
3024
  }
@@ -2516,11 +3033,11 @@ pp$3.parseTemplateElement = function(ref) {
2516
3033
  };
2517
3034
  }
2518
3035
  this.next();
2519
- elem.tail = this.type === types.backQuote;
3036
+ elem.tail = this.type === types$1.backQuote;
2520
3037
  return this.finishNode(elem, "TemplateElement")
2521
3038
  };
2522
3039
 
2523
- pp$3.parseTemplate = function(ref) {
3040
+ pp$5.parseTemplate = function(ref) {
2524
3041
  if ( ref === void 0 ) ref = {};
2525
3042
  var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;
2526
3043
 
@@ -2530,32 +3047,32 @@ pp$3.parseTemplate = function(ref) {
2530
3047
  var curElt = this.parseTemplateElement({isTagged: isTagged});
2531
3048
  node.quasis = [curElt];
2532
3049
  while (!curElt.tail) {
2533
- if (this.type === types.eof) { this.raise(this.pos, "Unterminated template literal"); }
2534
- this.expect(types.dollarBraceL);
3050
+ if (this.type === types$1.eof) { this.raise(this.pos, "Unterminated template literal"); }
3051
+ this.expect(types$1.dollarBraceL);
2535
3052
  node.expressions.push(this.parseExpression());
2536
- this.expect(types.braceR);
3053
+ this.expect(types$1.braceR);
2537
3054
  node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));
2538
3055
  }
2539
3056
  this.next();
2540
3057
  return this.finishNode(node, "TemplateLiteral")
2541
3058
  };
2542
3059
 
2543
- pp$3.isAsyncProp = function(prop) {
3060
+ pp$5.isAsyncProp = function(prop) {
2544
3061
  return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
2545
- (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)) &&
3062
+ (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)) &&
2546
3063
  !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
2547
3064
  };
2548
3065
 
2549
3066
  // Parse an object literal or binding pattern.
2550
3067
 
2551
- pp$3.parseObj = function(isPattern, refDestructuringErrors) {
3068
+ pp$5.parseObj = function(isPattern, refDestructuringErrors) {
2552
3069
  var node = this.startNode(), first = true, propHash = {};
2553
3070
  node.properties = [];
2554
3071
  this.next();
2555
- while (!this.eat(types.braceR)) {
3072
+ while (!this.eat(types$1.braceR)) {
2556
3073
  if (!first) {
2557
- this.expect(types.comma);
2558
- if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types.braceR)) { break }
3074
+ this.expect(types$1.comma);
3075
+ if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break }
2559
3076
  } else { first = false; }
2560
3077
 
2561
3078
  var prop = this.parseProperty(isPattern, refDestructuringErrors);
@@ -2565,29 +3082,20 @@ pp$3.parseObj = function(isPattern, refDestructuringErrors) {
2565
3082
  return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
2566
3083
  };
2567
3084
 
2568
- pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
3085
+ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
2569
3086
  var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
2570
- if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {
3087
+ if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {
2571
3088
  if (isPattern) {
2572
3089
  prop.argument = this.parseIdent(false);
2573
- if (this.type === types.comma) {
3090
+ if (this.type === types$1.comma) {
2574
3091
  this.raise(this.start, "Comma is not permitted after the rest element");
2575
3092
  }
2576
3093
  return this.finishNode(prop, "RestElement")
2577
3094
  }
2578
- // To disallow parenthesized identifier via `this.toAssignable()`.
2579
- if (this.type === types.parenL && refDestructuringErrors) {
2580
- if (refDestructuringErrors.parenthesizedAssign < 0) {
2581
- refDestructuringErrors.parenthesizedAssign = this.start;
2582
- }
2583
- if (refDestructuringErrors.parenthesizedBind < 0) {
2584
- refDestructuringErrors.parenthesizedBind = this.start;
2585
- }
2586
- }
2587
3095
  // Parse argument.
2588
3096
  prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
2589
3097
  // To disallow trailing comma via `this.toAssignable()`.
2590
- if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
3098
+ if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
2591
3099
  refDestructuringErrors.trailingComma = this.start;
2592
3100
  }
2593
3101
  // Finish
@@ -2601,13 +3109,13 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
2601
3109
  startLoc = this.startLoc;
2602
3110
  }
2603
3111
  if (!isPattern)
2604
- { isGenerator = this.eat(types.star); }
3112
+ { isGenerator = this.eat(types$1.star); }
2605
3113
  }
2606
3114
  var containsEsc = this.containsEsc;
2607
3115
  this.parsePropertyName(prop);
2608
3116
  if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
2609
3117
  isAsync = true;
2610
- isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
3118
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
2611
3119
  this.parsePropertyName(prop, refDestructuringErrors);
2612
3120
  } else {
2613
3121
  isAsync = false;
@@ -2616,14 +3124,14 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
2616
3124
  return this.finishNode(prop, "Property")
2617
3125
  };
2618
3126
 
2619
- pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
2620
- if ((isGenerator || isAsync) && this.type === types.colon)
3127
+ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
3128
+ if ((isGenerator || isAsync) && this.type === types$1.colon)
2621
3129
  { this.unexpected(); }
2622
3130
 
2623
- if (this.eat(types.colon)) {
3131
+ if (this.eat(types$1.colon)) {
2624
3132
  prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);
2625
3133
  prop.kind = "init";
2626
- } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {
3134
+ } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
2627
3135
  if (isPattern) { this.unexpected(); }
2628
3136
  prop.kind = "init";
2629
3137
  prop.method = true;
@@ -2631,7 +3139,7 @@ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
2631
3139
  } else if (!isPattern && !containsEsc &&
2632
3140
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
2633
3141
  (prop.key.name === "get" || prop.key.name === "set") &&
2634
- (this.type !== types.comma && this.type !== types.braceR && this.type !== types.eq)) {
3142
+ (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {
2635
3143
  if (isGenerator || isAsync) { this.unexpected(); }
2636
3144
  prop.kind = prop.key.name;
2637
3145
  this.parsePropertyName(prop);
@@ -2654,35 +3162,35 @@ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
2654
3162
  { this.awaitIdentPos = startPos; }
2655
3163
  prop.kind = "init";
2656
3164
  if (isPattern) {
2657
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
2658
- } else if (this.type === types.eq && refDestructuringErrors) {
3165
+ prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3166
+ } else if (this.type === types$1.eq && refDestructuringErrors) {
2659
3167
  if (refDestructuringErrors.shorthandAssign < 0)
2660
3168
  { refDestructuringErrors.shorthandAssign = this.start; }
2661
- prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
3169
+ prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
2662
3170
  } else {
2663
- prop.value = prop.key;
3171
+ prop.value = this.copyNode(prop.key);
2664
3172
  }
2665
3173
  prop.shorthand = true;
2666
3174
  } else { this.unexpected(); }
2667
3175
  };
2668
3176
 
2669
- pp$3.parsePropertyName = function(prop) {
3177
+ pp$5.parsePropertyName = function(prop) {
2670
3178
  if (this.options.ecmaVersion >= 6) {
2671
- if (this.eat(types.bracketL)) {
3179
+ if (this.eat(types$1.bracketL)) {
2672
3180
  prop.computed = true;
2673
3181
  prop.key = this.parseMaybeAssign();
2674
- this.expect(types.bracketR);
3182
+ this.expect(types$1.bracketR);
2675
3183
  return prop.key
2676
3184
  } else {
2677
3185
  prop.computed = false;
2678
3186
  }
2679
3187
  }
2680
- return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
3188
+ return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
2681
3189
  };
2682
3190
 
2683
3191
  // Initialize empty function node.
2684
3192
 
2685
- pp$3.initFunction = function(node) {
3193
+ pp$5.initFunction = function(node) {
2686
3194
  node.id = null;
2687
3195
  if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }
2688
3196
  if (this.options.ecmaVersion >= 8) { node.async = false; }
@@ -2690,7 +3198,7 @@ pp$3.initFunction = function(node) {
2690
3198
 
2691
3199
  // Parse object or class method.
2692
3200
 
2693
- pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
3201
+ pp$5.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
2694
3202
  var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2695
3203
 
2696
3204
  this.initFunction(node);
@@ -2704,10 +3212,10 @@ pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
2704
3212
  this.awaitIdentPos = 0;
2705
3213
  this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
2706
3214
 
2707
- this.expect(types.parenL);
2708
- node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
3215
+ this.expect(types$1.parenL);
3216
+ node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
2709
3217
  this.checkYieldAwaitInDefaultParams();
2710
- this.parseFunctionBody(node, false, true);
3218
+ this.parseFunctionBody(node, false, true, false);
2711
3219
 
2712
3220
  this.yieldPos = oldYieldPos;
2713
3221
  this.awaitPos = oldAwaitPos;
@@ -2717,7 +3225,7 @@ pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
2717
3225
 
2718
3226
  // Parse arrow function expression with given parameters.
2719
3227
 
2720
- pp$3.parseArrowExpression = function(node, params, isAsync) {
3228
+ pp$5.parseArrowExpression = function(node, params, isAsync, forInit) {
2721
3229
  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
2722
3230
 
2723
3231
  this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);
@@ -2729,7 +3237,7 @@ pp$3.parseArrowExpression = function(node, params, isAsync) {
2729
3237
  this.awaitIdentPos = 0;
2730
3238
 
2731
3239
  node.params = this.toAssignableList(params, true);
2732
- this.parseFunctionBody(node, true, false);
3240
+ this.parseFunctionBody(node, true, false, forInit);
2733
3241
 
2734
3242
  this.yieldPos = oldYieldPos;
2735
3243
  this.awaitPos = oldAwaitPos;
@@ -2739,12 +3247,12 @@ pp$3.parseArrowExpression = function(node, params, isAsync) {
2739
3247
 
2740
3248
  // Parse function body and check parameters.
2741
3249
 
2742
- pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {
2743
- var isExpression = isArrowFunction && this.type !== types.braceL;
3250
+ pp$5.parseFunctionBody = function(node, isArrowFunction, isMethod, forInit) {
3251
+ var isExpression = isArrowFunction && this.type !== types$1.braceL;
2744
3252
  var oldStrict = this.strict, useStrict = false;
2745
3253
 
2746
3254
  if (isExpression) {
2747
- node.body = this.parseMaybeAssign();
3255
+ node.body = this.parseMaybeAssign(forInit);
2748
3256
  node.expression = true;
2749
3257
  this.checkParams(node, false);
2750
3258
  } else {
@@ -2767,7 +3275,7 @@ pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {
2767
3275
  // if a let/const declaration in the function clashes with one of the params.
2768
3276
  this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));
2769
3277
  // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'
2770
- if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); }
3278
+ if (this.strict && node.id) { this.checkLValSimple(node.id, BIND_OUTSIDE); }
2771
3279
  node.body = this.parseBlock(false, undefined, useStrict && !oldStrict);
2772
3280
  node.expression = false;
2773
3281
  this.adaptDirectivePrologue(node.body.body);
@@ -2776,7 +3284,7 @@ pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {
2776
3284
  this.exitScope();
2777
3285
  };
2778
3286
 
2779
- pp$3.isSimpleParamList = function(params) {
3287
+ pp$5.isSimpleParamList = function(params) {
2780
3288
  for (var i = 0, list = params; i < list.length; i += 1)
2781
3289
  {
2782
3290
  var param = list[i];
@@ -2789,13 +3297,13 @@ pp$3.isSimpleParamList = function(params) {
2789
3297
  // Checks function params for various disallowed patterns such as using "eval"
2790
3298
  // or "arguments" and duplicate parameters.
2791
3299
 
2792
- pp$3.checkParams = function(node, allowDuplicates) {
2793
- var nameHash = {};
3300
+ pp$5.checkParams = function(node, allowDuplicates) {
3301
+ var nameHash = Object.create(null);
2794
3302
  for (var i = 0, list = node.params; i < list.length; i += 1)
2795
3303
  {
2796
3304
  var param = list[i];
2797
3305
 
2798
- this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);
3306
+ this.checkLValInnerPattern(param, BIND_VAR, allowDuplicates ? null : nameHash);
2799
3307
  }
2800
3308
  };
2801
3309
 
@@ -2805,20 +3313,20 @@ pp$3.checkParams = function(node, allowDuplicates) {
2805
3313
  // nothing in between them to be parsed as `null` (which is needed
2806
3314
  // for array literals).
2807
3315
 
2808
- pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
3316
+ pp$5.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
2809
3317
  var elts = [], first = true;
2810
3318
  while (!this.eat(close)) {
2811
3319
  if (!first) {
2812
- this.expect(types.comma);
3320
+ this.expect(types$1.comma);
2813
3321
  if (allowTrailingComma && this.afterTrailingComma(close)) { break }
2814
3322
  } else { first = false; }
2815
3323
 
2816
3324
  var elt = (void 0);
2817
- if (allowEmpty && this.type === types.comma)
3325
+ if (allowEmpty && this.type === types$1.comma)
2818
3326
  { elt = null; }
2819
- else if (this.type === types.ellipsis) {
3327
+ else if (this.type === types$1.ellipsis) {
2820
3328
  elt = this.parseSpread(refDestructuringErrors);
2821
- if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0)
3329
+ if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0)
2822
3330
  { refDestructuringErrors.trailingComma = this.start; }
2823
3331
  } else {
2824
3332
  elt = this.parseMaybeAssign(false, refDestructuringErrors);
@@ -2828,7 +3336,7 @@ pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestruct
2828
3336
  return elts
2829
3337
  };
2830
3338
 
2831
- pp$3.checkUnreserved = function(ref) {
3339
+ pp$5.checkUnreserved = function(ref) {
2832
3340
  var start = ref.start;
2833
3341
  var end = ref.end;
2834
3342
  var name = ref.name;
@@ -2837,6 +3345,10 @@ pp$3.checkUnreserved = function(ref) {
2837
3345
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
2838
3346
  if (this.inAsync && name === "await")
2839
3347
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3348
+ if (this.currentThisScope().inClassFieldInit && name === "arguments")
3349
+ { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3350
+ if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3351
+ { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
2840
3352
  if (this.keywords.test(name))
2841
3353
  { this.raise(start, ("Unexpected keyword '" + name + "'")); }
2842
3354
  if (this.options.ecmaVersion < 6 &&
@@ -2853,9 +3365,9 @@ pp$3.checkUnreserved = function(ref) {
2853
3365
  // when parsing properties), it will also convert keywords into
2854
3366
  // identifiers.
2855
3367
 
2856
- pp$3.parseIdent = function(liberal, isBinding) {
3368
+ pp$5.parseIdent = function(liberal, isBinding) {
2857
3369
  var node = this.startNode();
2858
- if (this.type === types.name) {
3370
+ if (this.type === types$1.name) {
2859
3371
  node.name = this.value;
2860
3372
  } else if (this.type.keyword) {
2861
3373
  node.name = this.type.keyword;
@@ -2881,29 +3393,49 @@ pp$3.parseIdent = function(liberal, isBinding) {
2881
3393
  return node
2882
3394
  };
2883
3395
 
3396
+ pp$5.parsePrivateIdent = function() {
3397
+ var node = this.startNode();
3398
+ if (this.type === types$1.privateId) {
3399
+ node.name = this.value;
3400
+ } else {
3401
+ this.unexpected();
3402
+ }
3403
+ this.next();
3404
+ this.finishNode(node, "PrivateIdentifier");
3405
+
3406
+ // For validating existence
3407
+ if (this.privateNameStack.length === 0) {
3408
+ this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
3409
+ } else {
3410
+ this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
3411
+ }
3412
+
3413
+ return node
3414
+ };
3415
+
2884
3416
  // Parses yield expression inside generator.
2885
3417
 
2886
- pp$3.parseYield = function(noIn) {
3418
+ pp$5.parseYield = function(forInit) {
2887
3419
  if (!this.yieldPos) { this.yieldPos = this.start; }
2888
3420
 
2889
3421
  var node = this.startNode();
2890
3422
  this.next();
2891
- if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {
3423
+ if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) {
2892
3424
  node.delegate = false;
2893
3425
  node.argument = null;
2894
3426
  } else {
2895
- node.delegate = this.eat(types.star);
2896
- node.argument = this.parseMaybeAssign(noIn);
3427
+ node.delegate = this.eat(types$1.star);
3428
+ node.argument = this.parseMaybeAssign(forInit);
2897
3429
  }
2898
3430
  return this.finishNode(node, "YieldExpression")
2899
3431
  };
2900
3432
 
2901
- pp$3.parseAwait = function() {
3433
+ pp$5.parseAwait = function(forInit) {
2902
3434
  if (!this.awaitPos) { this.awaitPos = this.start; }
2903
3435
 
2904
3436
  var node = this.startNode();
2905
3437
  this.next();
2906
- node.argument = this.parseMaybeUnary(null, false);
3438
+ node.argument = this.parseMaybeUnary(null, true, false, forInit);
2907
3439
  return this.finishNode(node, "AwaitExpression")
2908
3440
  };
2909
3441
 
@@ -2931,7 +3463,7 @@ pp$4.curPosition = function() {
2931
3463
  }
2932
3464
  };
2933
3465
 
2934
- var pp$5 = Parser.prototype;
3466
+ var pp$3 = Parser.prototype;
2935
3467
 
2936
3468
  var Scope = function Scope(flags) {
2937
3469
  this.flags = flags;
@@ -2941,26 +3473,28 @@ var Scope = function Scope(flags) {
2941
3473
  this.lexical = [];
2942
3474
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
2943
3475
  this.functions = [];
3476
+ // A switch to disallow the identifier reference 'arguments'
3477
+ this.inClassFieldInit = false;
2944
3478
  };
2945
3479
 
2946
3480
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
2947
3481
 
2948
- pp$5.enterScope = function(flags) {
3482
+ pp$3.enterScope = function(flags) {
2949
3483
  this.scopeStack.push(new Scope(flags));
2950
3484
  };
2951
3485
 
2952
- pp$5.exitScope = function() {
3486
+ pp$3.exitScope = function() {
2953
3487
  this.scopeStack.pop();
2954
3488
  };
2955
3489
 
2956
3490
  // The spec says:
2957
3491
  // > At the top level of a function, or script, function declarations are
2958
3492
  // > treated like var declarations rather than like lexical declarations.
2959
- pp$5.treatFunctionsAsVarInScope = function(scope) {
3493
+ pp$3.treatFunctionsAsVarInScope = function(scope) {
2960
3494
  return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)
2961
3495
  };
2962
3496
 
2963
- pp$5.declareName = function(name, bindingType, pos) {
3497
+ pp$3.declareName = function(name, bindingType, pos) {
2964
3498
  var redeclared = false;
2965
3499
  if (bindingType === BIND_LEXICAL) {
2966
3500
  var scope = this.currentScope();
@@ -2995,7 +3529,7 @@ pp$5.declareName = function(name, bindingType, pos) {
2995
3529
  if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); }
2996
3530
  };
2997
3531
 
2998
- pp$5.checkLocalExport = function(id) {
3532
+ pp$3.checkLocalExport = function(id) {
2999
3533
  // scope.functions must be empty as Module code is always strict.
3000
3534
  if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&
3001
3535
  this.scopeStack[0].var.indexOf(id.name) === -1) {
@@ -3003,11 +3537,11 @@ pp$5.checkLocalExport = function(id) {
3003
3537
  }
3004
3538
  };
3005
3539
 
3006
- pp$5.currentScope = function() {
3540
+ pp$3.currentScope = function() {
3007
3541
  return this.scopeStack[this.scopeStack.length - 1]
3008
3542
  };
3009
3543
 
3010
- pp$5.currentVarScope = function() {
3544
+ pp$3.currentVarScope = function() {
3011
3545
  for (var i = this.scopeStack.length - 1;; i--) {
3012
3546
  var scope = this.scopeStack[i];
3013
3547
  if (scope.flags & SCOPE_VAR) { return scope }
@@ -3015,7 +3549,7 @@ pp$5.currentVarScope = function() {
3015
3549
  };
3016
3550
 
3017
3551
  // Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.
3018
- pp$5.currentThisScope = function() {
3552
+ pp$3.currentThisScope = function() {
3019
3553
  for (var i = this.scopeStack.length - 1;; i--) {
3020
3554
  var scope = this.scopeStack[i];
3021
3555
  if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
@@ -3036,13 +3570,13 @@ var Node = function Node(parser, pos, loc) {
3036
3570
 
3037
3571
  // Start an AST node, attaching a start offset.
3038
3572
 
3039
- var pp$6 = Parser.prototype;
3573
+ var pp$2 = Parser.prototype;
3040
3574
 
3041
- pp$6.startNode = function() {
3575
+ pp$2.startNode = function() {
3042
3576
  return new Node(this, this.start, this.startLoc)
3043
3577
  };
3044
3578
 
3045
- pp$6.startNodeAt = function(pos, loc) {
3579
+ pp$2.startNodeAt = function(pos, loc) {
3046
3580
  return new Node(this, pos, loc)
3047
3581
  };
3048
3582
 
@@ -3058,156 +3592,20 @@ function finishNodeAt(node, type, pos, loc) {
3058
3592
  return node
3059
3593
  }
3060
3594
 
3061
- pp$6.finishNode = function(node, type) {
3595
+ pp$2.finishNode = function(node, type) {
3062
3596
  return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
3063
3597
  };
3064
3598
 
3065
3599
  // Finish node at given position
3066
3600
 
3067
- pp$6.finishNodeAt = function(node, type, pos, loc) {
3601
+ pp$2.finishNodeAt = function(node, type, pos, loc) {
3068
3602
  return finishNodeAt.call(this, node, type, pos, loc)
3069
3603
  };
3070
3604
 
3071
- // The algorithm used to determine whether a regexp can appear at a
3072
-
3073
- var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
3074
- this.token = token;
3075
- this.isExpr = !!isExpr;
3076
- this.preserveSpace = !!preserveSpace;
3077
- this.override = override;
3078
- this.generator = !!generator;
3079
- };
3080
-
3081
- var types$1 = {
3082
- b_stat: new TokContext("{", false),
3083
- b_expr: new TokContext("{", true),
3084
- b_tmpl: new TokContext("${", false),
3085
- p_stat: new TokContext("(", false),
3086
- p_expr: new TokContext("(", true),
3087
- q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
3088
- f_stat: new TokContext("function", false),
3089
- f_expr: new TokContext("function", true),
3090
- f_expr_gen: new TokContext("function", true, false, null, true),
3091
- f_gen: new TokContext("function", false, false, null, true)
3092
- };
3093
-
3094
- var pp$7 = Parser.prototype;
3095
-
3096
- pp$7.initialContext = function() {
3097
- return [types$1.b_stat]
3098
- };
3099
-
3100
- pp$7.braceIsBlock = function(prevType) {
3101
- var parent = this.curContext();
3102
- if (parent === types$1.f_expr || parent === types$1.f_stat)
3103
- { return true }
3104
- if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))
3105
- { return !parent.isExpr }
3106
-
3107
- // The check for `tt.name && exprAllowed` detects whether we are
3108
- // after a `yield` or `of` construct. See the `updateContext` for
3109
- // `tt.name`.
3110
- if (prevType === types._return || prevType === types.name && this.exprAllowed)
3111
- { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
3112
- if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)
3113
- { return true }
3114
- if (prevType === types.braceL)
3115
- { return parent === types$1.b_stat }
3116
- if (prevType === types._var || prevType === types._const || prevType === types.name)
3117
- { return false }
3118
- return !this.exprAllowed
3119
- };
3120
-
3121
- pp$7.inGeneratorContext = function() {
3122
- for (var i = this.context.length - 1; i >= 1; i--) {
3123
- var context = this.context[i];
3124
- if (context.token === "function")
3125
- { return context.generator }
3126
- }
3127
- return false
3128
- };
3129
-
3130
- pp$7.updateContext = function(prevType) {
3131
- var update, type = this.type;
3132
- if (type.keyword && prevType === types.dot)
3133
- { this.exprAllowed = false; }
3134
- else if (update = type.updateContext)
3135
- { update.call(this, prevType); }
3136
- else
3137
- { this.exprAllowed = type.beforeExpr; }
3138
- };
3139
-
3140
- // Token-specific context update code
3141
-
3142
- types.parenR.updateContext = types.braceR.updateContext = function() {
3143
- if (this.context.length === 1) {
3144
- this.exprAllowed = true;
3145
- return
3146
- }
3147
- var out = this.context.pop();
3148
- if (out === types$1.b_stat && this.curContext().token === "function") {
3149
- out = this.context.pop();
3150
- }
3151
- this.exprAllowed = !out.isExpr;
3152
- };
3153
-
3154
- types.braceL.updateContext = function(prevType) {
3155
- this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);
3156
- this.exprAllowed = true;
3157
- };
3158
-
3159
- types.dollarBraceL.updateContext = function() {
3160
- this.context.push(types$1.b_tmpl);
3161
- this.exprAllowed = true;
3162
- };
3163
-
3164
- types.parenL.updateContext = function(prevType) {
3165
- var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;
3166
- this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);
3167
- this.exprAllowed = true;
3168
- };
3169
-
3170
- types.incDec.updateContext = function() {
3171
- // tokExprAllowed stays unchanged
3172
- };
3173
-
3174
- types._function.updateContext = types._class.updateContext = function(prevType) {
3175
- if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&
3176
- !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
3177
- !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))
3178
- { this.context.push(types$1.f_expr); }
3179
- else
3180
- { this.context.push(types$1.f_stat); }
3181
- this.exprAllowed = false;
3182
- };
3183
-
3184
- types.backQuote.updateContext = function() {
3185
- if (this.curContext() === types$1.q_tmpl)
3186
- { this.context.pop(); }
3187
- else
3188
- { this.context.push(types$1.q_tmpl); }
3189
- this.exprAllowed = false;
3190
- };
3191
-
3192
- types.star.updateContext = function(prevType) {
3193
- if (prevType === types._function) {
3194
- var index = this.context.length - 1;
3195
- if (this.context[index] === types$1.f_expr)
3196
- { this.context[index] = types$1.f_expr_gen; }
3197
- else
3198
- { this.context[index] = types$1.f_gen; }
3199
- }
3200
- this.exprAllowed = true;
3201
- };
3202
-
3203
- types.name.updateContext = function(prevType) {
3204
- var allowed = false;
3205
- if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {
3206
- if (this.value === "of" && !this.exprAllowed ||
3207
- this.value === "yield" && this.inGeneratorContext())
3208
- { allowed = true; }
3209
- }
3210
- this.exprAllowed = allowed;
3605
+ pp$2.copyNode = function(node) {
3606
+ var newNode = new Node(this, node.start, this.startLoc);
3607
+ for (var prop in node) { newNode[prop] = node[prop]; }
3608
+ return newNode
3211
3609
  };
3212
3610
 
3213
3611
  // This file contains Unicode properties extracted from the ECMAScript
@@ -3218,23 +3616,31 @@ types.name.updateContext = function(prevType) {
3218
3616
  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";
3219
3617
  var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
3220
3618
  var ecma11BinaryProperties = ecma10BinaryProperties;
3619
+ var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
3620
+ var ecma13BinaryProperties = ecma12BinaryProperties;
3221
3621
  var unicodeBinaryProperties = {
3222
3622
  9: ecma9BinaryProperties,
3223
3623
  10: ecma10BinaryProperties,
3224
- 11: ecma11BinaryProperties
3624
+ 11: ecma11BinaryProperties,
3625
+ 12: ecma12BinaryProperties,
3626
+ 13: ecma13BinaryProperties
3225
3627
  };
3226
3628
 
3227
3629
  // #table-unicode-general-category-values
3228
3630
  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";
3229
3631
 
3230
3632
  // #table-unicode-script-values
3231
- 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";
3633
+ 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";
3232
3634
  var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
3233
3635
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3636
+ var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3637
+ var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3234
3638
  var unicodeScriptValues = {
3235
3639
  9: ecma9ScriptValues,
3236
3640
  10: ecma10ScriptValues,
3237
- 11: ecma11ScriptValues
3641
+ 11: ecma11ScriptValues,
3642
+ 12: ecma12ScriptValues,
3643
+ 13: ecma13ScriptValues
3238
3644
  };
3239
3645
 
3240
3646
  var data = {};
@@ -3252,16 +3658,19 @@ function buildUnicodeData(ecmaVersion) {
3252
3658
  d.nonBinary.sc = d.nonBinary.Script;
3253
3659
  d.nonBinary.scx = d.nonBinary.Script_Extensions;
3254
3660
  }
3255
- buildUnicodeData(9);
3256
- buildUnicodeData(10);
3257
- buildUnicodeData(11);
3258
3661
 
3259
- var pp$8 = Parser.prototype;
3662
+ for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
3663
+ var ecmaVersion = list[i];
3664
+
3665
+ buildUnicodeData(ecmaVersion);
3666
+ }
3667
+
3668
+ var pp$1 = Parser.prototype;
3260
3669
 
3261
3670
  var RegExpValidationState = function RegExpValidationState(parser) {
3262
3671
  this.parser = parser;
3263
- this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "");
3264
- this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion];
3672
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
3673
+ this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
3265
3674
  this.source = "";
3266
3675
  this.flags = "";
3267
3676
  this.start = 0;
@@ -3352,19 +3761,13 @@ RegExpValidationState.prototype.eat = function eat (ch, forceU) {
3352
3761
  return false
3353
3762
  };
3354
3763
 
3355
- function codePointToString(ch) {
3356
- if (ch <= 0xFFFF) { return String.fromCharCode(ch) }
3357
- ch -= 0x10000;
3358
- return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)
3359
- }
3360
-
3361
3764
  /**
3362
3765
  * Validate the flags part of a given RegExpLiteral.
3363
3766
  *
3364
3767
  * @param {RegExpValidationState} state The state to validate RegExp.
3365
3768
  * @returns {void}
3366
3769
  */
3367
- pp$8.validateRegExpFlags = function(state) {
3770
+ pp$1.validateRegExpFlags = function(state) {
3368
3771
  var validFlags = state.validFlags;
3369
3772
  var flags = state.flags;
3370
3773
 
@@ -3385,7 +3788,7 @@ pp$8.validateRegExpFlags = function(state) {
3385
3788
  * @param {RegExpValidationState} state The state to validate RegExp.
3386
3789
  * @returns {void}
3387
3790
  */
3388
- pp$8.validateRegExpPattern = function(state) {
3791
+ pp$1.validateRegExpPattern = function(state) {
3389
3792
  this.regexp_pattern(state);
3390
3793
 
3391
3794
  // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
@@ -3400,7 +3803,7 @@ pp$8.validateRegExpPattern = function(state) {
3400
3803
  };
3401
3804
 
3402
3805
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
3403
- pp$8.regexp_pattern = function(state) {
3806
+ pp$1.regexp_pattern = function(state) {
3404
3807
  state.pos = 0;
3405
3808
  state.lastIntValue = 0;
3406
3809
  state.lastStringValue = "";
@@ -3434,7 +3837,7 @@ pp$8.regexp_pattern = function(state) {
3434
3837
  };
3435
3838
 
3436
3839
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
3437
- pp$8.regexp_disjunction = function(state) {
3840
+ pp$1.regexp_disjunction = function(state) {
3438
3841
  this.regexp_alternative(state);
3439
3842
  while (state.eat(0x7C /* | */)) {
3440
3843
  this.regexp_alternative(state);
@@ -3450,13 +3853,13 @@ pp$8.regexp_disjunction = function(state) {
3450
3853
  };
3451
3854
 
3452
3855
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
3453
- pp$8.regexp_alternative = function(state) {
3856
+ pp$1.regexp_alternative = function(state) {
3454
3857
  while (state.pos < state.source.length && this.regexp_eatTerm(state))
3455
3858
  { }
3456
3859
  };
3457
3860
 
3458
3861
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
3459
- pp$8.regexp_eatTerm = function(state) {
3862
+ pp$1.regexp_eatTerm = function(state) {
3460
3863
  if (this.regexp_eatAssertion(state)) {
3461
3864
  // Handle `QuantifiableAssertion Quantifier` alternative.
3462
3865
  // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
@@ -3479,7 +3882,7 @@ pp$8.regexp_eatTerm = function(state) {
3479
3882
  };
3480
3883
 
3481
3884
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
3482
- pp$8.regexp_eatAssertion = function(state) {
3885
+ pp$1.regexp_eatAssertion = function(state) {
3483
3886
  var start = state.pos;
3484
3887
  state.lastAssertionIsQuantifiable = false;
3485
3888
 
@@ -3517,7 +3920,7 @@ pp$8.regexp_eatAssertion = function(state) {
3517
3920
  };
3518
3921
 
3519
3922
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
3520
- pp$8.regexp_eatQuantifier = function(state, noError) {
3923
+ pp$1.regexp_eatQuantifier = function(state, noError) {
3521
3924
  if ( noError === void 0 ) noError = false;
3522
3925
 
3523
3926
  if (this.regexp_eatQuantifierPrefix(state, noError)) {
@@ -3528,7 +3931,7 @@ pp$8.regexp_eatQuantifier = function(state, noError) {
3528
3931
  };
3529
3932
 
3530
3933
  // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
3531
- pp$8.regexp_eatQuantifierPrefix = function(state, noError) {
3934
+ pp$1.regexp_eatQuantifierPrefix = function(state, noError) {
3532
3935
  return (
3533
3936
  state.eat(0x2A /* * */) ||
3534
3937
  state.eat(0x2B /* + */) ||
@@ -3536,7 +3939,7 @@ pp$8.regexp_eatQuantifierPrefix = function(state, noError) {
3536
3939
  this.regexp_eatBracedQuantifier(state, noError)
3537
3940
  )
3538
3941
  };
3539
- pp$8.regexp_eatBracedQuantifier = function(state, noError) {
3942
+ pp$1.regexp_eatBracedQuantifier = function(state, noError) {
3540
3943
  var start = state.pos;
3541
3944
  if (state.eat(0x7B /* { */)) {
3542
3945
  var min = 0, max = -1;
@@ -3562,7 +3965,7 @@ pp$8.regexp_eatBracedQuantifier = function(state, noError) {
3562
3965
  };
3563
3966
 
3564
3967
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
3565
- pp$8.regexp_eatAtom = function(state) {
3968
+ pp$1.regexp_eatAtom = function(state) {
3566
3969
  return (
3567
3970
  this.regexp_eatPatternCharacters(state) ||
3568
3971
  state.eat(0x2E /* . */) ||
@@ -3572,7 +3975,7 @@ pp$8.regexp_eatAtom = function(state) {
3572
3975
  this.regexp_eatCapturingGroup(state)
3573
3976
  )
3574
3977
  };
3575
- pp$8.regexp_eatReverseSolidusAtomEscape = function(state) {
3978
+ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
3576
3979
  var start = state.pos;
3577
3980
  if (state.eat(0x5C /* \ */)) {
3578
3981
  if (this.regexp_eatAtomEscape(state)) {
@@ -3582,7 +3985,7 @@ pp$8.regexp_eatReverseSolidusAtomEscape = function(state) {
3582
3985
  }
3583
3986
  return false
3584
3987
  };
3585
- pp$8.regexp_eatUncapturingGroup = function(state) {
3988
+ pp$1.regexp_eatUncapturingGroup = function(state) {
3586
3989
  var start = state.pos;
3587
3990
  if (state.eat(0x28 /* ( */)) {
3588
3991
  if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
@@ -3596,7 +3999,7 @@ pp$8.regexp_eatUncapturingGroup = function(state) {
3596
3999
  }
3597
4000
  return false
3598
4001
  };
3599
- pp$8.regexp_eatCapturingGroup = function(state) {
4002
+ pp$1.regexp_eatCapturingGroup = function(state) {
3600
4003
  if (state.eat(0x28 /* ( */)) {
3601
4004
  if (this.options.ecmaVersion >= 9) {
3602
4005
  this.regexp_groupSpecifier(state);
@@ -3614,7 +4017,7 @@ pp$8.regexp_eatCapturingGroup = function(state) {
3614
4017
  };
3615
4018
 
3616
4019
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
3617
- pp$8.regexp_eatExtendedAtom = function(state) {
4020
+ pp$1.regexp_eatExtendedAtom = function(state) {
3618
4021
  return (
3619
4022
  state.eat(0x2E /* . */) ||
3620
4023
  this.regexp_eatReverseSolidusAtomEscape(state) ||
@@ -3627,7 +4030,7 @@ pp$8.regexp_eatExtendedAtom = function(state) {
3627
4030
  };
3628
4031
 
3629
4032
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
3630
- pp$8.regexp_eatInvalidBracedQuantifier = function(state) {
4033
+ pp$1.regexp_eatInvalidBracedQuantifier = function(state) {
3631
4034
  if (this.regexp_eatBracedQuantifier(state, true)) {
3632
4035
  state.raise("Nothing to repeat");
3633
4036
  }
@@ -3635,7 +4038,7 @@ pp$8.regexp_eatInvalidBracedQuantifier = function(state) {
3635
4038
  };
3636
4039
 
3637
4040
  // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
3638
- pp$8.regexp_eatSyntaxCharacter = function(state) {
4041
+ pp$1.regexp_eatSyntaxCharacter = function(state) {
3639
4042
  var ch = state.current();
3640
4043
  if (isSyntaxCharacter(ch)) {
3641
4044
  state.lastIntValue = ch;
@@ -3657,7 +4060,7 @@ function isSyntaxCharacter(ch) {
3657
4060
 
3658
4061
  // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
3659
4062
  // But eat eager.
3660
- pp$8.regexp_eatPatternCharacters = function(state) {
4063
+ pp$1.regexp_eatPatternCharacters = function(state) {
3661
4064
  var start = state.pos;
3662
4065
  var ch = 0;
3663
4066
  while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
@@ -3667,7 +4070,7 @@ pp$8.regexp_eatPatternCharacters = function(state) {
3667
4070
  };
3668
4071
 
3669
4072
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
3670
- pp$8.regexp_eatExtendedPatternCharacter = function(state) {
4073
+ pp$1.regexp_eatExtendedPatternCharacter = function(state) {
3671
4074
  var ch = state.current();
3672
4075
  if (
3673
4076
  ch !== -1 &&
@@ -3688,7 +4091,7 @@ pp$8.regexp_eatExtendedPatternCharacter = function(state) {
3688
4091
  // GroupSpecifier ::
3689
4092
  // [empty]
3690
4093
  // `?` GroupName
3691
- pp$8.regexp_groupSpecifier = function(state) {
4094
+ pp$1.regexp_groupSpecifier = function(state) {
3692
4095
  if (state.eat(0x3F /* ? */)) {
3693
4096
  if (this.regexp_eatGroupName(state)) {
3694
4097
  if (state.groupNames.indexOf(state.lastStringValue) !== -1) {
@@ -3704,7 +4107,7 @@ pp$8.regexp_groupSpecifier = function(state) {
3704
4107
  // GroupName ::
3705
4108
  // `<` RegExpIdentifierName `>`
3706
4109
  // Note: this updates `state.lastStringValue` property with the eaten name.
3707
- pp$8.regexp_eatGroupName = function(state) {
4110
+ pp$1.regexp_eatGroupName = function(state) {
3708
4111
  state.lastStringValue = "";
3709
4112
  if (state.eat(0x3C /* < */)) {
3710
4113
  if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
@@ -3719,7 +4122,7 @@ pp$8.regexp_eatGroupName = function(state) {
3719
4122
  // RegExpIdentifierStart
3720
4123
  // RegExpIdentifierName RegExpIdentifierPart
3721
4124
  // Note: this updates `state.lastStringValue` property with the eaten name.
3722
- pp$8.regexp_eatRegExpIdentifierName = function(state) {
4125
+ pp$1.regexp_eatRegExpIdentifierName = function(state) {
3723
4126
  state.lastStringValue = "";
3724
4127
  if (this.regexp_eatRegExpIdentifierStart(state)) {
3725
4128
  state.lastStringValue += codePointToString(state.lastIntValue);
@@ -3736,7 +4139,7 @@ pp$8.regexp_eatRegExpIdentifierName = function(state) {
3736
4139
  // `$`
3737
4140
  // `_`
3738
4141
  // `\` RegExpUnicodeEscapeSequence[+U]
3739
- pp$8.regexp_eatRegExpIdentifierStart = function(state) {
4142
+ pp$1.regexp_eatRegExpIdentifierStart = function(state) {
3740
4143
  var start = state.pos;
3741
4144
  var forceU = this.options.ecmaVersion >= 11;
3742
4145
  var ch = state.current(forceU);
@@ -3764,7 +4167,7 @@ function isRegExpIdentifierStart(ch) {
3764
4167
  // `\` RegExpUnicodeEscapeSequence[+U]
3765
4168
  // <ZWNJ>
3766
4169
  // <ZWJ>
3767
- pp$8.regexp_eatRegExpIdentifierPart = function(state) {
4170
+ pp$1.regexp_eatRegExpIdentifierPart = function(state) {
3768
4171
  var start = state.pos;
3769
4172
  var forceU = this.options.ecmaVersion >= 11;
3770
4173
  var ch = state.current(forceU);
@@ -3786,7 +4189,7 @@ function isRegExpIdentifierPart(ch) {
3786
4189
  }
3787
4190
 
3788
4191
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
3789
- pp$8.regexp_eatAtomEscape = function(state) {
4192
+ pp$1.regexp_eatAtomEscape = function(state) {
3790
4193
  if (
3791
4194
  this.regexp_eatBackReference(state) ||
3792
4195
  this.regexp_eatCharacterClassEscape(state) ||
@@ -3804,7 +4207,7 @@ pp$8.regexp_eatAtomEscape = function(state) {
3804
4207
  }
3805
4208
  return false
3806
4209
  };
3807
- pp$8.regexp_eatBackReference = function(state) {
4210
+ pp$1.regexp_eatBackReference = function(state) {
3808
4211
  var start = state.pos;
3809
4212
  if (this.regexp_eatDecimalEscape(state)) {
3810
4213
  var n = state.lastIntValue;
@@ -3822,7 +4225,7 @@ pp$8.regexp_eatBackReference = function(state) {
3822
4225
  }
3823
4226
  return false
3824
4227
  };
3825
- pp$8.regexp_eatKGroupName = function(state) {
4228
+ pp$1.regexp_eatKGroupName = function(state) {
3826
4229
  if (state.eat(0x6B /* k */)) {
3827
4230
  if (this.regexp_eatGroupName(state)) {
3828
4231
  state.backReferenceNames.push(state.lastStringValue);
@@ -3834,7 +4237,7 @@ pp$8.regexp_eatKGroupName = function(state) {
3834
4237
  };
3835
4238
 
3836
4239
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
3837
- pp$8.regexp_eatCharacterEscape = function(state) {
4240
+ pp$1.regexp_eatCharacterEscape = function(state) {
3838
4241
  return (
3839
4242
  this.regexp_eatControlEscape(state) ||
3840
4243
  this.regexp_eatCControlLetter(state) ||
@@ -3845,7 +4248,7 @@ pp$8.regexp_eatCharacterEscape = function(state) {
3845
4248
  this.regexp_eatIdentityEscape(state)
3846
4249
  )
3847
4250
  };
3848
- pp$8.regexp_eatCControlLetter = function(state) {
4251
+ pp$1.regexp_eatCControlLetter = function(state) {
3849
4252
  var start = state.pos;
3850
4253
  if (state.eat(0x63 /* c */)) {
3851
4254
  if (this.regexp_eatControlLetter(state)) {
@@ -3855,7 +4258,7 @@ pp$8.regexp_eatCControlLetter = function(state) {
3855
4258
  }
3856
4259
  return false
3857
4260
  };
3858
- pp$8.regexp_eatZero = function(state) {
4261
+ pp$1.regexp_eatZero = function(state) {
3859
4262
  if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
3860
4263
  state.lastIntValue = 0;
3861
4264
  state.advance();
@@ -3865,7 +4268,7 @@ pp$8.regexp_eatZero = function(state) {
3865
4268
  };
3866
4269
 
3867
4270
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
3868
- pp$8.regexp_eatControlEscape = function(state) {
4271
+ pp$1.regexp_eatControlEscape = function(state) {
3869
4272
  var ch = state.current();
3870
4273
  if (ch === 0x74 /* t */) {
3871
4274
  state.lastIntValue = 0x09; /* \t */
@@ -3896,7 +4299,7 @@ pp$8.regexp_eatControlEscape = function(state) {
3896
4299
  };
3897
4300
 
3898
4301
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
3899
- pp$8.regexp_eatControlLetter = function(state) {
4302
+ pp$1.regexp_eatControlLetter = function(state) {
3900
4303
  var ch = state.current();
3901
4304
  if (isControlLetter(ch)) {
3902
4305
  state.lastIntValue = ch % 0x20;
@@ -3913,7 +4316,7 @@ function isControlLetter(ch) {
3913
4316
  }
3914
4317
 
3915
4318
  // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
3916
- pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {
4319
+ pp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {
3917
4320
  if ( forceU === void 0 ) forceU = false;
3918
4321
 
3919
4322
  var start = state.pos;
@@ -3958,7 +4361,7 @@ function isValidUnicode(ch) {
3958
4361
  }
3959
4362
 
3960
4363
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
3961
- pp$8.regexp_eatIdentityEscape = function(state) {
4364
+ pp$1.regexp_eatIdentityEscape = function(state) {
3962
4365
  if (state.switchU) {
3963
4366
  if (this.regexp_eatSyntaxCharacter(state)) {
3964
4367
  return true
@@ -3981,7 +4384,7 @@ pp$8.regexp_eatIdentityEscape = function(state) {
3981
4384
  };
3982
4385
 
3983
4386
  // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
3984
- pp$8.regexp_eatDecimalEscape = function(state) {
4387
+ pp$1.regexp_eatDecimalEscape = function(state) {
3985
4388
  state.lastIntValue = 0;
3986
4389
  var ch = state.current();
3987
4390
  if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
@@ -3995,7 +4398,7 @@ pp$8.regexp_eatDecimalEscape = function(state) {
3995
4398
  };
3996
4399
 
3997
4400
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
3998
- pp$8.regexp_eatCharacterClassEscape = function(state) {
4401
+ pp$1.regexp_eatCharacterClassEscape = function(state) {
3999
4402
  var ch = state.current();
4000
4403
 
4001
4404
  if (isCharacterClassEscape(ch)) {
@@ -4037,7 +4440,7 @@ function isCharacterClassEscape(ch) {
4037
4440
  // UnicodePropertyValueExpression ::
4038
4441
  // UnicodePropertyName `=` UnicodePropertyValue
4039
4442
  // LoneUnicodePropertyNameOrValue
4040
- pp$8.regexp_eatUnicodePropertyValueExpression = function(state) {
4443
+ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
4041
4444
  var start = state.pos;
4042
4445
 
4043
4446
  // UnicodePropertyName `=` UnicodePropertyValue
@@ -4059,20 +4462,20 @@ pp$8.regexp_eatUnicodePropertyValueExpression = function(state) {
4059
4462
  }
4060
4463
  return false
4061
4464
  };
4062
- pp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
4063
- if (!has(state.unicodeProperties.nonBinary, name))
4465
+ pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
4466
+ if (!hasOwn(state.unicodeProperties.nonBinary, name))
4064
4467
  { state.raise("Invalid property name"); }
4065
4468
  if (!state.unicodeProperties.nonBinary[name].test(value))
4066
4469
  { state.raise("Invalid property value"); }
4067
4470
  };
4068
- pp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
4471
+ pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
4069
4472
  if (!state.unicodeProperties.binary.test(nameOrValue))
4070
4473
  { state.raise("Invalid property name"); }
4071
4474
  };
4072
4475
 
4073
4476
  // UnicodePropertyName ::
4074
4477
  // UnicodePropertyNameCharacters
4075
- pp$8.regexp_eatUnicodePropertyName = function(state) {
4478
+ pp$1.regexp_eatUnicodePropertyName = function(state) {
4076
4479
  var ch = 0;
4077
4480
  state.lastStringValue = "";
4078
4481
  while (isUnicodePropertyNameCharacter(ch = state.current())) {
@@ -4087,7 +4490,7 @@ function isUnicodePropertyNameCharacter(ch) {
4087
4490
 
4088
4491
  // UnicodePropertyValue ::
4089
4492
  // UnicodePropertyValueCharacters
4090
- pp$8.regexp_eatUnicodePropertyValue = function(state) {
4493
+ pp$1.regexp_eatUnicodePropertyValue = function(state) {
4091
4494
  var ch = 0;
4092
4495
  state.lastStringValue = "";
4093
4496
  while (isUnicodePropertyValueCharacter(ch = state.current())) {
@@ -4102,12 +4505,12 @@ function isUnicodePropertyValueCharacter(ch) {
4102
4505
 
4103
4506
  // LoneUnicodePropertyNameOrValue ::
4104
4507
  // UnicodePropertyValueCharacters
4105
- pp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
4508
+ pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
4106
4509
  return this.regexp_eatUnicodePropertyValue(state)
4107
4510
  };
4108
4511
 
4109
4512
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
4110
- pp$8.regexp_eatCharacterClass = function(state) {
4513
+ pp$1.regexp_eatCharacterClass = function(state) {
4111
4514
  if (state.eat(0x5B /* [ */)) {
4112
4515
  state.eat(0x5E /* ^ */);
4113
4516
  this.regexp_classRanges(state);
@@ -4123,7 +4526,7 @@ pp$8.regexp_eatCharacterClass = function(state) {
4123
4526
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
4124
4527
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
4125
4528
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
4126
- pp$8.regexp_classRanges = function(state) {
4529
+ pp$1.regexp_classRanges = function(state) {
4127
4530
  while (this.regexp_eatClassAtom(state)) {
4128
4531
  var left = state.lastIntValue;
4129
4532
  if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
@@ -4140,7 +4543,7 @@ pp$8.regexp_classRanges = function(state) {
4140
4543
 
4141
4544
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
4142
4545
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
4143
- pp$8.regexp_eatClassAtom = function(state) {
4546
+ pp$1.regexp_eatClassAtom = function(state) {
4144
4547
  var start = state.pos;
4145
4548
 
4146
4549
  if (state.eat(0x5C /* \ */)) {
@@ -4169,7 +4572,7 @@ pp$8.regexp_eatClassAtom = function(state) {
4169
4572
  };
4170
4573
 
4171
4574
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
4172
- pp$8.regexp_eatClassEscape = function(state) {
4575
+ pp$1.regexp_eatClassEscape = function(state) {
4173
4576
  var start = state.pos;
4174
4577
 
4175
4578
  if (state.eat(0x62 /* b */)) {
@@ -4196,7 +4599,7 @@ pp$8.regexp_eatClassEscape = function(state) {
4196
4599
  };
4197
4600
 
4198
4601
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
4199
- pp$8.regexp_eatClassControlLetter = function(state) {
4602
+ pp$1.regexp_eatClassControlLetter = function(state) {
4200
4603
  var ch = state.current();
4201
4604
  if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
4202
4605
  state.lastIntValue = ch % 0x20;
@@ -4207,7 +4610,7 @@ pp$8.regexp_eatClassControlLetter = function(state) {
4207
4610
  };
4208
4611
 
4209
4612
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
4210
- pp$8.regexp_eatHexEscapeSequence = function(state) {
4613
+ pp$1.regexp_eatHexEscapeSequence = function(state) {
4211
4614
  var start = state.pos;
4212
4615
  if (state.eat(0x78 /* x */)) {
4213
4616
  if (this.regexp_eatFixedHexDigits(state, 2)) {
@@ -4222,7 +4625,7 @@ pp$8.regexp_eatHexEscapeSequence = function(state) {
4222
4625
  };
4223
4626
 
4224
4627
  // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
4225
- pp$8.regexp_eatDecimalDigits = function(state) {
4628
+ pp$1.regexp_eatDecimalDigits = function(state) {
4226
4629
  var start = state.pos;
4227
4630
  var ch = 0;
4228
4631
  state.lastIntValue = 0;
@@ -4237,7 +4640,7 @@ function isDecimalDigit(ch) {
4237
4640
  }
4238
4641
 
4239
4642
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
4240
- pp$8.regexp_eatHexDigits = function(state) {
4643
+ pp$1.regexp_eatHexDigits = function(state) {
4241
4644
  var start = state.pos;
4242
4645
  var ch = 0;
4243
4646
  state.lastIntValue = 0;
@@ -4266,7 +4669,7 @@ function hexToInt(ch) {
4266
4669
 
4267
4670
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
4268
4671
  // Allows only 0-377(octal) i.e. 0-255(decimal).
4269
- pp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {
4672
+ pp$1.regexp_eatLegacyOctalEscapeSequence = function(state) {
4270
4673
  if (this.regexp_eatOctalDigit(state)) {
4271
4674
  var n1 = state.lastIntValue;
4272
4675
  if (this.regexp_eatOctalDigit(state)) {
@@ -4285,7 +4688,7 @@ pp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {
4285
4688
  };
4286
4689
 
4287
4690
  // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
4288
- pp$8.regexp_eatOctalDigit = function(state) {
4691
+ pp$1.regexp_eatOctalDigit = function(state) {
4289
4692
  var ch = state.current();
4290
4693
  if (isOctalDigit(ch)) {
4291
4694
  state.lastIntValue = ch - 0x30; /* 0 */
@@ -4302,7 +4705,7 @@ function isOctalDigit(ch) {
4302
4705
  // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
4303
4706
  // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
4304
4707
  // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
4305
- pp$8.regexp_eatFixedHexDigits = function(state, length) {
4708
+ pp$1.regexp_eatFixedHexDigits = function(state, length) {
4306
4709
  var start = state.pos;
4307
4710
  state.lastIntValue = 0;
4308
4711
  for (var i = 0; i < length; ++i) {
@@ -4334,11 +4737,11 @@ var Token = function Token(p) {
4334
4737
 
4335
4738
  // ## Tokenizer
4336
4739
 
4337
- var pp$9 = Parser.prototype;
4740
+ var pp = Parser.prototype;
4338
4741
 
4339
4742
  // Move to the next token
4340
4743
 
4341
- pp$9.next = function(ignoreEscapeSequenceInKeyword) {
4744
+ pp.next = function(ignoreEscapeSequenceInKeyword) {
4342
4745
  if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)
4343
4746
  { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); }
4344
4747
  if (this.options.onToken)
@@ -4351,21 +4754,21 @@ pp$9.next = function(ignoreEscapeSequenceInKeyword) {
4351
4754
  this.nextToken();
4352
4755
  };
4353
4756
 
4354
- pp$9.getToken = function() {
4757
+ pp.getToken = function() {
4355
4758
  this.next();
4356
4759
  return new Token(this)
4357
4760
  };
4358
4761
 
4359
4762
  // If we're in an ES6 environment, make parsers iterable
4360
4763
  if (typeof Symbol !== "undefined")
4361
- { pp$9[Symbol.iterator] = function() {
4362
- var this$1 = this;
4764
+ { pp[Symbol.iterator] = function() {
4765
+ var this$1$1 = this;
4363
4766
 
4364
4767
  return {
4365
4768
  next: function () {
4366
- var token = this$1.getToken();
4769
+ var token = this$1$1.getToken();
4367
4770
  return {
4368
- done: token.type === types.eof,
4771
+ done: token.type === types$1.eof,
4369
4772
  value: token
4370
4773
  }
4371
4774
  }
@@ -4375,26 +4778,22 @@ if (typeof Symbol !== "undefined")
4375
4778
  // Toggle strict mode. Re-reads the next number or string to please
4376
4779
  // pedantic tests (`"use strict"; 010;` should fail).
4377
4780
 
4378
- pp$9.curContext = function() {
4379
- return this.context[this.context.length - 1]
4380
- };
4381
-
4382
4781
  // Read a single token, updating the parser object's token-related
4383
4782
  // properties.
4384
4783
 
4385
- pp$9.nextToken = function() {
4784
+ pp.nextToken = function() {
4386
4785
  var curContext = this.curContext();
4387
4786
  if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }
4388
4787
 
4389
4788
  this.start = this.pos;
4390
4789
  if (this.options.locations) { this.startLoc = this.curPosition(); }
4391
- if (this.pos >= this.input.length) { return this.finishToken(types.eof) }
4790
+ if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) }
4392
4791
 
4393
4792
  if (curContext.override) { return curContext.override(this) }
4394
4793
  else { this.readToken(this.fullCharCodeAtPos()); }
4395
4794
  };
4396
4795
 
4397
- pp$9.readToken = function(code) {
4796
+ pp.readToken = function(code) {
4398
4797
  // Identifier or keyword. '\uXXXX' sequences are allowed in
4399
4798
  // identifiers, so '\' also dispatches to that.
4400
4799
  if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
@@ -4403,24 +4802,22 @@ pp$9.readToken = function(code) {
4403
4802
  return this.getTokenFromCode(code)
4404
4803
  };
4405
4804
 
4406
- pp$9.fullCharCodeAtPos = function() {
4805
+ pp.fullCharCodeAtPos = function() {
4407
4806
  var code = this.input.charCodeAt(this.pos);
4408
- if (code <= 0xd7ff || code >= 0xe000) { return code }
4807
+ if (code <= 0xd7ff || code >= 0xdc00) { return code }
4409
4808
  var next = this.input.charCodeAt(this.pos + 1);
4410
- return (code << 10) + next - 0x35fdc00
4809
+ return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
4411
4810
  };
4412
4811
 
4413
- pp$9.skipBlockComment = function() {
4812
+ pp.skipBlockComment = function() {
4414
4813
  var startLoc = this.options.onComment && this.curPosition();
4415
4814
  var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
4416
4815
  if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
4417
4816
  this.pos = end + 2;
4418
4817
  if (this.options.locations) {
4419
- lineBreakG.lastIndex = start;
4420
- var match;
4421
- while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
4818
+ for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
4422
4819
  ++this.curLine;
4423
- this.lineStart = match.index + match[0].length;
4820
+ pos = this.lineStart = nextBreak;
4424
4821
  }
4425
4822
  }
4426
4823
  if (this.options.onComment)
@@ -4428,7 +4825,7 @@ pp$9.skipBlockComment = function() {
4428
4825
  startLoc, this.curPosition()); }
4429
4826
  };
4430
4827
 
4431
- pp$9.skipLineComment = function(startSkip) {
4828
+ pp.skipLineComment = function(startSkip) {
4432
4829
  var start = this.pos;
4433
4830
  var startLoc = this.options.onComment && this.curPosition();
4434
4831
  var ch = this.input.charCodeAt(this.pos += startSkip);
@@ -4443,7 +4840,7 @@ pp$9.skipLineComment = function(startSkip) {
4443
4840
  // Called at the start of the parse and after every token. Skips
4444
4841
  // whitespace and comments, and.
4445
4842
 
4446
- pp$9.skipSpace = function() {
4843
+ pp.skipSpace = function() {
4447
4844
  loop: while (this.pos < this.input.length) {
4448
4845
  var ch = this.input.charCodeAt(this.pos);
4449
4846
  switch (ch) {
@@ -4488,7 +4885,7 @@ pp$9.skipSpace = function() {
4488
4885
  // the token, so that the next one's `start` will point at the
4489
4886
  // right position.
4490
4887
 
4491
- pp$9.finishToken = function(type, val) {
4888
+ pp.finishToken = function(type, val) {
4492
4889
  this.end = this.pos;
4493
4890
  if (this.options.locations) { this.endLoc = this.curPosition(); }
4494
4891
  var prevType = this.type;
@@ -4507,62 +4904,62 @@ pp$9.finishToken = function(type, val) {
4507
4904
  //
4508
4905
  // All in the name of speed.
4509
4906
  //
4510
- pp$9.readToken_dot = function() {
4907
+ pp.readToken_dot = function() {
4511
4908
  var next = this.input.charCodeAt(this.pos + 1);
4512
4909
  if (next >= 48 && next <= 57) { return this.readNumber(true) }
4513
4910
  var next2 = this.input.charCodeAt(this.pos + 2);
4514
4911
  if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
4515
4912
  this.pos += 3;
4516
- return this.finishToken(types.ellipsis)
4913
+ return this.finishToken(types$1.ellipsis)
4517
4914
  } else {
4518
4915
  ++this.pos;
4519
- return this.finishToken(types.dot)
4916
+ return this.finishToken(types$1.dot)
4520
4917
  }
4521
4918
  };
4522
4919
 
4523
- pp$9.readToken_slash = function() { // '/'
4920
+ pp.readToken_slash = function() { // '/'
4524
4921
  var next = this.input.charCodeAt(this.pos + 1);
4525
4922
  if (this.exprAllowed) { ++this.pos; return this.readRegexp() }
4526
- if (next === 61) { return this.finishOp(types.assign, 2) }
4527
- return this.finishOp(types.slash, 1)
4923
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4924
+ return this.finishOp(types$1.slash, 1)
4528
4925
  };
4529
4926
 
4530
- pp$9.readToken_mult_modulo_exp = function(code) { // '%*'
4927
+ pp.readToken_mult_modulo_exp = function(code) { // '%*'
4531
4928
  var next = this.input.charCodeAt(this.pos + 1);
4532
4929
  var size = 1;
4533
- var tokentype = code === 42 ? types.star : types.modulo;
4930
+ var tokentype = code === 42 ? types$1.star : types$1.modulo;
4534
4931
 
4535
4932
  // exponentiation operator ** and **=
4536
4933
  if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {
4537
4934
  ++size;
4538
- tokentype = types.starstar;
4935
+ tokentype = types$1.starstar;
4539
4936
  next = this.input.charCodeAt(this.pos + 2);
4540
4937
  }
4541
4938
 
4542
- if (next === 61) { return this.finishOp(types.assign, size + 1) }
4939
+ if (next === 61) { return this.finishOp(types$1.assign, size + 1) }
4543
4940
  return this.finishOp(tokentype, size)
4544
4941
  };
4545
4942
 
4546
- pp$9.readToken_pipe_amp = function(code) { // '|&'
4943
+ pp.readToken_pipe_amp = function(code) { // '|&'
4547
4944
  var next = this.input.charCodeAt(this.pos + 1);
4548
4945
  if (next === code) {
4549
4946
  if (this.options.ecmaVersion >= 12) {
4550
4947
  var next2 = this.input.charCodeAt(this.pos + 2);
4551
- if (next2 === 61) { return this.finishOp(types.assign, 3) }
4948
+ if (next2 === 61) { return this.finishOp(types$1.assign, 3) }
4552
4949
  }
4553
- return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2)
4950
+ return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2)
4554
4951
  }
4555
- if (next === 61) { return this.finishOp(types.assign, 2) }
4556
- return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)
4952
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4953
+ return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1)
4557
4954
  };
4558
4955
 
4559
- pp$9.readToken_caret = function() { // '^'
4956
+ pp.readToken_caret = function() { // '^'
4560
4957
  var next = this.input.charCodeAt(this.pos + 1);
4561
- if (next === 61) { return this.finishOp(types.assign, 2) }
4562
- return this.finishOp(types.bitwiseXOR, 1)
4958
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4959
+ return this.finishOp(types$1.bitwiseXOR, 1)
4563
4960
  };
4564
4961
 
4565
- pp$9.readToken_plus_min = function(code) { // '+-'
4962
+ pp.readToken_plus_min = function(code) { // '+-'
4566
4963
  var next = this.input.charCodeAt(this.pos + 1);
4567
4964
  if (next === code) {
4568
4965
  if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&
@@ -4572,19 +4969,19 @@ pp$9.readToken_plus_min = function(code) { // '+-'
4572
4969
  this.skipSpace();
4573
4970
  return this.nextToken()
4574
4971
  }
4575
- return this.finishOp(types.incDec, 2)
4972
+ return this.finishOp(types$1.incDec, 2)
4576
4973
  }
4577
- if (next === 61) { return this.finishOp(types.assign, 2) }
4578
- return this.finishOp(types.plusMin, 1)
4974
+ if (next === 61) { return this.finishOp(types$1.assign, 2) }
4975
+ return this.finishOp(types$1.plusMin, 1)
4579
4976
  };
4580
4977
 
4581
- pp$9.readToken_lt_gt = function(code) { // '<>'
4978
+ pp.readToken_lt_gt = function(code) { // '<>'
4582
4979
  var next = this.input.charCodeAt(this.pos + 1);
4583
4980
  var size = 1;
4584
4981
  if (next === code) {
4585
4982
  size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
4586
- if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
4587
- return this.finishOp(types.bitShift, size)
4983
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) }
4984
+ return this.finishOp(types$1.bitShift, size)
4588
4985
  }
4589
4986
  if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
4590
4987
  this.input.charCodeAt(this.pos + 3) === 45) {
@@ -4594,39 +4991,53 @@ pp$9.readToken_lt_gt = function(code) { // '<>'
4594
4991
  return this.nextToken()
4595
4992
  }
4596
4993
  if (next === 61) { size = 2; }
4597
- return this.finishOp(types.relational, size)
4994
+ return this.finishOp(types$1.relational, size)
4598
4995
  };
4599
4996
 
4600
- pp$9.readToken_eq_excl = function(code) { // '=!'
4997
+ pp.readToken_eq_excl = function(code) { // '=!'
4601
4998
  var next = this.input.charCodeAt(this.pos + 1);
4602
- if (next === 61) { return this.finishOp(types.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }
4999
+ if (next === 61) { return this.finishOp(types$1.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }
4603
5000
  if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'
4604
5001
  this.pos += 2;
4605
- return this.finishToken(types.arrow)
5002
+ return this.finishToken(types$1.arrow)
4606
5003
  }
4607
- return this.finishOp(code === 61 ? types.eq : types.prefix, 1)
5004
+ return this.finishOp(code === 61 ? types$1.eq : types$1.prefix, 1)
4608
5005
  };
4609
5006
 
4610
- pp$9.readToken_question = function() { // '?'
5007
+ pp.readToken_question = function() { // '?'
4611
5008
  var ecmaVersion = this.options.ecmaVersion;
4612
5009
  if (ecmaVersion >= 11) {
4613
5010
  var next = this.input.charCodeAt(this.pos + 1);
4614
5011
  if (next === 46) {
4615
5012
  var next2 = this.input.charCodeAt(this.pos + 2);
4616
- if (next2 < 48 || next2 > 57) { return this.finishOp(types.questionDot, 2) }
5013
+ if (next2 < 48 || next2 > 57) { return this.finishOp(types$1.questionDot, 2) }
4617
5014
  }
4618
5015
  if (next === 63) {
4619
5016
  if (ecmaVersion >= 12) {
4620
5017
  var next2$1 = this.input.charCodeAt(this.pos + 2);
4621
- if (next2$1 === 61) { return this.finishOp(types.assign, 3) }
5018
+ if (next2$1 === 61) { return this.finishOp(types$1.assign, 3) }
4622
5019
  }
4623
- return this.finishOp(types.coalesce, 2)
5020
+ return this.finishOp(types$1.coalesce, 2)
4624
5021
  }
4625
5022
  }
4626
- return this.finishOp(types.question, 1)
5023
+ return this.finishOp(types$1.question, 1)
4627
5024
  };
4628
5025
 
4629
- pp$9.getTokenFromCode = function(code) {
5026
+ pp.readToken_numberSign = function() { // '#'
5027
+ var ecmaVersion = this.options.ecmaVersion;
5028
+ var code = 35; // '#'
5029
+ if (ecmaVersion >= 13) {
5030
+ ++this.pos;
5031
+ code = this.fullCharCodeAtPos();
5032
+ if (isIdentifierStart(code, true) || code === 92 /* '\' */) {
5033
+ return this.finishToken(types$1.privateId, this.readWord1())
5034
+ }
5035
+ }
5036
+
5037
+ this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
5038
+ };
5039
+
5040
+ pp.getTokenFromCode = function(code) {
4630
5041
  switch (code) {
4631
5042
  // The interpretation of a dot depends on whether it is followed
4632
5043
  // by a digit or another two dots.
@@ -4634,20 +5045,20 @@ pp$9.getTokenFromCode = function(code) {
4634
5045
  return this.readToken_dot()
4635
5046
 
4636
5047
  // Punctuation tokens.
4637
- case 40: ++this.pos; return this.finishToken(types.parenL)
4638
- case 41: ++this.pos; return this.finishToken(types.parenR)
4639
- case 59: ++this.pos; return this.finishToken(types.semi)
4640
- case 44: ++this.pos; return this.finishToken(types.comma)
4641
- case 91: ++this.pos; return this.finishToken(types.bracketL)
4642
- case 93: ++this.pos; return this.finishToken(types.bracketR)
4643
- case 123: ++this.pos; return this.finishToken(types.braceL)
4644
- case 125: ++this.pos; return this.finishToken(types.braceR)
4645
- case 58: ++this.pos; return this.finishToken(types.colon)
5048
+ case 40: ++this.pos; return this.finishToken(types$1.parenL)
5049
+ case 41: ++this.pos; return this.finishToken(types$1.parenR)
5050
+ case 59: ++this.pos; return this.finishToken(types$1.semi)
5051
+ case 44: ++this.pos; return this.finishToken(types$1.comma)
5052
+ case 91: ++this.pos; return this.finishToken(types$1.bracketL)
5053
+ case 93: ++this.pos; return this.finishToken(types$1.bracketR)
5054
+ case 123: ++this.pos; return this.finishToken(types$1.braceL)
5055
+ case 125: ++this.pos; return this.finishToken(types$1.braceR)
5056
+ case 58: ++this.pos; return this.finishToken(types$1.colon)
4646
5057
 
4647
5058
  case 96: // '`'
4648
5059
  if (this.options.ecmaVersion < 6) { break }
4649
5060
  ++this.pos;
4650
- return this.finishToken(types.backQuote)
5061
+ return this.finishToken(types$1.backQuote)
4651
5062
 
4652
5063
  case 48: // '0'
4653
5064
  var next = this.input.charCodeAt(this.pos + 1);
@@ -4670,7 +5081,6 @@ pp$9.getTokenFromCode = function(code) {
4670
5081
  // often referred to. `finishOp` simply skips the amount of
4671
5082
  // characters it is given as second argument, and returns a token
4672
5083
  // of the type given by its first argument.
4673
-
4674
5084
  case 47: // '/'
4675
5085
  return this.readToken_slash()
4676
5086
 
@@ -4696,19 +5106,22 @@ pp$9.getTokenFromCode = function(code) {
4696
5106
  return this.readToken_question()
4697
5107
 
4698
5108
  case 126: // '~'
4699
- return this.finishOp(types.prefix, 1)
5109
+ return this.finishOp(types$1.prefix, 1)
5110
+
5111
+ case 35: // '#'
5112
+ return this.readToken_numberSign()
4700
5113
  }
4701
5114
 
4702
- this.raise(this.pos, "Unexpected character '" + codePointToString$1(code) + "'");
5115
+ this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
4703
5116
  };
4704
5117
 
4705
- pp$9.finishOp = function(type, size) {
5118
+ pp.finishOp = function(type, size) {
4706
5119
  var str = this.input.slice(this.pos, this.pos + size);
4707
5120
  this.pos += size;
4708
5121
  return this.finishToken(type, str)
4709
5122
  };
4710
5123
 
4711
- pp$9.readRegexp = function() {
5124
+ pp.readRegexp = function() {
4712
5125
  var escaped, inClass, start = this.pos;
4713
5126
  for (;;) {
4714
5127
  if (this.pos >= this.input.length) { this.raise(start, "Unterminated regular expression"); }
@@ -4743,14 +5156,14 @@ pp$9.readRegexp = function() {
4743
5156
  // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral
4744
5157
  }
4745
5158
 
4746
- return this.finishToken(types.regexp, {pattern: pattern, flags: flags, value: value})
5159
+ return this.finishToken(types$1.regexp, {pattern: pattern, flags: flags, value: value})
4747
5160
  };
4748
5161
 
4749
5162
  // Read an integer in the given radix. Return null if zero digits
4750
5163
  // were read, the integer value otherwise. When `len` is given, this
4751
5164
  // will return `null` unless the integer has exactly `len` digits.
4752
5165
 
4753
- pp$9.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
5166
+ pp.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
4754
5167
  // `len` is used for character escape sequences. In that case, disallow separators.
4755
5168
  var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined;
4756
5169
 
@@ -4804,7 +5217,7 @@ function stringToBigInt(str) {
4804
5217
  return BigInt(str.replace(/_/g, ""))
4805
5218
  }
4806
5219
 
4807
- pp$9.readRadixNumber = function(radix) {
5220
+ pp.readRadixNumber = function(radix) {
4808
5221
  var start = this.pos;
4809
5222
  this.pos += 2; // 0x
4810
5223
  var val = this.readInt(radix);
@@ -4813,12 +5226,12 @@ pp$9.readRadixNumber = function(radix) {
4813
5226
  val = stringToBigInt(this.input.slice(start, this.pos));
4814
5227
  ++this.pos;
4815
5228
  } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4816
- return this.finishToken(types.num, val)
5229
+ return this.finishToken(types$1.num, val)
4817
5230
  };
4818
5231
 
4819
5232
  // Read an integer, octal integer, or floating-point number.
4820
5233
 
4821
- pp$9.readNumber = function(startsWithDot) {
5234
+ pp.readNumber = function(startsWithDot) {
4822
5235
  var start = this.pos;
4823
5236
  if (!startsWithDot && this.readInt(10, undefined, true) === null) { this.raise(start, "Invalid number"); }
4824
5237
  var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48;
@@ -4828,7 +5241,7 @@ pp$9.readNumber = function(startsWithDot) {
4828
5241
  var val$1 = stringToBigInt(this.input.slice(start, this.pos));
4829
5242
  ++this.pos;
4830
5243
  if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4831
- return this.finishToken(types.num, val$1)
5244
+ return this.finishToken(types$1.num, val$1)
4832
5245
  }
4833
5246
  if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; }
4834
5247
  if (next === 46 && !octal) { // '.'
@@ -4844,12 +5257,12 @@ pp$9.readNumber = function(startsWithDot) {
4844
5257
  if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
4845
5258
 
4846
5259
  var val = stringToNumber(this.input.slice(start, this.pos), octal);
4847
- return this.finishToken(types.num, val)
5260
+ return this.finishToken(types$1.num, val)
4848
5261
  };
4849
5262
 
4850
5263
  // Read a string value, interpreting backslash-escapes.
4851
5264
 
4852
- pp$9.readCodePoint = function() {
5265
+ pp.readCodePoint = function() {
4853
5266
  var ch = this.input.charCodeAt(this.pos), code;
4854
5267
 
4855
5268
  if (ch === 123) { // '{'
@@ -4864,14 +5277,7 @@ pp$9.readCodePoint = function() {
4864
5277
  return code
4865
5278
  };
4866
5279
 
4867
- function codePointToString$1(code) {
4868
- // UTF-16 Decoding
4869
- if (code <= 0xFFFF) { return String.fromCharCode(code) }
4870
- code -= 0x10000;
4871
- return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
4872
- }
4873
-
4874
- pp$9.readString = function(quote) {
5280
+ pp.readString = function(quote) {
4875
5281
  var out = "", chunkStart = ++this.pos;
4876
5282
  for (;;) {
4877
5283
  if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated string constant"); }
@@ -4881,20 +5287,27 @@ pp$9.readString = function(quote) {
4881
5287
  out += this.input.slice(chunkStart, this.pos);
4882
5288
  out += this.readEscapedChar(false);
4883
5289
  chunkStart = this.pos;
5290
+ } else if (ch === 0x2028 || ch === 0x2029) {
5291
+ if (this.options.ecmaVersion < 10) { this.raise(this.start, "Unterminated string constant"); }
5292
+ ++this.pos;
5293
+ if (this.options.locations) {
5294
+ this.curLine++;
5295
+ this.lineStart = this.pos;
5296
+ }
4884
5297
  } else {
4885
- if (isNewLine(ch, this.options.ecmaVersion >= 10)) { this.raise(this.start, "Unterminated string constant"); }
5298
+ if (isNewLine(ch)) { this.raise(this.start, "Unterminated string constant"); }
4886
5299
  ++this.pos;
4887
5300
  }
4888
5301
  }
4889
5302
  out += this.input.slice(chunkStart, this.pos++);
4890
- return this.finishToken(types.string, out)
5303
+ return this.finishToken(types$1.string, out)
4891
5304
  };
4892
5305
 
4893
5306
  // Reads template string tokens.
4894
5307
 
4895
5308
  var INVALID_TEMPLATE_ESCAPE_ERROR = {};
4896
5309
 
4897
- pp$9.tryReadTemplateToken = function() {
5310
+ pp.tryReadTemplateToken = function() {
4898
5311
  this.inTemplateElement = true;
4899
5312
  try {
4900
5313
  this.readTmplToken();
@@ -4909,7 +5322,7 @@ pp$9.tryReadTemplateToken = function() {
4909
5322
  this.inTemplateElement = false;
4910
5323
  };
4911
5324
 
4912
- pp$9.invalidStringToken = function(position, message) {
5325
+ pp.invalidStringToken = function(position, message) {
4913
5326
  if (this.inTemplateElement && this.options.ecmaVersion >= 9) {
4914
5327
  throw INVALID_TEMPLATE_ESCAPE_ERROR
4915
5328
  } else {
@@ -4917,23 +5330,23 @@ pp$9.invalidStringToken = function(position, message) {
4917
5330
  }
4918
5331
  };
4919
5332
 
4920
- pp$9.readTmplToken = function() {
5333
+ pp.readTmplToken = function() {
4921
5334
  var out = "", chunkStart = this.pos;
4922
5335
  for (;;) {
4923
5336
  if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated template"); }
4924
5337
  var ch = this.input.charCodeAt(this.pos);
4925
5338
  if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'
4926
- if (this.pos === this.start && (this.type === types.template || this.type === types.invalidTemplate)) {
5339
+ if (this.pos === this.start && (this.type === types$1.template || this.type === types$1.invalidTemplate)) {
4927
5340
  if (ch === 36) {
4928
5341
  this.pos += 2;
4929
- return this.finishToken(types.dollarBraceL)
5342
+ return this.finishToken(types$1.dollarBraceL)
4930
5343
  } else {
4931
5344
  ++this.pos;
4932
- return this.finishToken(types.backQuote)
5345
+ return this.finishToken(types$1.backQuote)
4933
5346
  }
4934
5347
  }
4935
5348
  out += this.input.slice(chunkStart, this.pos);
4936
- return this.finishToken(types.template, out)
5349
+ return this.finishToken(types$1.template, out)
4937
5350
  }
4938
5351
  if (ch === 92) { // '\'
4939
5352
  out += this.input.slice(chunkStart, this.pos);
@@ -4964,7 +5377,7 @@ pp$9.readTmplToken = function() {
4964
5377
  };
4965
5378
 
4966
5379
  // Reads a template token to search for the end, without validating any escape sequences
4967
- pp$9.readInvalidTemplateToken = function() {
5380
+ pp.readInvalidTemplateToken = function() {
4968
5381
  for (; this.pos < this.input.length; this.pos++) {
4969
5382
  switch (this.input[this.pos]) {
4970
5383
  case "\\":
@@ -4975,10 +5388,10 @@ pp$9.readInvalidTemplateToken = function() {
4975
5388
  if (this.input[this.pos + 1] !== "{") {
4976
5389
  break
4977
5390
  }
4978
- // falls through
4979
5391
 
5392
+ // falls through
4980
5393
  case "`":
4981
- return this.finishToken(types.invalidTemplate, this.input.slice(this.start, this.pos))
5394
+ return this.finishToken(types$1.invalidTemplate, this.input.slice(this.start, this.pos))
4982
5395
 
4983
5396
  // no default
4984
5397
  }
@@ -4988,14 +5401,14 @@ pp$9.readInvalidTemplateToken = function() {
4988
5401
 
4989
5402
  // Used to read escaped characters
4990
5403
 
4991
- pp$9.readEscapedChar = function(inTemplate) {
5404
+ pp.readEscapedChar = function(inTemplate) {
4992
5405
  var ch = this.input.charCodeAt(++this.pos);
4993
5406
  ++this.pos;
4994
5407
  switch (ch) {
4995
5408
  case 110: return "\n" // 'n' -> '\n'
4996
5409
  case 114: return "\r" // 'r' -> '\r'
4997
5410
  case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'
4998
- case 117: return codePointToString$1(this.readCodePoint()) // 'u'
5411
+ case 117: return codePointToString(this.readCodePoint()) // 'u'
4999
5412
  case 116: return "\t" // 't' -> '\t'
5000
5413
  case 98: return "\b" // 'b' -> '\b'
5001
5414
  case 118: return "\u000b" // 'v' -> '\u000b'
@@ -5006,6 +5419,12 @@ pp$9.readEscapedChar = function(inTemplate) {
5006
5419
  return ""
5007
5420
  case 56:
5008
5421
  case 57:
5422
+ if (this.strict) {
5423
+ this.invalidStringToken(
5424
+ this.pos - 1,
5425
+ "Invalid escape sequence"
5426
+ );
5427
+ }
5009
5428
  if (inTemplate) {
5010
5429
  var codePos = this.pos - 1;
5011
5430
 
@@ -5047,7 +5466,7 @@ pp$9.readEscapedChar = function(inTemplate) {
5047
5466
 
5048
5467
  // Used to read character escape sequences ('\x', '\u', '\U').
5049
5468
 
5050
- pp$9.readHexChar = function(len) {
5469
+ pp.readHexChar = function(len) {
5051
5470
  var codePos = this.pos;
5052
5471
  var n = this.readInt(16, len);
5053
5472
  if (n === null) { this.invalidStringToken(codePos, "Bad character escape sequence"); }
@@ -5060,7 +5479,7 @@ pp$9.readHexChar = function(len) {
5060
5479
  // Incrementally adds only escaped chars, adding other chunks as-is
5061
5480
  // as a micro-optimization.
5062
5481
 
5063
- pp$9.readWord1 = function() {
5482
+ pp.readWord1 = function() {
5064
5483
  this.containsEsc = false;
5065
5484
  var word = "", first = true, chunkStart = this.pos;
5066
5485
  var astral = this.options.ecmaVersion >= 6;
@@ -5078,7 +5497,7 @@ pp$9.readWord1 = function() {
5078
5497
  var esc = this.readCodePoint();
5079
5498
  if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))
5080
5499
  { this.invalidStringToken(escStart, "Invalid Unicode escape"); }
5081
- word += codePointToString$1(esc);
5500
+ word += codePointToString(esc);
5082
5501
  chunkStart = this.pos;
5083
5502
  } else {
5084
5503
  break
@@ -5091,18 +5510,18 @@ pp$9.readWord1 = function() {
5091
5510
  // Read an identifier or keyword token. Will check for reserved
5092
5511
  // words when necessary.
5093
5512
 
5094
- pp$9.readWord = function() {
5513
+ pp.readWord = function() {
5095
5514
  var word = this.readWord1();
5096
- var type = types.name;
5515
+ var type = types$1.name;
5097
5516
  if (this.keywords.test(word)) {
5098
- type = keywords$1[word];
5517
+ type = keywords[word];
5099
5518
  }
5100
5519
  return this.finishToken(type, word)
5101
5520
  };
5102
5521
 
5103
5522
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
5104
5523
 
5105
- var version = "7.4.1";
5524
+ var version = "8.8.0";
5106
5525
 
5107
5526
  Parser.acorn = {
5108
5527
  Parser: Parser,
@@ -5113,10 +5532,10 @@ Parser.acorn = {
5113
5532
  getLineInfo: getLineInfo,
5114
5533
  Node: Node,
5115
5534
  TokenType: TokenType,
5116
- tokTypes: types,
5117
- keywordTypes: keywords$1,
5535
+ tokTypes: types$1,
5536
+ keywordTypes: keywords,
5118
5537
  TokContext: TokContext,
5119
- tokContexts: types$1,
5538
+ tokContexts: types,
5120
5539
  isIdentifierChar: isIdentifierChar,
5121
5540
  isIdentifierStart: isIdentifierStart,
5122
5541
  Token: Token,
@@ -5152,4 +5571,4 @@ function tokenizer(input, options) {
5152
5571
  return Parser.tokenizer(input, options)
5153
5572
  }
5154
5573
 
5155
- export { Node, Parser, Position, SourceLocation, TokContext, Token, TokenType, defaultOptions, getLineInfo, isIdentifierChar, isIdentifierStart, isNewLine, keywords$1 as keywordTypes, lineBreak, lineBreakG, nonASCIIwhitespace, parse, parseExpressionAt, types$1 as tokContexts, types as tokTypes, tokenizer, version };
5574
+ export { Node, Parser, Position, SourceLocation, TokContext, Token, TokenType, defaultOptions, getLineInfo, isIdentifierChar, isIdentifierStart, isNewLine, keywords as keywordTypes, lineBreak, lineBreakG, nonASCIIwhitespace, parse, parseExpressionAt, types as tokContexts, types$1 as tokTypes, tokenizer, version };