guard-sass-lint 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4080) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Rakefile +1 -6
  4. data/guard-sass-lint.gemspec +2 -0
  5. data/lib/guard/sass/lint/version.rb +1 -1
  6. data/node_modules/.bin/sass-lint +1 -0
  7. data/node_modules/.yarn-integrity +1 -0
  8. data/node_modules/acorn-jsx/LICENSE +19 -0
  9. data/node_modules/acorn-jsx/README.md +64 -0
  10. data/node_modules/acorn-jsx/index.js +3 -0
  11. data/node_modules/acorn-jsx/inject.js +433 -0
  12. data/node_modules/acorn-jsx/node_modules/.bin/acorn +1 -0
  13. data/node_modules/acorn-jsx/node_modules/acorn/.editorconfig +7 -0
  14. data/node_modules/acorn-jsx/node_modules/acorn/.gitattributes +1 -0
  15. data/node_modules/acorn-jsx/node_modules/acorn/.npmignore +3 -0
  16. data/node_modules/acorn-jsx/node_modules/acorn/.tern-project +6 -0
  17. data/node_modules/acorn-jsx/node_modules/acorn/.travis.yml +7 -0
  18. data/node_modules/acorn-jsx/node_modules/acorn/AUTHORS +59 -0
  19. data/node_modules/acorn-jsx/node_modules/acorn/CHANGELOG.md +159 -0
  20. data/node_modules/acorn-jsx/node_modules/acorn/LICENSE +19 -0
  21. data/node_modules/acorn-jsx/node_modules/acorn/README.md +407 -0
  22. data/node_modules/acorn-jsx/node_modules/acorn/bin/acorn +65 -0
  23. data/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js +55 -0
  24. data/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh +6 -0
  25. data/node_modules/acorn-jsx/node_modules/acorn/dist/.keep +0 -0
  26. data/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js +3112 -0
  27. data/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js +3142 -0
  28. data/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js +1261 -0
  29. data/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js +1273 -0
  30. data/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js +342 -0
  31. data/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js +360 -0
  32. data/node_modules/acorn-jsx/node_modules/acorn/package.json +46 -0
  33. data/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js +15 -0
  34. data/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js +20 -0
  35. data/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js +11 -0
  36. data/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js +11 -0
  37. data/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js +58 -0
  38. data/node_modules/acorn-jsx/node_modules/acorn/src/expression.js +701 -0
  39. data/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js +82 -0
  40. data/node_modules/acorn-jsx/node_modules/acorn/src/index.js +67 -0
  41. data/node_modules/acorn-jsx/node_modules/acorn/src/location.js +26 -0
  42. data/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js +42 -0
  43. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js +514 -0
  44. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js +50 -0
  45. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js +1 -0
  46. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js +160 -0
  47. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js +425 -0
  48. data/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js +108 -0
  49. data/node_modules/acorn-jsx/node_modules/acorn/src/lval.js +216 -0
  50. data/node_modules/acorn-jsx/node_modules/acorn/src/node.js +50 -0
  51. data/node_modules/acorn-jsx/node_modules/acorn/src/options.js +121 -0
  52. data/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js +109 -0
  53. data/node_modules/acorn-jsx/node_modules/acorn/src/state.js +104 -0
  54. data/node_modules/acorn-jsx/node_modules/acorn/src/statement.js +654 -0
  55. data/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js +110 -0
  56. data/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js +696 -0
  57. data/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js +147 -0
  58. data/node_modules/acorn-jsx/node_modules/acorn/src/util.js +9 -0
  59. data/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js +342 -0
  60. data/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js +13 -0
  61. data/node_modules/acorn-jsx/package.json +28 -0
  62. data/node_modules/acorn-jsx/xhtml.js +255 -0
  63. data/node_modules/acorn/.npmignore +10 -0
  64. data/node_modules/acorn/AUTHORS +60 -0
  65. data/node_modules/acorn/CHANGELOG.md +222 -0
  66. data/node_modules/acorn/LICENSE +19 -0
  67. data/node_modules/acorn/README.md +408 -0
  68. data/node_modules/acorn/bin/acorn +67 -0
  69. data/node_modules/acorn/dist/.keep +0 -0
  70. data/node_modules/acorn/dist/acorn.es.js +3380 -0
  71. data/node_modules/acorn/dist/acorn.js +3411 -0
  72. data/node_modules/acorn/dist/acorn_loose.es.js +1360 -0
  73. data/node_modules/acorn/dist/acorn_loose.js +1370 -0
  74. data/node_modules/acorn/dist/walk.es.js +342 -0
  75. data/node_modules/acorn/dist/walk.js +360 -0
  76. data/node_modules/acorn/package.json +46 -0
  77. data/node_modules/acorn/src/bin/acorn.js +60 -0
  78. data/node_modules/acorn/src/expression.js +798 -0
  79. data/node_modules/acorn/src/identifier.js +81 -0
  80. data/node_modules/acorn/src/index.js +77 -0
  81. data/node_modules/acorn/src/location.js +26 -0
  82. data/node_modules/acorn/src/locutil.js +42 -0
  83. data/node_modules/acorn/src/loose/expression.js +562 -0
  84. data/node_modules/acorn/src/loose/index.js +48 -0
  85. data/node_modules/acorn/src/loose/parseutil.js +1 -0
  86. data/node_modules/acorn/src/loose/state.js +161 -0
  87. data/node_modules/acorn/src/loose/statement.js +446 -0
  88. data/node_modules/acorn/src/loose/tokenize.js +108 -0
  89. data/node_modules/acorn/src/lval.js +219 -0
  90. data/node_modules/acorn/src/node.js +50 -0
  91. data/node_modules/acorn/src/options.js +128 -0
  92. data/node_modules/acorn/src/parseutil.js +117 -0
  93. data/node_modules/acorn/src/state.js +110 -0
  94. data/node_modules/acorn/src/statement.js +745 -0
  95. data/node_modules/acorn/src/tokencontext.js +110 -0
  96. data/node_modules/acorn/src/tokenize.js +697 -0
  97. data/node_modules/acorn/src/tokentype.js +147 -0
  98. data/node_modules/acorn/src/util.js +9 -0
  99. data/node_modules/acorn/src/walk/index.js +342 -0
  100. data/node_modules/acorn/src/whitespace.js +13 -0
  101. data/node_modules/ajv-keywords/LICENSE +21 -0
  102. data/node_modules/ajv-keywords/README.md +443 -0
  103. data/node_modules/ajv-keywords/index.js +35 -0
  104. data/node_modules/ajv-keywords/keywords/_formatLimit.js +92 -0
  105. data/node_modules/ajv-keywords/keywords/deepProperties.js +55 -0
  106. data/node_modules/ajv-keywords/keywords/deepRequired.js +57 -0
  107. data/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst +116 -0
  108. data/node_modules/ajv-keywords/keywords/dot/patternRequired.jst +28 -0
  109. data/node_modules/ajv-keywords/keywords/dot/switch.jst +73 -0
  110. data/node_modules/ajv-keywords/keywords/dotjs/README.md +3 -0
  111. data/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js +176 -0
  112. data/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js +52 -0
  113. data/node_modules/ajv-keywords/keywords/dotjs/switch.js +129 -0
  114. data/node_modules/ajv-keywords/keywords/dynamicDefaults.js +68 -0
  115. data/node_modules/ajv-keywords/keywords/formatMaximum.js +3 -0
  116. data/node_modules/ajv-keywords/keywords/formatMinimum.js +3 -0
  117. data/node_modules/ajv-keywords/keywords/if.js +21 -0
  118. data/node_modules/ajv-keywords/keywords/index.js +18 -0
  119. data/node_modules/ajv-keywords/keywords/instanceof.js +54 -0
  120. data/node_modules/ajv-keywords/keywords/patternRequired.js +24 -0
  121. data/node_modules/ajv-keywords/keywords/prohibited.js +25 -0
  122. data/node_modules/ajv-keywords/keywords/propertyNames.js +51 -0
  123. data/node_modules/ajv-keywords/keywords/range.js +39 -0
  124. data/node_modules/ajv-keywords/keywords/regexp.js +36 -0
  125. data/node_modules/ajv-keywords/keywords/switch.js +39 -0
  126. data/node_modules/ajv-keywords/keywords/typeof.js +32 -0
  127. data/node_modules/ajv-keywords/package.json +51 -0
  128. data/node_modules/ajv/.tonic_example.js +20 -0
  129. data/node_modules/ajv/LICENSE +22 -0
  130. data/node_modules/ajv/README.md +1211 -0
  131. data/node_modules/ajv/dist/ajv.bundle.js +8041 -0
  132. data/node_modules/ajv/dist/ajv.min.js +6 -0
  133. data/node_modules/ajv/dist/ajv.min.js.map +1 -0
  134. data/node_modules/ajv/dist/nodent.min.js +8 -0
  135. data/node_modules/ajv/dist/regenerator.min.js +36 -0
  136. data/node_modules/ajv/lib/ajv.d.ts +282 -0
  137. data/node_modules/ajv/lib/ajv.js +420 -0
  138. data/node_modules/ajv/lib/async.js +218 -0
  139. data/node_modules/ajv/lib/cache.js +26 -0
  140. data/node_modules/ajv/lib/compile/_rules.js +28 -0
  141. data/node_modules/ajv/lib/compile/equal.js +45 -0
  142. data/node_modules/ajv/lib/compile/formats.js +164 -0
  143. data/node_modules/ajv/lib/compile/index.js +390 -0
  144. data/node_modules/ajv/lib/compile/resolve.js +267 -0
  145. data/node_modules/ajv/lib/compile/rules.js +40 -0
  146. data/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  147. data/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  148. data/node_modules/ajv/lib/compile/util.js +257 -0
  149. data/node_modules/ajv/lib/compile/validation_error.js +14 -0
  150. data/node_modules/ajv/lib/dot/_limit.jst +49 -0
  151. data/node_modules/ajv/lib/dot/_limitItems.jst +10 -0
  152. data/node_modules/ajv/lib/dot/_limitLength.jst +10 -0
  153. data/node_modules/ajv/lib/dot/_limitProperties.jst +10 -0
  154. data/node_modules/ajv/lib/dot/allOf.jst +34 -0
  155. data/node_modules/ajv/lib/dot/anyOf.jst +48 -0
  156. data/node_modules/ajv/lib/dot/coerce.def +61 -0
  157. data/node_modules/ajv/lib/dot/custom.jst +188 -0
  158. data/node_modules/ajv/lib/dot/defaults.def +32 -0
  159. data/node_modules/ajv/lib/dot/definitions.def +182 -0
  160. data/node_modules/ajv/lib/dot/dependencies.jst +69 -0
  161. data/node_modules/ajv/lib/dot/enum.jst +30 -0
  162. data/node_modules/ajv/lib/dot/errors.def +185 -0
  163. data/node_modules/ajv/lib/dot/format.jst +100 -0
  164. data/node_modules/ajv/lib/dot/items.jst +101 -0
  165. data/node_modules/ajv/lib/dot/missing.def +34 -0
  166. data/node_modules/ajv/lib/dot/multipleOf.jst +20 -0
  167. data/node_modules/ajv/lib/dot/not.jst +43 -0
  168. data/node_modules/ajv/lib/dot/oneOf.jst +44 -0
  169. data/node_modules/ajv/lib/dot/pattern.jst +14 -0
  170. data/node_modules/ajv/lib/dot/properties.jst +319 -0
  171. data/node_modules/ajv/lib/dot/ref.jst +86 -0
  172. data/node_modules/ajv/lib/dot/required.jst +96 -0
  173. data/node_modules/ajv/lib/dot/uniqueItems.jst +38 -0
  174. data/node_modules/ajv/lib/dot/v5/_formatLimit.jst +116 -0
  175. data/node_modules/ajv/lib/dot/v5/constant.jst +10 -0
  176. data/node_modules/ajv/lib/dot/v5/patternRequired.jst +28 -0
  177. data/node_modules/ajv/lib/dot/v5/switch.jst +73 -0
  178. data/node_modules/ajv/lib/dot/validate.jst +210 -0
  179. data/node_modules/ajv/lib/dotjs/README.md +3 -0
  180. data/node_modules/ajv/lib/dotjs/_formatLimit.js +176 -0
  181. data/node_modules/ajv/lib/dotjs/_limit.js +124 -0
  182. data/node_modules/ajv/lib/dotjs/_limitItems.js +76 -0
  183. data/node_modules/ajv/lib/dotjs/_limitLength.js +81 -0
  184. data/node_modules/ajv/lib/dotjs/_limitProperties.js +76 -0
  185. data/node_modules/ajv/lib/dotjs/allOf.js +43 -0
  186. data/node_modules/ajv/lib/dotjs/anyOf.js +66 -0
  187. data/node_modules/ajv/lib/dotjs/constant.js +53 -0
  188. data/node_modules/ajv/lib/dotjs/custom.js +221 -0
  189. data/node_modules/ajv/lib/dotjs/dependencies.js +148 -0
  190. data/node_modules/ajv/lib/dotjs/enum.js +66 -0
  191. data/node_modules/ajv/lib/dotjs/format.js +139 -0
  192. data/node_modules/ajv/lib/dotjs/items.js +145 -0
  193. data/node_modules/ajv/lib/dotjs/multipleOf.js +77 -0
  194. data/node_modules/ajv/lib/dotjs/not.js +84 -0
  195. data/node_modules/ajv/lib/dotjs/oneOf.js +77 -0
  196. data/node_modules/ajv/lib/dotjs/pattern.js +75 -0
  197. data/node_modules/ajv/lib/dotjs/patternRequired.js +52 -0
  198. data/node_modules/ajv/lib/dotjs/properties.js +446 -0
  199. data/node_modules/ajv/lib/dotjs/ref.js +120 -0
  200. data/node_modules/ajv/lib/dotjs/required.js +250 -0
  201. data/node_modules/ajv/lib/dotjs/switch.js +129 -0
  202. data/node_modules/ajv/lib/dotjs/uniqueItems.js +72 -0
  203. data/node_modules/ajv/lib/dotjs/validate.js +376 -0
  204. data/node_modules/ajv/lib/keyword.js +129 -0
  205. data/node_modules/ajv/lib/refs/json-schema-draft-04.json +150 -0
  206. data/node_modules/ajv/lib/refs/json-schema-v5.json +328 -0
  207. data/node_modules/ajv/lib/v5.js +52 -0
  208. data/node_modules/ajv/package.json +101 -0
  209. data/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  210. data/node_modules/ajv/scripts/bundle.js +54 -0
  211. data/node_modules/ajv/scripts/compile-dots.js +59 -0
  212. data/node_modules/ajv/scripts/info +10 -0
  213. data/node_modules/ajv/scripts/prepare-tests +9 -0
  214. data/node_modules/ajv/scripts/travis-gh-pages +21 -0
  215. data/node_modules/ansi-escapes/index.js +106 -0
  216. data/node_modules/ansi-escapes/license +21 -0
  217. data/node_modules/ansi-escapes/package.json +50 -0
  218. data/node_modules/ansi-escapes/readme.md +176 -0
  219. data/node_modules/ansi-regex/index.js +4 -0
  220. data/node_modules/ansi-regex/license +21 -0
  221. data/node_modules/ansi-regex/package.json +64 -0
  222. data/node_modules/ansi-regex/readme.md +39 -0
  223. data/node_modules/ansi-styles/index.js +65 -0
  224. data/node_modules/ansi-styles/license +21 -0
  225. data/node_modules/ansi-styles/package.json +50 -0
  226. data/node_modules/ansi-styles/readme.md +86 -0
  227. data/node_modules/argparse/CHANGELOG.md +179 -0
  228. data/node_modules/argparse/LICENSE +21 -0
  229. data/node_modules/argparse/README.md +253 -0
  230. data/node_modules/argparse/index.js +3 -0
  231. data/node_modules/argparse/lib/action.js +146 -0
  232. data/node_modules/argparse/lib/action/append.js +53 -0
  233. data/node_modules/argparse/lib/action/append/constant.js +47 -0
  234. data/node_modules/argparse/lib/action/count.js +40 -0
  235. data/node_modules/argparse/lib/action/help.js +47 -0
  236. data/node_modules/argparse/lib/action/store.js +50 -0
  237. data/node_modules/argparse/lib/action/store/constant.js +43 -0
  238. data/node_modules/argparse/lib/action/store/false.js +27 -0
  239. data/node_modules/argparse/lib/action/store/true.js +26 -0
  240. data/node_modules/argparse/lib/action/subparsers.js +149 -0
  241. data/node_modules/argparse/lib/action/version.js +47 -0
  242. data/node_modules/argparse/lib/action_container.js +482 -0
  243. data/node_modules/argparse/lib/argparse.js +14 -0
  244. data/node_modules/argparse/lib/argument/error.js +50 -0
  245. data/node_modules/argparse/lib/argument/exclusive.js +54 -0
  246. data/node_modules/argparse/lib/argument/group.js +75 -0
  247. data/node_modules/argparse/lib/argument_parser.js +1161 -0
  248. data/node_modules/argparse/lib/const.js +21 -0
  249. data/node_modules/argparse/lib/help/added_formatters.js +87 -0
  250. data/node_modules/argparse/lib/help/formatter.js +795 -0
  251. data/node_modules/argparse/lib/namespace.js +76 -0
  252. data/node_modules/argparse/lib/utils.js +57 -0
  253. data/node_modules/argparse/package.json +34 -0
  254. data/node_modules/array-union/index.js +6 -0
  255. data/node_modules/array-union/license +21 -0
  256. data/node_modules/array-union/package.json +40 -0
  257. data/node_modules/array-union/readme.md +28 -0
  258. data/node_modules/array-uniq/index.js +62 -0
  259. data/node_modules/array-uniq/license +21 -0
  260. data/node_modules/array-uniq/package.json +37 -0
  261. data/node_modules/array-uniq/readme.md +30 -0
  262. data/node_modules/arrify/index.js +8 -0
  263. data/node_modules/arrify/license +21 -0
  264. data/node_modules/arrify/package.json +33 -0
  265. data/node_modules/arrify/readme.md +36 -0
  266. data/node_modules/balanced-match/.npmignore +5 -0
  267. data/node_modules/balanced-match/LICENSE.md +21 -0
  268. data/node_modules/balanced-match/README.md +91 -0
  269. data/node_modules/balanced-match/index.js +58 -0
  270. data/node_modules/balanced-match/package.json +47 -0
  271. data/node_modules/brace-expansion/README.md +122 -0
  272. data/node_modules/brace-expansion/index.js +201 -0
  273. data/node_modules/brace-expansion/package.json +45 -0
  274. data/node_modules/buffer-shims/index.js +108 -0
  275. data/node_modules/buffer-shims/license.md +19 -0
  276. data/node_modules/buffer-shims/package.json +18 -0
  277. data/node_modules/buffer-shims/readme.md +21 -0
  278. data/node_modules/caller-path/index.js +6 -0
  279. data/node_modules/caller-path/package.json +41 -0
  280. data/node_modules/caller-path/readme.md +36 -0
  281. data/node_modules/callsites/index.js +8 -0
  282. data/node_modules/callsites/package.json +36 -0
  283. data/node_modules/callsites/readme.md +47 -0
  284. data/node_modules/chalk/index.js +116 -0
  285. data/node_modules/chalk/license +21 -0
  286. data/node_modules/chalk/package.json +70 -0
  287. data/node_modules/chalk/readme.md +213 -0
  288. data/node_modules/circular-json/.npmignore +7 -0
  289. data/node_modules/circular-json/.travis.yml +12 -0
  290. data/node_modules/circular-json/LICENSE.txt +19 -0
  291. data/node_modules/circular-json/README.md +135 -0
  292. data/node_modules/circular-json/build/circular-json.js +2 -0
  293. data/node_modules/circular-json/build/circular-json.max.js +189 -0
  294. data/node_modules/circular-json/build/circular-json.node.js +185 -0
  295. data/node_modules/circular-json/package.json +24 -0
  296. data/node_modules/circular-json/template/license.after +2 -0
  297. data/node_modules/circular-json/template/license.before +1 -0
  298. data/node_modules/cli-cursor/index.js +26 -0
  299. data/node_modules/cli-cursor/license +21 -0
  300. data/node_modules/cli-cursor/package.json +43 -0
  301. data/node_modules/cli-cursor/readme.md +40 -0
  302. data/node_modules/cli-width/.npmignore +1 -0
  303. data/node_modules/cli-width/.travis.yml +11 -0
  304. data/node_modules/cli-width/LICENSE +13 -0
  305. data/node_modules/cli-width/README.md +72 -0
  306. data/node_modules/cli-width/coverage/coverage.json +1 -0
  307. data/node_modules/cli-width/coverage/lcov-report/base.css +182 -0
  308. data/node_modules/cli-width/coverage/lcov-report/cli-width/index.html +73 -0
  309. data/node_modules/cli-width/coverage/lcov-report/cli-width/index.js.html +129 -0
  310. data/node_modules/cli-width/coverage/lcov-report/index.html +73 -0
  311. data/node_modules/cli-width/coverage/lcov-report/prettify.css +1 -0
  312. data/node_modules/cli-width/coverage/lcov-report/prettify.js +1 -0
  313. data/node_modules/cli-width/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  314. data/node_modules/cli-width/coverage/lcov-report/sorter.js +156 -0
  315. data/node_modules/cli-width/coverage/lcov.info +32 -0
  316. data/node_modules/cli-width/index.js +49 -0
  317. data/node_modules/cli-width/package.json +29 -0
  318. data/node_modules/co/History.md +172 -0
  319. data/node_modules/co/LICENSE +22 -0
  320. data/node_modules/co/Readme.md +212 -0
  321. data/node_modules/co/index.js +237 -0
  322. data/node_modules/co/package.json +34 -0
  323. data/node_modules/code-point-at/index.js +32 -0
  324. data/node_modules/code-point-at/license +21 -0
  325. data/node_modules/code-point-at/package.json +38 -0
  326. data/node_modules/code-point-at/readme.md +32 -0
  327. data/node_modules/commander/History.md +261 -0
  328. data/node_modules/commander/LICENSE +22 -0
  329. data/node_modules/commander/Readme.md +351 -0
  330. data/node_modules/commander/index.js +1110 -0
  331. data/node_modules/commander/package.json +33 -0
  332. data/node_modules/concat-map/.travis.yml +4 -0
  333. data/node_modules/concat-map/LICENSE +18 -0
  334. data/node_modules/concat-map/README.markdown +62 -0
  335. data/node_modules/concat-map/example/map.js +6 -0
  336. data/node_modules/concat-map/index.js +13 -0
  337. data/node_modules/concat-map/package.json +43 -0
  338. data/node_modules/concat-map/test/map.js +39 -0
  339. data/node_modules/concat-stream/LICENSE +24 -0
  340. data/node_modules/concat-stream/index.js +143 -0
  341. data/node_modules/concat-stream/node_modules/inherits/LICENSE +16 -0
  342. data/node_modules/concat-stream/node_modules/inherits/README.md +42 -0
  343. data/node_modules/concat-stream/node_modules/inherits/inherits.js +7 -0
  344. data/node_modules/concat-stream/node_modules/inherits/inherits_browser.js +23 -0
  345. data/node_modules/concat-stream/node_modules/inherits/package.json +29 -0
  346. data/node_modules/concat-stream/package.json +54 -0
  347. data/node_modules/concat-stream/readme.md +102 -0
  348. data/node_modules/core-util-is/LICENSE +19 -0
  349. data/node_modules/core-util-is/README.md +3 -0
  350. data/node_modules/core-util-is/float.patch +604 -0
  351. data/node_modules/core-util-is/lib/util.js +107 -0
  352. data/node_modules/core-util-is/package.json +32 -0
  353. data/node_modules/core-util-is/test.js +68 -0
  354. data/node_modules/d/.lint +11 -0
  355. data/node_modules/d/.npmignore +4 -0
  356. data/node_modules/d/.travis.yml +15 -0
  357. data/node_modules/d/CHANGES +13 -0
  358. data/node_modules/d/LICENSE +19 -0
  359. data/node_modules/d/README.md +104 -0
  360. data/node_modules/d/auto-bind.js +32 -0
  361. data/node_modules/d/index.js +63 -0
  362. data/node_modules/d/lazy.js +117 -0
  363. data/node_modules/d/package.json +34 -0
  364. data/node_modules/d/test/auto-bind.js +12 -0
  365. data/node_modules/d/test/index.js +182 -0
  366. data/node_modules/d/test/lazy.js +82 -0
  367. data/node_modules/debug/.coveralls.yml +1 -0
  368. data/node_modules/debug/.eslintrc +11 -0
  369. data/node_modules/debug/.npmignore +8 -0
  370. data/node_modules/debug/.travis.yml +14 -0
  371. data/node_modules/debug/CHANGELOG.md +330 -0
  372. data/node_modules/debug/LICENSE +19 -0
  373. data/node_modules/debug/Makefile +50 -0
  374. data/node_modules/debug/README.md +312 -0
  375. data/node_modules/debug/bower.json +29 -0
  376. data/node_modules/debug/component.json +19 -0
  377. data/node_modules/debug/karma.conf.js +70 -0
  378. data/node_modules/debug/node.js +1 -0
  379. data/node_modules/debug/package.json +49 -0
  380. data/node_modules/debug/src/browser.js +185 -0
  381. data/node_modules/debug/src/debug.js +202 -0
  382. data/node_modules/debug/src/index.js +10 -0
  383. data/node_modules/debug/src/node.js +241 -0
  384. data/node_modules/deep-is/.npmignore +1 -0
  385. data/node_modules/deep-is/.travis.yml +6 -0
  386. data/node_modules/deep-is/LICENSE +22 -0
  387. data/node_modules/deep-is/README.markdown +70 -0
  388. data/node_modules/deep-is/example/cmp.js +11 -0
  389. data/node_modules/deep-is/index.js +102 -0
  390. data/node_modules/deep-is/package.json +61 -0
  391. data/node_modules/deep-is/test/NaN.js +16 -0
  392. data/node_modules/deep-is/test/cmp.js +23 -0
  393. data/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  394. data/node_modules/del/index.js +73 -0
  395. data/node_modules/del/license +21 -0
  396. data/node_modules/del/node_modules/.bin/rimraf +1 -0
  397. data/node_modules/del/package.json +61 -0
  398. data/node_modules/del/readme.md +106 -0
  399. data/node_modules/doctrine/CHANGELOG.md +70 -0
  400. data/node_modules/doctrine/LICENSE.BSD +22 -0
  401. data/node_modules/doctrine/LICENSE.closure-compiler +202 -0
  402. data/node_modules/doctrine/LICENSE.esprima +19 -0
  403. data/node_modules/doctrine/README.md +174 -0
  404. data/node_modules/doctrine/lib/doctrine.js +897 -0
  405. data/node_modules/doctrine/lib/typed.js +1283 -0
  406. data/node_modules/doctrine/lib/utility.js +35 -0
  407. data/node_modules/doctrine/package.json +65 -0
  408. data/node_modules/es5-ext/.lint +39 -0
  409. data/node_modules/es5-ext/.lintignore +9 -0
  410. data/node_modules/es5-ext/.npmignore +4 -0
  411. data/node_modules/es5-ext/.travis.yml +16 -0
  412. data/node_modules/es5-ext/CHANGES +646 -0
  413. data/node_modules/es5-ext/LICENSE +21 -0
  414. data/node_modules/es5-ext/README.md +993 -0
  415. data/node_modules/es5-ext/array/#/@@iterator/implement.js +6 -0
  416. data/node_modules/es5-ext/array/#/@@iterator/index.js +4 -0
  417. data/node_modules/es5-ext/array/#/@@iterator/is-implemented.js +16 -0
  418. data/node_modules/es5-ext/array/#/@@iterator/shim.js +3 -0
  419. data/node_modules/es5-ext/array/#/_compare-by-length.js +9 -0
  420. data/node_modules/es5-ext/array/#/binary-search.js +28 -0
  421. data/node_modules/es5-ext/array/#/clear.js +12 -0
  422. data/node_modules/es5-ext/array/#/compact.js +9 -0
  423. data/node_modules/es5-ext/array/#/concat/implement.js +6 -0
  424. data/node_modules/es5-ext/array/#/concat/index.js +4 -0
  425. data/node_modules/es5-ext/array/#/concat/is-implemented.js +7 -0
  426. data/node_modules/es5-ext/array/#/concat/shim.js +44 -0
  427. data/node_modules/es5-ext/array/#/contains.js +7 -0
  428. data/node_modules/es5-ext/array/#/copy-within/implement.js +7 -0
  429. data/node_modules/es5-ext/array/#/copy-within/index.js +4 -0
  430. data/node_modules/es5-ext/array/#/copy-within/is-implemented.js +7 -0
  431. data/node_modules/es5-ext/array/#/copy-within/shim.js +39 -0
  432. data/node_modules/es5-ext/array/#/diff.js +13 -0
  433. data/node_modules/es5-ext/array/#/e-index-of.js +29 -0
  434. data/node_modules/es5-ext/array/#/e-last-index-of.js +29 -0
  435. data/node_modules/es5-ext/array/#/entries/implement.js +6 -0
  436. data/node_modules/es5-ext/array/#/entries/index.js +4 -0
  437. data/node_modules/es5-ext/array/#/entries/is-implemented.js +15 -0
  438. data/node_modules/es5-ext/array/#/entries/shim.js +4 -0
  439. data/node_modules/es5-ext/array/#/exclusion.js +27 -0
  440. data/node_modules/es5-ext/array/#/fill/implement.js +6 -0
  441. data/node_modules/es5-ext/array/#/fill/index.js +4 -0
  442. data/node_modules/es5-ext/array/#/fill/is-implemented.js +7 -0
  443. data/node_modules/es5-ext/array/#/fill/shim.js +21 -0
  444. data/node_modules/es5-ext/array/#/filter/implement.js +6 -0
  445. data/node_modules/es5-ext/array/#/filter/index.js +4 -0
  446. data/node_modules/es5-ext/array/#/filter/is-implemented.js +9 -0
  447. data/node_modules/es5-ext/array/#/filter/shim.js +22 -0
  448. data/node_modules/es5-ext/array/#/find-index/implement.js +7 -0
  449. data/node_modules/es5-ext/array/#/find-index/index.js +4 -0
  450. data/node_modules/es5-ext/array/#/find-index/is-implemented.js +9 -0
  451. data/node_modules/es5-ext/array/#/find-index/shim.js +20 -0
  452. data/node_modules/es5-ext/array/#/find/implement.js +6 -0
  453. data/node_modules/es5-ext/array/#/find/index.js +4 -0
  454. data/node_modules/es5-ext/array/#/find/is-implemented.js +9 -0
  455. data/node_modules/es5-ext/array/#/find/shim.js +8 -0
  456. data/node_modules/es5-ext/array/#/first-index.js +16 -0
  457. data/node_modules/es5-ext/array/#/first.js +9 -0
  458. data/node_modules/es5-ext/array/#/flatten.js +39 -0
  459. data/node_modules/es5-ext/array/#/for-each-right.js +20 -0
  460. data/node_modules/es5-ext/array/#/group.js +23 -0
  461. data/node_modules/es5-ext/array/#/index.js +40 -0
  462. data/node_modules/es5-ext/array/#/indexes-of.js +12 -0
  463. data/node_modules/es5-ext/array/#/intersection.js +19 -0
  464. data/node_modules/es5-ext/array/#/is-copy.js +21 -0
  465. data/node_modules/es5-ext/array/#/is-uniq.js +12 -0
  466. data/node_modules/es5-ext/array/#/keys/implement.js +6 -0
  467. data/node_modules/es5-ext/array/#/keys/index.js +4 -0
  468. data/node_modules/es5-ext/array/#/keys/is-implemented.js +14 -0
  469. data/node_modules/es5-ext/array/#/keys/shim.js +4 -0
  470. data/node_modules/es5-ext/array/#/last-index.js +16 -0
  471. data/node_modules/es5-ext/array/#/last.js +9 -0
  472. data/node_modules/es5-ext/array/#/map/implement.js +6 -0
  473. data/node_modules/es5-ext/array/#/map/index.js +4 -0
  474. data/node_modules/es5-ext/array/#/map/is-implemented.js +8 -0
  475. data/node_modules/es5-ext/array/#/map/shim.js +21 -0
  476. data/node_modules/es5-ext/array/#/remove.js +12 -0
  477. data/node_modules/es5-ext/array/#/separate.js +10 -0
  478. data/node_modules/es5-ext/array/#/slice/implement.js +6 -0
  479. data/node_modules/es5-ext/array/#/slice/index.js +4 -0
  480. data/node_modules/es5-ext/array/#/slice/is-implemented.js +7 -0
  481. data/node_modules/es5-ext/array/#/slice/shim.js +35 -0
  482. data/node_modules/es5-ext/array/#/some-right.js +23 -0
  483. data/node_modules/es5-ext/array/#/splice/implement.js +6 -0
  484. data/node_modules/es5-ext/array/#/splice/index.js +4 -0
  485. data/node_modules/es5-ext/array/#/splice/is-implemented.js +7 -0
  486. data/node_modules/es5-ext/array/#/splice/shim.js +14 -0
  487. data/node_modules/es5-ext/array/#/uniq.js +13 -0
  488. data/node_modules/es5-ext/array/#/values/implement.js +6 -0
  489. data/node_modules/es5-ext/array/#/values/index.js +3 -0
  490. data/node_modules/es5-ext/array/#/values/is-implemented.js +14 -0
  491. data/node_modules/es5-ext/array/#/values/shim.js +4 -0
  492. data/node_modules/es5-ext/array/_is-extensible.js +13 -0
  493. data/node_modules/es5-ext/array/_sub-array-dummy-safe.js +23 -0
  494. data/node_modules/es5-ext/array/_sub-array-dummy.js +16 -0
  495. data/node_modules/es5-ext/array/from/implement.js +6 -0
  496. data/node_modules/es5-ext/array/from/index.js +5 -0
  497. data/node_modules/es5-ext/array/from/is-implemented.js +9 -0
  498. data/node_modules/es5-ext/array/from/shim.js +106 -0
  499. data/node_modules/es5-ext/array/generate.js +20 -0
  500. data/node_modules/es5-ext/array/index.js +11 -0
  501. data/node_modules/es5-ext/array/is-plain-array.js +11 -0
  502. data/node_modules/es5-ext/array/of/implement.js +6 -0
  503. data/node_modules/es5-ext/array/of/index.js +5 -0
  504. data/node_modules/es5-ext/array/of/is-implemented.js +8 -0
  505. data/node_modules/es5-ext/array/of/shim.js +19 -0
  506. data/node_modules/es5-ext/array/to-array.js +9 -0
  507. data/node_modules/es5-ext/array/valid-array.js +8 -0
  508. data/node_modules/es5-ext/boolean/index.js +5 -0
  509. data/node_modules/es5-ext/boolean/is-boolean.js +10 -0
  510. data/node_modules/es5-ext/date/#/copy.js +5 -0
  511. data/node_modules/es5-ext/date/#/days-in-month.js +17 -0
  512. data/node_modules/es5-ext/date/#/floor-day.js +8 -0
  513. data/node_modules/es5-ext/date/#/floor-month.js +8 -0
  514. data/node_modules/es5-ext/date/#/floor-year.js +8 -0
  515. data/node_modules/es5-ext/date/#/format.js +21 -0
  516. data/node_modules/es5-ext/date/#/index.js +10 -0
  517. data/node_modules/es5-ext/date/index.js +7 -0
  518. data/node_modules/es5-ext/date/is-date.js +9 -0
  519. data/node_modules/es5-ext/date/valid-date.js +8 -0
  520. data/node_modules/es5-ext/error/#/index.js +5 -0
  521. data/node_modules/es5-ext/error/#/throw.js +5 -0
  522. data/node_modules/es5-ext/error/custom.js +19 -0
  523. data/node_modules/es5-ext/error/index.js +8 -0
  524. data/node_modules/es5-ext/error/is-error.js +9 -0
  525. data/node_modules/es5-ext/error/valid-error.js +8 -0
  526. data/node_modules/es5-ext/function/#/compose.js +20 -0
  527. data/node_modules/es5-ext/function/#/copy.js +15 -0
  528. data/node_modules/es5-ext/function/#/curry.js +24 -0
  529. data/node_modules/es5-ext/function/#/index.js +12 -0
  530. data/node_modules/es5-ext/function/#/lock.js +12 -0
  531. data/node_modules/es5-ext/function/#/not.js +14 -0
  532. data/node_modules/es5-ext/function/#/partial.js +16 -0
  533. data/node_modules/es5-ext/function/#/spread.js +10 -0
  534. data/node_modules/es5-ext/function/#/to-string-tokens.js +11 -0
  535. data/node_modules/es5-ext/function/_define-length.js +44 -0
  536. data/node_modules/es5-ext/function/constant.js +5 -0
  537. data/node_modules/es5-ext/function/identity.js +3 -0
  538. data/node_modules/es5-ext/function/index.js +15 -0
  539. data/node_modules/es5-ext/function/invoke.js +15 -0
  540. data/node_modules/es5-ext/function/is-arguments.js +7 -0
  541. data/node_modules/es5-ext/function/is-function.js +9 -0
  542. data/node_modules/es5-ext/function/noop.js +3 -0
  543. data/node_modules/es5-ext/function/pluck.js +7 -0
  544. data/node_modules/es5-ext/function/valid-function.js +8 -0
  545. data/node_modules/es5-ext/global.js +3 -0
  546. data/node_modules/es5-ext/index.js +18 -0
  547. data/node_modules/es5-ext/iterable/for-each.js +12 -0
  548. data/node_modules/es5-ext/iterable/index.js +8 -0
  549. data/node_modules/es5-ext/iterable/is.js +10 -0
  550. data/node_modules/es5-ext/iterable/validate-object.js +9 -0
  551. data/node_modules/es5-ext/iterable/validate.js +8 -0
  552. data/node_modules/es5-ext/json/index.js +5 -0
  553. data/node_modules/es5-ext/json/safe-stringify.js +26 -0
  554. data/node_modules/es5-ext/math/_pack-ieee754.js +82 -0
  555. data/node_modules/es5-ext/math/_unpack-ieee754.js +33 -0
  556. data/node_modules/es5-ext/math/acosh/implement.js +6 -0
  557. data/node_modules/es5-ext/math/acosh/index.js +5 -0
  558. data/node_modules/es5-ext/math/acosh/is-implemented.js +7 -0
  559. data/node_modules/es5-ext/math/acosh/shim.js +12 -0
  560. data/node_modules/es5-ext/math/asinh/implement.js +6 -0
  561. data/node_modules/es5-ext/math/asinh/index.js +5 -0
  562. data/node_modules/es5-ext/math/asinh/is-implemented.js +7 -0
  563. data/node_modules/es5-ext/math/asinh/shim.js +15 -0
  564. data/node_modules/es5-ext/math/atanh/implement.js +6 -0
  565. data/node_modules/es5-ext/math/atanh/index.js +5 -0
  566. data/node_modules/es5-ext/math/atanh/is-implemented.js +7 -0
  567. data/node_modules/es5-ext/math/atanh/shim.js +14 -0
  568. data/node_modules/es5-ext/math/cbrt/implement.js +6 -0
  569. data/node_modules/es5-ext/math/cbrt/index.js +5 -0
  570. data/node_modules/es5-ext/math/cbrt/is-implemented.js +7 -0
  571. data/node_modules/es5-ext/math/cbrt/shim.js +12 -0
  572. data/node_modules/es5-ext/math/clz32/implement.js +6 -0
  573. data/node_modules/es5-ext/math/clz32/index.js +5 -0
  574. data/node_modules/es5-ext/math/clz32/is-implemented.js +7 -0
  575. data/node_modules/es5-ext/math/clz32/shim.js +6 -0
  576. data/node_modules/es5-ext/math/cosh/implement.js +6 -0
  577. data/node_modules/es5-ext/math/cosh/index.js +5 -0
  578. data/node_modules/es5-ext/math/cosh/is-implemented.js +7 -0
  579. data/node_modules/es5-ext/math/cosh/shim.js +11 -0
  580. data/node_modules/es5-ext/math/expm1/implement.js +6 -0
  581. data/node_modules/es5-ext/math/expm1/index.js +5 -0
  582. data/node_modules/es5-ext/math/expm1/is-implemented.js +7 -0
  583. data/node_modules/es5-ext/math/expm1/shim.js +16 -0
  584. data/node_modules/es5-ext/math/fround/implement.js +6 -0
  585. data/node_modules/es5-ext/math/fround/index.js +5 -0
  586. data/node_modules/es5-ext/math/fround/is-implemented.js +7 -0
  587. data/node_modules/es5-ext/math/fround/shim.js +33 -0
  588. data/node_modules/es5-ext/math/hypot/implement.js +6 -0
  589. data/node_modules/es5-ext/math/hypot/index.js +5 -0
  590. data/node_modules/es5-ext/math/hypot/is-implemented.js +7 -0
  591. data/node_modules/es5-ext/math/hypot/shim.js +34 -0
  592. data/node_modules/es5-ext/math/imul/implement.js +6 -0
  593. data/node_modules/es5-ext/math/imul/index.js +5 -0
  594. data/node_modules/es5-ext/math/imul/is-implemented.js +7 -0
  595. data/node_modules/es5-ext/math/imul/shim.js +13 -0
  596. data/node_modules/es5-ext/math/index.js +21 -0
  597. data/node_modules/es5-ext/math/log10/implement.js +6 -0
  598. data/node_modules/es5-ext/math/log10/index.js +5 -0
  599. data/node_modules/es5-ext/math/log10/is-implemented.js +7 -0
  600. data/node_modules/es5-ext/math/log10/shim.js +14 -0
  601. data/node_modules/es5-ext/math/log1p/implement.js +6 -0
  602. data/node_modules/es5-ext/math/log1p/index.js +5 -0
  603. data/node_modules/es5-ext/math/log1p/is-implemented.js +7 -0
  604. data/node_modules/es5-ext/math/log1p/shim.js +17 -0
  605. data/node_modules/es5-ext/math/log2/implement.js +6 -0
  606. data/node_modules/es5-ext/math/log2/index.js +5 -0
  607. data/node_modules/es5-ext/math/log2/is-implemented.js +7 -0
  608. data/node_modules/es5-ext/math/log2/shim.js +14 -0
  609. data/node_modules/es5-ext/math/sign/implement.js +6 -0
  610. data/node_modules/es5-ext/math/sign/index.js +5 -0
  611. data/node_modules/es5-ext/math/sign/is-implemented.js +7 -0
  612. data/node_modules/es5-ext/math/sign/shim.js +7 -0
  613. data/node_modules/es5-ext/math/sinh/implement.js +6 -0
  614. data/node_modules/es5-ext/math/sinh/index.js +5 -0
  615. data/node_modules/es5-ext/math/sinh/is-implemented.js +7 -0
  616. data/node_modules/es5-ext/math/sinh/shim.js +17 -0
  617. data/node_modules/es5-ext/math/tanh/implement.js +6 -0
  618. data/node_modules/es5-ext/math/tanh/index.js +5 -0
  619. data/node_modules/es5-ext/math/tanh/is-implemented.js +7 -0
  620. data/node_modules/es5-ext/math/tanh/shim.js +17 -0
  621. data/node_modules/es5-ext/math/trunc/implement.js +6 -0
  622. data/node_modules/es5-ext/math/trunc/index.js +5 -0
  623. data/node_modules/es5-ext/math/trunc/is-implemented.js +7 -0
  624. data/node_modules/es5-ext/math/trunc/shim.js +13 -0
  625. data/node_modules/es5-ext/number/#/index.js +5 -0
  626. data/node_modules/es5-ext/number/#/pad.js +15 -0
  627. data/node_modules/es5-ext/number/epsilon/implement.js +6 -0
  628. data/node_modules/es5-ext/number/epsilon/index.js +3 -0
  629. data/node_modules/es5-ext/number/epsilon/is-implemented.js +5 -0
  630. data/node_modules/es5-ext/number/index.js +17 -0
  631. data/node_modules/es5-ext/number/is-finite/implement.js +6 -0
  632. data/node_modules/es5-ext/number/is-finite/index.js +5 -0
  633. data/node_modules/es5-ext/number/is-finite/is-implemented.js +7 -0
  634. data/node_modules/es5-ext/number/is-finite/shim.js +5 -0
  635. data/node_modules/es5-ext/number/is-integer/implement.js +6 -0
  636. data/node_modules/es5-ext/number/is-integer/index.js +5 -0
  637. data/node_modules/es5-ext/number/is-integer/is-implemented.js +7 -0
  638. data/node_modules/es5-ext/number/is-integer/shim.js +8 -0
  639. data/node_modules/es5-ext/number/is-nan/implement.js +6 -0
  640. data/node_modules/es5-ext/number/is-nan/index.js +5 -0
  641. data/node_modules/es5-ext/number/is-nan/is-implemented.js +7 -0
  642. data/node_modules/es5-ext/number/is-nan/shim.js +3 -0
  643. data/node_modules/es5-ext/number/is-natural.js +5 -0
  644. data/node_modules/es5-ext/number/is-number.js +11 -0
  645. data/node_modules/es5-ext/number/is-safe-integer/implement.js +6 -0
  646. data/node_modules/es5-ext/number/is-safe-integer/index.js +5 -0
  647. data/node_modules/es5-ext/number/is-safe-integer/is-implemented.js +8 -0
  648. data/node_modules/es5-ext/number/is-safe-integer/shim.js +11 -0
  649. data/node_modules/es5-ext/number/max-safe-integer/implement.js +6 -0
  650. data/node_modules/es5-ext/number/max-safe-integer/index.js +3 -0
  651. data/node_modules/es5-ext/number/max-safe-integer/is-implemented.js +5 -0
  652. data/node_modules/es5-ext/number/min-safe-integer/implement.js +6 -0
  653. data/node_modules/es5-ext/number/min-safe-integer/index.js +3 -0
  654. data/node_modules/es5-ext/number/min-safe-integer/is-implemented.js +5 -0
  655. data/node_modules/es5-ext/number/to-integer.js +12 -0
  656. data/node_modules/es5-ext/number/to-pos-integer.js +7 -0
  657. data/node_modules/es5-ext/number/to-uint32.js +3 -0
  658. data/node_modules/es5-ext/object/_iterate.js +29 -0
  659. data/node_modules/es5-ext/object/assign/implement.js +6 -0
  660. data/node_modules/es5-ext/object/assign/index.js +5 -0
  661. data/node_modules/es5-ext/object/assign/is-implemented.js +9 -0
  662. data/node_modules/es5-ext/object/assign/shim.js +22 -0
  663. data/node_modules/es5-ext/object/clear.js +16 -0
  664. data/node_modules/es5-ext/object/compact.js +7 -0
  665. data/node_modules/es5-ext/object/compare.js +42 -0
  666. data/node_modules/es5-ext/object/copy-deep.js +38 -0
  667. data/node_modules/es5-ext/object/copy.js +10 -0
  668. data/node_modules/es5-ext/object/count.js +5 -0
  669. data/node_modules/es5-ext/object/create.js +36 -0
  670. data/node_modules/es5-ext/object/ensure-natural-number-value.js +8 -0
  671. data/node_modules/es5-ext/object/ensure-natural-number.js +9 -0
  672. data/node_modules/es5-ext/object/eq.js +5 -0
  673. data/node_modules/es5-ext/object/every.js +3 -0
  674. data/node_modules/es5-ext/object/filter.js +15 -0
  675. data/node_modules/es5-ext/object/find-key.js +3 -0
  676. data/node_modules/es5-ext/object/find.js +8 -0
  677. data/node_modules/es5-ext/object/first-key.js +14 -0
  678. data/node_modules/es5-ext/object/flatten.js +17 -0
  679. data/node_modules/es5-ext/object/for-each.js +3 -0
  680. data/node_modules/es5-ext/object/get-property-names.js +18 -0
  681. data/node_modules/es5-ext/object/index.js +54 -0
  682. data/node_modules/es5-ext/object/is-array-like.js +14 -0
  683. data/node_modules/es5-ext/object/is-callable.js +5 -0
  684. data/node_modules/es5-ext/object/is-copy-deep.js +58 -0
  685. data/node_modules/es5-ext/object/is-copy.js +24 -0
  686. data/node_modules/es5-ext/object/is-empty.js +14 -0
  687. data/node_modules/es5-ext/object/is-number-value.js +3 -0
  688. data/node_modules/es5-ext/object/is-object.js +7 -0
  689. data/node_modules/es5-ext/object/is-plain-object.js +20 -0
  690. data/node_modules/es5-ext/object/is-value.js +5 -0
  691. data/node_modules/es5-ext/object/is.js +10 -0
  692. data/node_modules/es5-ext/object/key-of.js +15 -0
  693. data/node_modules/es5-ext/object/keys/implement.js +6 -0
  694. data/node_modules/es5-ext/object/keys/index.js +5 -0
  695. data/node_modules/es5-ext/object/keys/is-implemented.js +8 -0
  696. data/node_modules/es5-ext/object/keys/shim.js +7 -0
  697. data/node_modules/es5-ext/object/map-keys.js +15 -0
  698. data/node_modules/es5-ext/object/map.js +15 -0
  699. data/node_modules/es5-ext/object/mixin-prototypes.js +34 -0
  700. data/node_modules/es5-ext/object/mixin.js +27 -0
  701. data/node_modules/es5-ext/object/normalize-options.js +17 -0
  702. data/node_modules/es5-ext/object/primitive-set.js +9 -0
  703. data/node_modules/es5-ext/object/safe-traverse.js +15 -0
  704. data/node_modules/es5-ext/object/serialize.js +36 -0
  705. data/node_modules/es5-ext/object/set-prototype-of/implement.js +8 -0
  706. data/node_modules/es5-ext/object/set-prototype-of/index.js +5 -0
  707. data/node_modules/es5-ext/object/set-prototype-of/is-implemented.js +11 -0
  708. data/node_modules/es5-ext/object/set-prototype-of/shim.js +73 -0
  709. data/node_modules/es5-ext/object/some.js +3 -0
  710. data/node_modules/es5-ext/object/to-array.js +18 -0
  711. data/node_modules/es5-ext/object/unserialize.js +7 -0
  712. data/node_modules/es5-ext/object/valid-callable.js +6 -0
  713. data/node_modules/es5-ext/object/valid-object.js +8 -0
  714. data/node_modules/es5-ext/object/valid-value.js +6 -0
  715. data/node_modules/es5-ext/object/validate-array-like-object.js +9 -0
  716. data/node_modules/es5-ext/object/validate-array-like.js +8 -0
  717. data/node_modules/es5-ext/object/validate-stringifiable-value.js +6 -0
  718. data/node_modules/es5-ext/object/validate-stringifiable.js +9 -0
  719. data/node_modules/es5-ext/package.json +43 -0
  720. data/node_modules/es5-ext/reg-exp/#/index.js +10 -0
  721. data/node_modules/es5-ext/reg-exp/#/is-sticky.js +9 -0
  722. data/node_modules/es5-ext/reg-exp/#/is-unicode.js +9 -0
  723. data/node_modules/es5-ext/reg-exp/#/match/implement.js +6 -0
  724. data/node_modules/es5-ext/reg-exp/#/match/index.js +5 -0
  725. data/node_modules/es5-ext/reg-exp/#/match/is-implemented.js +8 -0
  726. data/node_modules/es5-ext/reg-exp/#/match/shim.js +8 -0
  727. data/node_modules/es5-ext/reg-exp/#/replace/implement.js +6 -0
  728. data/node_modules/es5-ext/reg-exp/#/replace/index.js +5 -0
  729. data/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js +8 -0
  730. data/node_modules/es5-ext/reg-exp/#/replace/shim.js +8 -0
  731. data/node_modules/es5-ext/reg-exp/#/search/implement.js +6 -0
  732. data/node_modules/es5-ext/reg-exp/#/search/index.js +5 -0
  733. data/node_modules/es5-ext/reg-exp/#/search/is-implemented.js +8 -0
  734. data/node_modules/es5-ext/reg-exp/#/search/shim.js +8 -0
  735. data/node_modules/es5-ext/reg-exp/#/split/implement.js +6 -0
  736. data/node_modules/es5-ext/reg-exp/#/split/index.js +5 -0
  737. data/node_modules/es5-ext/reg-exp/#/split/is-implemented.js +8 -0
  738. data/node_modules/es5-ext/reg-exp/#/split/shim.js +8 -0
  739. data/node_modules/es5-ext/reg-exp/#/sticky/implement.js +8 -0
  740. data/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js +10 -0
  741. data/node_modules/es5-ext/reg-exp/#/unicode/implement.js +8 -0
  742. data/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js +10 -0
  743. data/node_modules/es5-ext/reg-exp/escape.js +9 -0
  744. data/node_modules/es5-ext/reg-exp/index.js +8 -0
  745. data/node_modules/es5-ext/reg-exp/is-reg-exp.js +9 -0
  746. data/node_modules/es5-ext/reg-exp/valid-reg-exp.js +8 -0
  747. data/node_modules/es5-ext/string/#/@@iterator/implement.js +6 -0
  748. data/node_modules/es5-ext/string/#/@@iterator/index.js +4 -0
  749. data/node_modules/es5-ext/string/#/@@iterator/is-implemented.js +16 -0
  750. data/node_modules/es5-ext/string/#/@@iterator/shim.js +6 -0
  751. data/node_modules/es5-ext/string/#/at.js +33 -0
  752. data/node_modules/es5-ext/string/#/camel-to-hyphen.js +10 -0
  753. data/node_modules/es5-ext/string/#/capitalize.js +8 -0
  754. data/node_modules/es5-ext/string/#/case-insensitive-compare.js +7 -0
  755. data/node_modules/es5-ext/string/#/code-point-at/implement.js +7 -0
  756. data/node_modules/es5-ext/string/#/code-point-at/index.js +5 -0
  757. data/node_modules/es5-ext/string/#/code-point-at/is-implemented.js +8 -0
  758. data/node_modules/es5-ext/string/#/code-point-at/shim.js +26 -0
  759. data/node_modules/es5-ext/string/#/contains/implement.js +7 -0
  760. data/node_modules/es5-ext/string/#/contains/index.js +5 -0
  761. data/node_modules/es5-ext/string/#/contains/is-implemented.js +8 -0
  762. data/node_modules/es5-ext/string/#/contains/shim.js +7 -0
  763. data/node_modules/es5-ext/string/#/ends-with/implement.js +7 -0
  764. data/node_modules/es5-ext/string/#/ends-with/index.js +5 -0
  765. data/node_modules/es5-ext/string/#/ends-with/is-implemented.js +8 -0
  766. data/node_modules/es5-ext/string/#/ends-with/shim.js +16 -0
  767. data/node_modules/es5-ext/string/#/hyphen-to-camel.js +8 -0
  768. data/node_modules/es5-ext/string/#/indent.js +12 -0
  769. data/node_modules/es5-ext/string/#/index.js +22 -0
  770. data/node_modules/es5-ext/string/#/last.js +8 -0
  771. data/node_modules/es5-ext/string/#/normalize/_data.js +69 -0
  772. data/node_modules/es5-ext/string/#/normalize/implement.js +7 -0
  773. data/node_modules/es5-ext/string/#/normalize/index.js +5 -0
  774. data/node_modules/es5-ext/string/#/normalize/is-implemented.js +8 -0
  775. data/node_modules/es5-ext/string/#/normalize/shim.js +289 -0
  776. data/node_modules/es5-ext/string/#/pad.js +18 -0
  777. data/node_modules/es5-ext/string/#/plain-replace-all.js +16 -0
  778. data/node_modules/es5-ext/string/#/plain-replace.js +10 -0
  779. data/node_modules/es5-ext/string/#/repeat/implement.js +7 -0
  780. data/node_modules/es5-ext/string/#/repeat/index.js +5 -0
  781. data/node_modules/es5-ext/string/#/repeat/is-implemented.js +8 -0
  782. data/node_modules/es5-ext/string/#/repeat/shim.js +22 -0
  783. data/node_modules/es5-ext/string/#/starts-with/implement.js +7 -0
  784. data/node_modules/es5-ext/string/#/starts-with/index.js +5 -0
  785. data/node_modules/es5-ext/string/#/starts-with/is-implemented.js +9 -0
  786. data/node_modules/es5-ext/string/#/starts-with/shim.js +12 -0
  787. data/node_modules/es5-ext/string/#/uncapitalize.js +8 -0
  788. data/node_modules/es5-ext/string/format-method.js +24 -0
  789. data/node_modules/es5-ext/string/from-code-point/implement.js +6 -0
  790. data/node_modules/es5-ext/string/from-code-point/index.js +5 -0
  791. data/node_modules/es5-ext/string/from-code-point/is-implemented.js +7 -0
  792. data/node_modules/es5-ext/string/from-code-point/shim.js +30 -0
  793. data/node_modules/es5-ext/string/index.js +10 -0
  794. data/node_modules/es5-ext/string/is-string.js +10 -0
  795. data/node_modules/es5-ext/string/random-uniq.js +11 -0
  796. data/node_modules/es5-ext/string/raw/implement.js +6 -0
  797. data/node_modules/es5-ext/string/raw/index.js +5 -0
  798. data/node_modules/es5-ext/string/raw/is-implemented.js +9 -0
  799. data/node_modules/es5-ext/string/raw/shim.js +15 -0
  800. data/node_modules/es5-ext/test/__tad.js +3 -0
  801. data/node_modules/es5-ext/test/array/#/@@iterator/implement.js +5 -0
  802. data/node_modules/es5-ext/test/array/#/@@iterator/index.js +3 -0
  803. data/node_modules/es5-ext/test/array/#/@@iterator/is-implemented.js +3 -0
  804. data/node_modules/es5-ext/test/array/#/@@iterator/shim.js +9 -0
  805. data/node_modules/es5-ext/test/array/#/_compare-by-length.js +7 -0
  806. data/node_modules/es5-ext/test/array/#/binary-search.js +15 -0
  807. data/node_modules/es5-ext/test/array/#/clear.js +7 -0
  808. data/node_modules/es5-ext/test/array/#/compact.js +17 -0
  809. data/node_modules/es5-ext/test/array/#/concat/implement.js +5 -0
  810. data/node_modules/es5-ext/test/array/#/concat/index.js +3 -0
  811. data/node_modules/es5-ext/test/array/#/concat/is-implemented.js +3 -0
  812. data/node_modules/es5-ext/test/array/#/concat/shim.js +26 -0
  813. data/node_modules/es5-ext/test/array/#/contains.js +21 -0
  814. data/node_modules/es5-ext/test/array/#/copy-within/implement.js +5 -0
  815. data/node_modules/es5-ext/test/array/#/copy-within/index.js +3 -0
  816. data/node_modules/es5-ext/test/array/#/copy-within/is-implemented.js +3 -0
  817. data/node_modules/es5-ext/test/array/#/copy-within/shim.js +29 -0
  818. data/node_modules/es5-ext/test/array/#/diff.js +17 -0
  819. data/node_modules/es5-ext/test/array/#/e-index-of.js +13 -0
  820. data/node_modules/es5-ext/test/array/#/e-last-index-of.js +12 -0
  821. data/node_modules/es5-ext/test/array/#/entries/implement.js +5 -0
  822. data/node_modules/es5-ext/test/array/#/entries/index.js +3 -0
  823. data/node_modules/es5-ext/test/array/#/entries/is-implemented.js +3 -0
  824. data/node_modules/es5-ext/test/array/#/entries/shim.js +9 -0
  825. data/node_modules/es5-ext/test/array/#/exclusion.js +15 -0
  826. data/node_modules/es5-ext/test/array/#/fill/implement.js +5 -0
  827. data/node_modules/es5-ext/test/array/#/fill/index.js +3 -0
  828. data/node_modules/es5-ext/test/array/#/fill/is-implemented.js +3 -0
  829. data/node_modules/es5-ext/test/array/#/fill/shim.js +18 -0
  830. data/node_modules/es5-ext/test/array/#/filter/implement.js +5 -0
  831. data/node_modules/es5-ext/test/array/#/filter/index.js +3 -0
  832. data/node_modules/es5-ext/test/array/#/filter/is-implemented.js +3 -0
  833. data/node_modules/es5-ext/test/array/#/filter/shim.js +17 -0
  834. data/node_modules/es5-ext/test/array/#/find-index/implement.js +5 -0
  835. data/node_modules/es5-ext/test/array/#/find-index/index.js +3 -0
  836. data/node_modules/es5-ext/test/array/#/find-index/is-implemented.js +3 -0
  837. data/node_modules/es5-ext/test/array/#/find-index/shim.js +17 -0
  838. data/node_modules/es5-ext/test/array/#/find/implement.js +5 -0
  839. data/node_modules/es5-ext/test/array/#/find/index.js +3 -0
  840. data/node_modules/es5-ext/test/array/#/find/is-implemented.js +3 -0
  841. data/node_modules/es5-ext/test/array/#/find/shim.js +17 -0
  842. data/node_modules/es5-ext/test/array/#/first-index.js +17 -0
  843. data/node_modules/es5-ext/test/array/#/first.js +13 -0
  844. data/node_modules/es5-ext/test/array/#/flatten.js +14 -0
  845. data/node_modules/es5-ext/test/array/#/for-each-right.js +36 -0
  846. data/node_modules/es5-ext/test/array/#/group.js +24 -0
  847. data/node_modules/es5-ext/test/array/#/indexes-of.js +14 -0
  848. data/node_modules/es5-ext/test/array/#/intersection.js +24 -0
  849. data/node_modules/es5-ext/test/array/#/is-copy.js +13 -0
  850. data/node_modules/es5-ext/test/array/#/is-uniq.js +11 -0
  851. data/node_modules/es5-ext/test/array/#/keys/implement.js +5 -0
  852. data/node_modules/es5-ext/test/array/#/keys/index.js +3 -0
  853. data/node_modules/es5-ext/test/array/#/keys/is-implemented.js +3 -0
  854. data/node_modules/es5-ext/test/array/#/keys/shim.js +9 -0
  855. data/node_modules/es5-ext/test/array/#/last-index.js +17 -0
  856. data/node_modules/es5-ext/test/array/#/last.js +15 -0
  857. data/node_modules/es5-ext/test/array/#/map/implement.js +5 -0
  858. data/node_modules/es5-ext/test/array/#/map/index.js +3 -0
  859. data/node_modules/es5-ext/test/array/#/map/is-implemented.js +3 -0
  860. data/node_modules/es5-ext/test/array/#/map/shim.js +19 -0
  861. data/node_modules/es5-ext/test/array/#/remove.js +14 -0
  862. data/node_modules/es5-ext/test/array/#/separate.js +15 -0
  863. data/node_modules/es5-ext/test/array/#/slice/implement.js +5 -0
  864. data/node_modules/es5-ext/test/array/#/slice/index.js +3 -0
  865. data/node_modules/es5-ext/test/array/#/slice/is-implemented.js +3 -0
  866. data/node_modules/es5-ext/test/array/#/slice/shim.js +17 -0
  867. data/node_modules/es5-ext/test/array/#/some-right.js +43 -0
  868. data/node_modules/es5-ext/test/array/#/splice/implement.js +5 -0
  869. data/node_modules/es5-ext/test/array/#/splice/index.js +3 -0
  870. data/node_modules/es5-ext/test/array/#/splice/is-implemented.js +3 -0
  871. data/node_modules/es5-ext/test/array/#/splice/shim.js +19 -0
  872. data/node_modules/es5-ext/test/array/#/uniq.js +14 -0
  873. data/node_modules/es5-ext/test/array/#/values/implement.js +5 -0
  874. data/node_modules/es5-ext/test/array/#/values/index.js +3 -0
  875. data/node_modules/es5-ext/test/array/#/values/is-implemented.js +3 -0
  876. data/node_modules/es5-ext/test/array/#/values/shim.js +9 -0
  877. data/node_modules/es5-ext/test/array/__scopes.js +11 -0
  878. data/node_modules/es5-ext/test/array/_is-extensible.js +5 -0
  879. data/node_modules/es5-ext/test/array/_sub-array-dummy-safe.js +7 -0
  880. data/node_modules/es5-ext/test/array/_sub-array-dummy.js +7 -0
  881. data/node_modules/es5-ext/test/array/from/implement.js +5 -0
  882. data/node_modules/es5-ext/test/array/from/index.js +3 -0
  883. data/node_modules/es5-ext/test/array/from/is-implemented.js +3 -0
  884. data/node_modules/es5-ext/test/array/from/shim.js +60 -0
  885. data/node_modules/es5-ext/test/array/generate.js +10 -0
  886. data/node_modules/es5-ext/test/array/is-plain-array.js +18 -0
  887. data/node_modules/es5-ext/test/array/of/implement.js +5 -0
  888. data/node_modules/es5-ext/test/array/of/index.js +3 -0
  889. data/node_modules/es5-ext/test/array/of/is-implemented.js +3 -0
  890. data/node_modules/es5-ext/test/array/of/shim.js +68 -0
  891. data/node_modules/es5-ext/test/array/to-array.js +13 -0
  892. data/node_modules/es5-ext/test/array/valid-array.js +14 -0
  893. data/node_modules/es5-ext/test/boolean/is-boolean.js +12 -0
  894. data/node_modules/es5-ext/test/date/#/copy.js +10 -0
  895. data/node_modules/es5-ext/test/date/#/days-in-month.js +17 -0
  896. data/node_modules/es5-ext/test/date/#/floor-day.js +6 -0
  897. data/node_modules/es5-ext/test/date/#/floor-month.js +6 -0
  898. data/node_modules/es5-ext/test/date/#/floor-year.js +6 -0
  899. data/node_modules/es5-ext/test/date/#/format.js +6 -0
  900. data/node_modules/es5-ext/test/date/is-date.js +10 -0
  901. data/node_modules/es5-ext/test/date/valid-date.js +12 -0
  902. data/node_modules/es5-ext/test/error/#/throw.js +10 -0
  903. data/node_modules/es5-ext/test/error/custom.js +12 -0
  904. data/node_modules/es5-ext/test/error/is-error.js +16 -0
  905. data/node_modules/es5-ext/test/error/valid-error.js +9 -0
  906. data/node_modules/es5-ext/test/function/#/compose.js +9 -0
  907. data/node_modules/es5-ext/test/function/#/copy.js +19 -0
  908. data/node_modules/es5-ext/test/function/#/curry.js +18 -0
  909. data/node_modules/es5-ext/test/function/#/lock.js +7 -0
  910. data/node_modules/es5-ext/test/function/#/not.js +11 -0
  911. data/node_modules/es5-ext/test/function/#/partial.js +9 -0
  912. data/node_modules/es5-ext/test/function/#/spread.js +8 -0
  913. data/node_modules/es5-ext/test/function/#/to-string-tokens.js +12 -0
  914. data/node_modules/es5-ext/test/function/_define-length.js +12 -0
  915. data/node_modules/es5-ext/test/function/constant.js +7 -0
  916. data/node_modules/es5-ext/test/function/identity.js +7 -0
  917. data/node_modules/es5-ext/test/function/invoke.js +9 -0
  918. data/node_modules/es5-ext/test/function/is-arguments.js +11 -0
  919. data/node_modules/es5-ext/test/function/is-function.js +8 -0
  920. data/node_modules/es5-ext/test/function/noop.js +5 -0
  921. data/node_modules/es5-ext/test/function/pluck.js +7 -0
  922. data/node_modules/es5-ext/test/function/valid-function.js +17 -0
  923. data/node_modules/es5-ext/test/global.js +5 -0
  924. data/node_modules/es5-ext/test/iterable/for-each.js +40 -0
  925. data/node_modules/es5-ext/test/iterable/is.js +20 -0
  926. data/node_modules/es5-ext/test/iterable/validate-object.js +20 -0
  927. data/node_modules/es5-ext/test/iterable/validate.js +20 -0
  928. data/node_modules/es5-ext/test/json/safe-stringify.js +15 -0
  929. data/node_modules/es5-ext/test/math/_pack-ieee754.js +5 -0
  930. data/node_modules/es5-ext/test/math/_unpack-ieee754.js +5 -0
  931. data/node_modules/es5-ext/test/math/acosh/implement.js +5 -0
  932. data/node_modules/es5-ext/test/math/acosh/index.js +3 -0
  933. data/node_modules/es5-ext/test/math/acosh/is-implemented.js +3 -0
  934. data/node_modules/es5-ext/test/math/acosh/shim.js +11 -0
  935. data/node_modules/es5-ext/test/math/asinh/implement.js +5 -0
  936. data/node_modules/es5-ext/test/math/asinh/index.js +3 -0
  937. data/node_modules/es5-ext/test/math/asinh/is-implemented.js +3 -0
  938. data/node_modules/es5-ext/test/math/asinh/shim.js +10 -0
  939. data/node_modules/es5-ext/test/math/atanh/implement.js +5 -0
  940. data/node_modules/es5-ext/test/math/atanh/index.js +3 -0
  941. data/node_modules/es5-ext/test/math/atanh/is-implemented.js +3 -0
  942. data/node_modules/es5-ext/test/math/atanh/shim.js +11 -0
  943. data/node_modules/es5-ext/test/math/cbrt/implement.js +5 -0
  944. data/node_modules/es5-ext/test/math/cbrt/index.js +3 -0
  945. data/node_modules/es5-ext/test/math/cbrt/is-implemented.js +3 -0
  946. data/node_modules/es5-ext/test/math/cbrt/shim.js +11 -0
  947. data/node_modules/es5-ext/test/math/clz32/implement.js +5 -0
  948. data/node_modules/es5-ext/test/math/clz32/index.js +3 -0
  949. data/node_modules/es5-ext/test/math/clz32/is-implemented.js +3 -0
  950. data/node_modules/es5-ext/test/math/clz32/shim.js +12 -0
  951. data/node_modules/es5-ext/test/math/cosh/implement.js +5 -0
  952. data/node_modules/es5-ext/test/math/cosh/index.js +3 -0
  953. data/node_modules/es5-ext/test/math/cosh/is-implemented.js +3 -0
  954. data/node_modules/es5-ext/test/math/cosh/shim.js +13 -0
  955. data/node_modules/es5-ext/test/math/expm1/implement.js +5 -0
  956. data/node_modules/es5-ext/test/math/expm1/index.js +3 -0
  957. data/node_modules/es5-ext/test/math/expm1/is-implemented.js +3 -0
  958. data/node_modules/es5-ext/test/math/expm1/shim.js +9 -0
  959. data/node_modules/es5-ext/test/math/fround/implement.js +5 -0
  960. data/node_modules/es5-ext/test/math/fround/index.js +3 -0
  961. data/node_modules/es5-ext/test/math/fround/is-implemented.js +3 -0
  962. data/node_modules/es5-ext/test/math/fround/shim.js +9 -0
  963. data/node_modules/es5-ext/test/math/hypot/implement.js +5 -0
  964. data/node_modules/es5-ext/test/math/hypot/index.js +3 -0
  965. data/node_modules/es5-ext/test/math/hypot/is-implemented.js +3 -0
  966. data/node_modules/es5-ext/test/math/hypot/shim.js +11 -0
  967. data/node_modules/es5-ext/test/math/imul/implement.js +5 -0
  968. data/node_modules/es5-ext/test/math/imul/index.js +3 -0
  969. data/node_modules/es5-ext/test/math/imul/is-implemented.js +3 -0
  970. data/node_modules/es5-ext/test/math/imul/shim.js +9 -0
  971. data/node_modules/es5-ext/test/math/log10/implement.js +5 -0
  972. data/node_modules/es5-ext/test/math/log10/index.js +3 -0
  973. data/node_modules/es5-ext/test/math/log10/is-implemented.js +3 -0
  974. data/node_modules/es5-ext/test/math/log10/shim.js +10 -0
  975. data/node_modules/es5-ext/test/math/log1p/implement.js +5 -0
  976. data/node_modules/es5-ext/test/math/log1p/index.js +3 -0
  977. data/node_modules/es5-ext/test/math/log1p/is-implemented.js +3 -0
  978. data/node_modules/es5-ext/test/math/log1p/shim.js +10 -0
  979. data/node_modules/es5-ext/test/math/log2/implement.js +5 -0
  980. data/node_modules/es5-ext/test/math/log2/index.js +3 -0
  981. data/node_modules/es5-ext/test/math/log2/is-implemented.js +3 -0
  982. data/node_modules/es5-ext/test/math/log2/shim.js +10 -0
  983. data/node_modules/es5-ext/test/math/sign/implement.js +5 -0
  984. data/node_modules/es5-ext/test/math/sign/index.js +3 -0
  985. data/node_modules/es5-ext/test/math/sign/is-implemented.js +3 -0
  986. data/node_modules/es5-ext/test/math/sign/shim.js +11 -0
  987. data/node_modules/es5-ext/test/math/sinh/implement.js +5 -0
  988. data/node_modules/es5-ext/test/math/sinh/index.js +3 -0
  989. data/node_modules/es5-ext/test/math/sinh/is-implemented.js +3 -0
  990. data/node_modules/es5-ext/test/math/sinh/shim.js +13 -0
  991. data/node_modules/es5-ext/test/math/tanh/implement.js +5 -0
  992. data/node_modules/es5-ext/test/math/tanh/index.js +3 -0
  993. data/node_modules/es5-ext/test/math/tanh/is-implemented.js +3 -0
  994. data/node_modules/es5-ext/test/math/tanh/shim.js +11 -0
  995. data/node_modules/es5-ext/test/math/trunc/implement.js +5 -0
  996. data/node_modules/es5-ext/test/math/trunc/index.js +3 -0
  997. data/node_modules/es5-ext/test/math/trunc/is-implemented.js +3 -0
  998. data/node_modules/es5-ext/test/math/trunc/shim.js +16 -0
  999. data/node_modules/es5-ext/test/number/#/pad.js +7 -0
  1000. data/node_modules/es5-ext/test/number/epsilon/implement.js +5 -0
  1001. data/node_modules/es5-ext/test/number/epsilon/index.js +5 -0
  1002. data/node_modules/es5-ext/test/number/epsilon/is-implemented.js +3 -0
  1003. data/node_modules/es5-ext/test/number/is-finite/implement.js +5 -0
  1004. data/node_modules/es5-ext/test/number/is-finite/index.js +3 -0
  1005. data/node_modules/es5-ext/test/number/is-finite/is-implemented.js +3 -0
  1006. data/node_modules/es5-ext/test/number/is-finite/shim.js +8 -0
  1007. data/node_modules/es5-ext/test/number/is-integer/implement.js +5 -0
  1008. data/node_modules/es5-ext/test/number/is-integer/index.js +3 -0
  1009. data/node_modules/es5-ext/test/number/is-integer/is-implemented.js +3 -0
  1010. data/node_modules/es5-ext/test/number/is-integer/shim.js +9 -0
  1011. data/node_modules/es5-ext/test/number/is-nan/implement.js +5 -0
  1012. data/node_modules/es5-ext/test/number/is-nan/index.js +3 -0
  1013. data/node_modules/es5-ext/test/number/is-nan/is-implemented.js +3 -0
  1014. data/node_modules/es5-ext/test/number/is-nan/shim.js +7 -0
  1015. data/node_modules/es5-ext/test/number/is-natural.js +10 -0
  1016. data/node_modules/es5-ext/test/number/is-number.js +13 -0
  1017. data/node_modules/es5-ext/test/number/is-safe-integer/implement.js +5 -0
  1018. data/node_modules/es5-ext/test/number/is-safe-integer/index.js +3 -0
  1019. data/node_modules/es5-ext/test/number/is-safe-integer/is-implemented.js +3 -0
  1020. data/node_modules/es5-ext/test/number/is-safe-integer/shim.js +11 -0
  1021. data/node_modules/es5-ext/test/number/max-safe-integer/implement.js +5 -0
  1022. data/node_modules/es5-ext/test/number/max-safe-integer/index.js +5 -0
  1023. data/node_modules/es5-ext/test/number/max-safe-integer/is-implemented.js +3 -0
  1024. data/node_modules/es5-ext/test/number/min-safe-integer/implement.js +5 -0
  1025. data/node_modules/es5-ext/test/number/min-safe-integer/index.js +5 -0
  1026. data/node_modules/es5-ext/test/number/min-safe-integer/is-implemented.js +3 -0
  1027. data/node_modules/es5-ext/test/number/to-integer.js +10 -0
  1028. data/node_modules/es5-ext/test/number/to-pos-integer.js +10 -0
  1029. data/node_modules/es5-ext/test/number/to-uint32.js +8 -0
  1030. data/node_modules/es5-ext/test/object/_iterate.js +30 -0
  1031. data/node_modules/es5-ext/test/object/assign/implement.js +5 -0
  1032. data/node_modules/es5-ext/test/object/assign/index.js +3 -0
  1033. data/node_modules/es5-ext/test/object/assign/is-implemented.js +3 -0
  1034. data/node_modules/es5-ext/test/object/assign/shim.js +11 -0
  1035. data/node_modules/es5-ext/test/object/clear.js +13 -0
  1036. data/node_modules/es5-ext/test/object/compact.js +14 -0
  1037. data/node_modules/es5-ext/test/object/compare.js +13 -0
  1038. data/node_modules/es5-ext/test/object/copy-deep.js +28 -0
  1039. data/node_modules/es5-ext/test/object/copy.js +19 -0
  1040. data/node_modules/es5-ext/test/object/count.js +11 -0
  1041. data/node_modules/es5-ext/test/object/create.js +22 -0
  1042. data/node_modules/es5-ext/test/object/ensure-natural-number-value.js +12 -0
  1043. data/node_modules/es5-ext/test/object/ensure-natural-number.js +12 -0
  1044. data/node_modules/es5-ext/test/object/eq.js +12 -0
  1045. data/node_modules/es5-ext/test/object/every.js +21 -0
  1046. data/node_modules/es5-ext/test/object/filter.js +6 -0
  1047. data/node_modules/es5-ext/test/object/find-key.js +23 -0
  1048. data/node_modules/es5-ext/test/object/find.js +23 -0
  1049. data/node_modules/es5-ext/test/object/first-key.js +13 -0
  1050. data/node_modules/es5-ext/test/object/flatten.js +6 -0
  1051. data/node_modules/es5-ext/test/object/for-each.js +10 -0
  1052. data/node_modules/es5-ext/test/object/get-property-names.js +18 -0
  1053. data/node_modules/es5-ext/test/object/is-array-like.js +14 -0
  1054. data/node_modules/es5-ext/test/object/is-callable.js +8 -0
  1055. data/node_modules/es5-ext/test/object/is-copy-deep.js +46 -0
  1056. data/node_modules/es5-ext/test/object/is-copy.js +18 -0
  1057. data/node_modules/es5-ext/test/object/is-empty.js +6 -0
  1058. data/node_modules/es5-ext/test/object/is-number-value.js +15 -0
  1059. data/node_modules/es5-ext/test/object/is-object.js +13 -0
  1060. data/node_modules/es5-ext/test/object/is-plain-object.js +18 -0
  1061. data/node_modules/es5-ext/test/object/is-value.js +14 -0
  1062. data/node_modules/es5-ext/test/object/is.js +12 -0
  1063. data/node_modules/es5-ext/test/object/key-of.js +12 -0
  1064. data/node_modules/es5-ext/test/object/keys/implement.js +5 -0
  1065. data/node_modules/es5-ext/test/object/keys/index.js +3 -0
  1066. data/node_modules/es5-ext/test/object/keys/is-implemented.js +3 -0
  1067. data/node_modules/es5-ext/test/object/keys/shim.js +8 -0
  1068. data/node_modules/es5-ext/test/object/map-keys.js +7 -0
  1069. data/node_modules/es5-ext/test/object/map.js +9 -0
  1070. data/node_modules/es5-ext/test/object/mixin-prototypes.js +67 -0
  1071. data/node_modules/es5-ext/test/object/mixin.js +69 -0
  1072. data/node_modules/es5-ext/test/object/normalize-options.js +32 -0
  1073. data/node_modules/es5-ext/test/object/primitive-set.js +15 -0
  1074. data/node_modules/es5-ext/test/object/safe-traverse.js +15 -0
  1075. data/node_modules/es5-ext/test/object/serialize.js +25 -0
  1076. data/node_modules/es5-ext/test/object/set-prototype-of/implement.js +6 -0
  1077. data/node_modules/es5-ext/test/object/set-prototype-of/index.js +23 -0
  1078. data/node_modules/es5-ext/test/object/set-prototype-of/is-implemented.js +3 -0
  1079. data/node_modules/es5-ext/test/object/set-prototype-of/shim.js +23 -0
  1080. data/node_modules/es5-ext/test/object/some.js +23 -0
  1081. data/node_modules/es5-ext/test/object/to-array.js +15 -0
  1082. data/node_modules/es5-ext/test/object/unserialize.js +24 -0
  1083. data/node_modules/es5-ext/test/object/valid-callable.js +9 -0
  1084. data/node_modules/es5-ext/test/object/valid-object.js +15 -0
  1085. data/node_modules/es5-ext/test/object/valid-value.js +19 -0
  1086. data/node_modules/es5-ext/test/object/validate-array-like-object.js +15 -0
  1087. data/node_modules/es5-ext/test/object/validate-array-like.js +15 -0
  1088. data/node_modules/es5-ext/test/object/validate-stringifiable-value.js +16 -0
  1089. data/node_modules/es5-ext/test/object/validate-stringifiable.js +16 -0
  1090. data/node_modules/es5-ext/test/reg-exp/#/index.js +12 -0
  1091. data/node_modules/es5-ext/test/reg-exp/#/is-sticky.js +10 -0
  1092. data/node_modules/es5-ext/test/reg-exp/#/is-unicode.js +10 -0
  1093. data/node_modules/es5-ext/test/reg-exp/#/match/implement.js +5 -0
  1094. data/node_modules/es5-ext/test/reg-exp/#/match/index.js +3 -0
  1095. data/node_modules/es5-ext/test/reg-exp/#/match/is-implemented.js +3 -0
  1096. data/node_modules/es5-ext/test/reg-exp/#/match/shim.js +8 -0
  1097. data/node_modules/es5-ext/test/reg-exp/#/replace/implement.js +5 -0
  1098. data/node_modules/es5-ext/test/reg-exp/#/replace/index.js +3 -0
  1099. data/node_modules/es5-ext/test/reg-exp/#/replace/is-implemented.js +3 -0
  1100. data/node_modules/es5-ext/test/reg-exp/#/replace/shim.js +5 -0
  1101. data/node_modules/es5-ext/test/reg-exp/#/search/implement.js +5 -0
  1102. data/node_modules/es5-ext/test/reg-exp/#/search/index.js +3 -0
  1103. data/node_modules/es5-ext/test/reg-exp/#/search/is-implemented.js +3 -0
  1104. data/node_modules/es5-ext/test/reg-exp/#/search/shim.js +5 -0
  1105. data/node_modules/es5-ext/test/reg-exp/#/split/implement.js +5 -0
  1106. data/node_modules/es5-ext/test/reg-exp/#/split/index.js +3 -0
  1107. data/node_modules/es5-ext/test/reg-exp/#/split/is-implemented.js +3 -0
  1108. data/node_modules/es5-ext/test/reg-exp/#/split/shim.js +5 -0
  1109. data/node_modules/es5-ext/test/reg-exp/#/sticky/implement.js +5 -0
  1110. data/node_modules/es5-ext/test/reg-exp/#/sticky/is-implemented.js +3 -0
  1111. data/node_modules/es5-ext/test/reg-exp/#/unicode/implement.js +5 -0
  1112. data/node_modules/es5-ext/test/reg-exp/#/unicode/is-implemented.js +3 -0
  1113. data/node_modules/es5-ext/test/reg-exp/escape.js +6 -0
  1114. data/node_modules/es5-ext/test/reg-exp/is-reg-exp.js +12 -0
  1115. data/node_modules/es5-ext/test/reg-exp/valid-reg-exp.js +17 -0
  1116. data/node_modules/es5-ext/test/string/#/@@iterator/implement.js +5 -0
  1117. data/node_modules/es5-ext/test/string/#/@@iterator/index.js +3 -0
  1118. data/node_modules/es5-ext/test/string/#/@@iterator/is-implemented.js +3 -0
  1119. data/node_modules/es5-ext/test/string/#/@@iterator/shim.js +9 -0
  1120. data/node_modules/es5-ext/test/string/#/at.js +97 -0
  1121. data/node_modules/es5-ext/test/string/#/camel-to-hyphen.js +7 -0
  1122. data/node_modules/es5-ext/test/string/#/capitalize.js +9 -0
  1123. data/node_modules/es5-ext/test/string/#/case-insensitive-compare.js +7 -0
  1124. data/node_modules/es5-ext/test/string/#/code-point-at/implement.js +6 -0
  1125. data/node_modules/es5-ext/test/string/#/code-point-at/index.js +3 -0
  1126. data/node_modules/es5-ext/test/string/#/code-point-at/is-implemented.js +3 -0
  1127. data/node_modules/es5-ext/test/string/#/code-point-at/shim.js +81 -0
  1128. data/node_modules/es5-ext/test/string/#/contains/implement.js +5 -0
  1129. data/node_modules/es5-ext/test/string/#/contains/index.js +3 -0
  1130. data/node_modules/es5-ext/test/string/#/contains/is-implemented.js +3 -0
  1131. data/node_modules/es5-ext/test/string/#/contains/shim.js +14 -0
  1132. data/node_modules/es5-ext/test/string/#/ends-with/implement.js +5 -0
  1133. data/node_modules/es5-ext/test/string/#/ends-with/index.js +3 -0
  1134. data/node_modules/es5-ext/test/string/#/ends-with/is-implemented.js +3 -0
  1135. data/node_modules/es5-ext/test/string/#/ends-with/shim.js +16 -0
  1136. data/node_modules/es5-ext/test/string/#/hyphen-to-camel.js +7 -0
  1137. data/node_modules/es5-ext/test/string/#/indent.js +9 -0
  1138. data/node_modules/es5-ext/test/string/#/last.js +6 -0
  1139. data/node_modules/es5-ext/test/string/#/normalize/_data.js +3 -0
  1140. data/node_modules/es5-ext/test/string/#/normalize/implement.js +5 -0
  1141. data/node_modules/es5-ext/test/string/#/normalize/index.js +3 -0
  1142. data/node_modules/es5-ext/test/string/#/normalize/is-implemented.js +3 -0
  1143. data/node_modules/es5-ext/test/string/#/normalize/shim.js +13 -0
  1144. data/node_modules/es5-ext/test/string/#/pad.js +24 -0
  1145. data/node_modules/es5-ext/test/string/#/plain-replace-all.js +11 -0
  1146. data/node_modules/es5-ext/test/string/#/plain-replace.js +7 -0
  1147. data/node_modules/es5-ext/test/string/#/repeat/implement.js +5 -0
  1148. data/node_modules/es5-ext/test/string/#/repeat/index.js +3 -0
  1149. data/node_modules/es5-ext/test/string/#/repeat/is-implemented.js +3 -0
  1150. data/node_modules/es5-ext/test/string/#/repeat/shim.js +8 -0
  1151. data/node_modules/es5-ext/test/string/#/starts-with/implement.js +5 -0
  1152. data/node_modules/es5-ext/test/string/#/starts-with/index.js +3 -0
  1153. data/node_modules/es5-ext/test/string/#/starts-with/is-implemented.js +3 -0
  1154. data/node_modules/es5-ext/test/string/#/starts-with/shim.js +14 -0
  1155. data/node_modules/es5-ext/test/string/#/uncapitalize.js +10 -0
  1156. data/node_modules/es5-ext/test/string/format-method.js +7 -0
  1157. data/node_modules/es5-ext/test/string/from-code-point/implement.js +5 -0
  1158. data/node_modules/es5-ext/test/string/from-code-point/index.js +3 -0
  1159. data/node_modules/es5-ext/test/string/from-code-point/is-implemented.js +3 -0
  1160. data/node_modules/es5-ext/test/string/from-code-point/shim.js +47 -0
  1161. data/node_modules/es5-ext/test/string/is-string.js +11 -0
  1162. data/node_modules/es5-ext/test/string/random-uniq.js +14 -0
  1163. data/node_modules/es5-ext/test/string/raw/implement.js +5 -0
  1164. data/node_modules/es5-ext/test/string/raw/index.js +3 -0
  1165. data/node_modules/es5-ext/test/string/raw/is-implemented.js +3 -0
  1166. data/node_modules/es5-ext/test/string/raw/shim.js +15 -0
  1167. data/node_modules/es6-iterator/#/chain.js +40 -0
  1168. data/node_modules/es6-iterator/.lint +11 -0
  1169. data/node_modules/es6-iterator/.npmignore +4 -0
  1170. data/node_modules/es6-iterator/.travis.yml +13 -0
  1171. data/node_modules/es6-iterator/CHANGES +38 -0
  1172. data/node_modules/es6-iterator/LICENSE +21 -0
  1173. data/node_modules/es6-iterator/README.md +148 -0
  1174. data/node_modules/es6-iterator/array.js +30 -0
  1175. data/node_modules/es6-iterator/for-of.js +46 -0
  1176. data/node_modules/es6-iterator/get.js +15 -0
  1177. data/node_modules/es6-iterator/index.js +90 -0
  1178. data/node_modules/es6-iterator/is-iterable.js +15 -0
  1179. data/node_modules/es6-iterator/package.json +35 -0
  1180. data/node_modules/es6-iterator/string.js +37 -0
  1181. data/node_modules/es6-iterator/test/#/chain.js +23 -0
  1182. data/node_modules/es6-iterator/test/array.js +67 -0
  1183. data/node_modules/es6-iterator/test/for-of.js +40 -0
  1184. data/node_modules/es6-iterator/test/get.js +17 -0
  1185. data/node_modules/es6-iterator/test/index.js +99 -0
  1186. data/node_modules/es6-iterator/test/is-iterable.js +19 -0
  1187. data/node_modules/es6-iterator/test/string.js +23 -0
  1188. data/node_modules/es6-iterator/test/valid-iterable.js +18 -0
  1189. data/node_modules/es6-iterator/valid-iterable.js +8 -0
  1190. data/node_modules/es6-map/.lint +13 -0
  1191. data/node_modules/es6-map/.npmignore +4 -0
  1192. data/node_modules/es6-map/.travis.yml +13 -0
  1193. data/node_modules/es6-map/CHANGES +33 -0
  1194. data/node_modules/es6-map/LICENSE +19 -0
  1195. data/node_modules/es6-map/README.md +79 -0
  1196. data/node_modules/es6-map/implement.js +7 -0
  1197. data/node_modules/es6-map/index.js +3 -0
  1198. data/node_modules/es6-map/is-implemented.js +32 -0
  1199. data/node_modules/es6-map/is-map.js +12 -0
  1200. data/node_modules/es6-map/is-native-implemented.js +9 -0
  1201. data/node_modules/es6-map/lib/iterator-kinds.js +4 -0
  1202. data/node_modules/es6-map/lib/iterator.js +38 -0
  1203. data/node_modules/es6-map/lib/primitive-iterator.js +57 -0
  1204. data/node_modules/es6-map/package.json +41 -0
  1205. data/node_modules/es6-map/polyfill.js +104 -0
  1206. data/node_modules/es6-map/primitive/index.js +117 -0
  1207. data/node_modules/es6-map/test/implement.js +3 -0
  1208. data/node_modules/es6-map/test/index.js +5 -0
  1209. data/node_modules/es6-map/test/is-implemented.js +14 -0
  1210. data/node_modules/es6-map/test/is-map.js +16 -0
  1211. data/node_modules/es6-map/test/is-native-implemented.js +3 -0
  1212. data/node_modules/es6-map/test/lib/iterator-kinds.js +5 -0
  1213. data/node_modules/es6-map/test/lib/iterator.js +13 -0
  1214. data/node_modules/es6-map/test/lib/primitive-iterator.js +130 -0
  1215. data/node_modules/es6-map/test/polyfill.js +60 -0
  1216. data/node_modules/es6-map/test/primitive/index.js +59 -0
  1217. data/node_modules/es6-map/test/valid-map.js +19 -0
  1218. data/node_modules/es6-map/valid-map.js +8 -0
  1219. data/node_modules/es6-set/.lint +13 -0
  1220. data/node_modules/es6-set/.npmignore +4 -0
  1221. data/node_modules/es6-set/.travis.yml +13 -0
  1222. data/node_modules/es6-set/CHANGES +34 -0
  1223. data/node_modules/es6-set/LICENSE +19 -0
  1224. data/node_modules/es6-set/README.md +74 -0
  1225. data/node_modules/es6-set/ext/copy.js +5 -0
  1226. data/node_modules/es6-set/ext/every.js +18 -0
  1227. data/node_modules/es6-set/ext/filter.js +18 -0
  1228. data/node_modules/es6-set/ext/get-first.js +5 -0
  1229. data/node_modules/es6-set/ext/get-last.js +11 -0
  1230. data/node_modules/es6-set/ext/some.js +18 -0
  1231. data/node_modules/es6-set/implement.js +7 -0
  1232. data/node_modules/es6-set/index.js +3 -0
  1233. data/node_modules/es6-set/is-implemented.js +24 -0
  1234. data/node_modules/es6-set/is-native-implemented.js +9 -0
  1235. data/node_modules/es6-set/is-set.js +12 -0
  1236. data/node_modules/es6-set/lib/iterator.js +30 -0
  1237. data/node_modules/es6-set/lib/primitive-iterator.js +53 -0
  1238. data/node_modules/es6-set/package.json +36 -0
  1239. data/node_modules/es6-set/polyfill.js +80 -0
  1240. data/node_modules/es6-set/primitive/index.js +87 -0
  1241. data/node_modules/es6-set/test/ext/copy.js +12 -0
  1242. data/node_modules/es6-set/test/ext/every.js +9 -0
  1243. data/node_modules/es6-set/test/ext/filter.js +12 -0
  1244. data/node_modules/es6-set/test/ext/get-first.js +12 -0
  1245. data/node_modules/es6-set/test/ext/get-last.js +12 -0
  1246. data/node_modules/es6-set/test/ext/some.js +10 -0
  1247. data/node_modules/es6-set/test/implement.js +3 -0
  1248. data/node_modules/es6-set/test/index.js +3 -0
  1249. data/node_modules/es6-set/test/is-implemented.js +14 -0
  1250. data/node_modules/es6-set/test/is-native-implemented.js +3 -0
  1251. data/node_modules/es6-set/test/is-set.js +16 -0
  1252. data/node_modules/es6-set/test/lib/iterator.js +13 -0
  1253. data/node_modules/es6-set/test/lib/primitive-iterator.js +113 -0
  1254. data/node_modules/es6-set/test/polyfill.js +50 -0
  1255. data/node_modules/es6-set/test/primitive/index.js +50 -0
  1256. data/node_modules/es6-set/test/valid-set.js +19 -0
  1257. data/node_modules/es6-set/valid-set.js +8 -0
  1258. data/node_modules/es6-symbol/.lint +15 -0
  1259. data/node_modules/es6-symbol/.npmignore +4 -0
  1260. data/node_modules/es6-symbol/.travis.yml +11 -0
  1261. data/node_modules/es6-symbol/CHANGES +57 -0
  1262. data/node_modules/es6-symbol/LICENSE +19 -0
  1263. data/node_modules/es6-symbol/README.md +71 -0
  1264. data/node_modules/es6-symbol/implement.js +7 -0
  1265. data/node_modules/es6-symbol/index.js +3 -0
  1266. data/node_modules/es6-symbol/is-implemented.js +17 -0
  1267. data/node_modules/es6-symbol/is-native-implemented.js +5 -0
  1268. data/node_modules/es6-symbol/is-symbol.js +9 -0
  1269. data/node_modules/es6-symbol/package.json +35 -0
  1270. data/node_modules/es6-symbol/polyfill.js +118 -0
  1271. data/node_modules/es6-symbol/test/implement.js +3 -0
  1272. data/node_modules/es6-symbol/test/index.js +12 -0
  1273. data/node_modules/es6-symbol/test/is-implemented.js +14 -0
  1274. data/node_modules/es6-symbol/test/is-native-implemented.js +3 -0
  1275. data/node_modules/es6-symbol/test/is-symbol.js +16 -0
  1276. data/node_modules/es6-symbol/test/polyfill.js +29 -0
  1277. data/node_modules/es6-symbol/test/validate-symbol.js +19 -0
  1278. data/node_modules/es6-symbol/validate-symbol.js +8 -0
  1279. data/node_modules/es6-weak-map/.lint +13 -0
  1280. data/node_modules/es6-weak-map/.npmignore +4 -0
  1281. data/node_modules/es6-weak-map/.travis.yml +13 -0
  1282. data/node_modules/es6-weak-map/CHANGES +45 -0
  1283. data/node_modules/es6-weak-map/LICENSE +19 -0
  1284. data/node_modules/es6-weak-map/README.md +63 -0
  1285. data/node_modules/es6-weak-map/implement.js +7 -0
  1286. data/node_modules/es6-weak-map/index.js +3 -0
  1287. data/node_modules/es6-weak-map/is-implemented.js +20 -0
  1288. data/node_modules/es6-weak-map/is-native-implemented.js +8 -0
  1289. data/node_modules/es6-weak-map/is-weak-map.js +13 -0
  1290. data/node_modules/es6-weak-map/package.json +38 -0
  1291. data/node_modules/es6-weak-map/polyfill.js +66 -0
  1292. data/node_modules/es6-weak-map/test/implement.js +3 -0
  1293. data/node_modules/es6-weak-map/test/index.js +6 -0
  1294. data/node_modules/es6-weak-map/test/is-implemented.js +14 -0
  1295. data/node_modules/es6-weak-map/test/is-native-implemented.js +3 -0
  1296. data/node_modules/es6-weak-map/test/is-weak-map.js +16 -0
  1297. data/node_modules/es6-weak-map/test/polyfill.js +23 -0
  1298. data/node_modules/es6-weak-map/test/valid-weak-map.js +19 -0
  1299. data/node_modules/es6-weak-map/valid-weak-map.js +8 -0
  1300. data/node_modules/escape-string-regexp/index.js +11 -0
  1301. data/node_modules/escape-string-regexp/license +21 -0
  1302. data/node_modules/escape-string-regexp/package.json +41 -0
  1303. data/node_modules/escape-string-regexp/readme.md +27 -0
  1304. data/node_modules/escope/.babelrc +3 -0
  1305. data/node_modules/escope/.jshintrc +20 -0
  1306. data/node_modules/escope/CONTRIBUTING.md +5 -0
  1307. data/node_modules/escope/LICENSE.BSD +19 -0
  1308. data/node_modules/escope/README.md +79 -0
  1309. data/node_modules/escope/bower.json +13 -0
  1310. data/node_modules/escope/gulpfile.js +153 -0
  1311. data/node_modules/escope/lib/definition.js +106 -0
  1312. data/node_modules/escope/lib/index.js +177 -0
  1313. data/node_modules/escope/lib/pattern-visitor.js +176 -0
  1314. data/node_modules/escope/lib/reference.js +193 -0
  1315. data/node_modules/escope/lib/referencer.js +639 -0
  1316. data/node_modules/escope/lib/scope-manager.js +297 -0
  1317. data/node_modules/escope/lib/scope.js +764 -0
  1318. data/node_modules/escope/lib/variable.js +94 -0
  1319. data/node_modules/escope/package.json +57 -0
  1320. data/node_modules/escope/powered-test/arguments.js +34 -0
  1321. data/node_modules/escope/powered-test/catch-scope.js +39 -0
  1322. data/node_modules/escope/powered-test/es6-arrow-function-expression.js +57 -0
  1323. data/node_modules/escope/powered-test/es6-block-scope.js +136 -0
  1324. data/node_modules/escope/powered-test/es6-catch.js +39 -0
  1325. data/node_modules/escope/powered-test/es6-class.js +155 -0
  1326. data/node_modules/escope/powered-test/es6-destructuring-assignments.js +504 -0
  1327. data/node_modules/escope/powered-test/es6-export.js +202 -0
  1328. data/node_modules/escope/powered-test/es6-import.js +103 -0
  1329. data/node_modules/escope/powered-test/es6-iteration-scope.js +167 -0
  1330. data/node_modules/escope/powered-test/es6-object.js +57 -0
  1331. data/node_modules/escope/powered-test/es6-rest-args.js +35 -0
  1332. data/node_modules/escope/powered-test/es6-switch.js +43 -0
  1333. data/node_modules/escope/powered-test/es6-template-literal.js +45 -0
  1334. data/node_modules/escope/powered-test/function-expression-name.js +42 -0
  1335. data/node_modules/escope/powered-test/global-increment.js +28 -0
  1336. data/node_modules/escope/powered-test/implicit-global-reference.js +113 -0
  1337. data/node_modules/escope/powered-test/label-children.js +34 -0
  1338. data/node_modules/escope/powered-test/label.js +47 -0
  1339. data/node_modules/escope/powered-test/nodejs-scope.js +65 -0
  1340. data/node_modules/escope/powered-test/object-expression.js +56 -0
  1341. data/node_modules/escope/powered-test/optimistic.js +40 -0
  1342. data/node_modules/escope/powered-test/with-scope.js +40 -0
  1343. data/node_modules/escope/src/definition.js +78 -0
  1344. data/node_modules/escope/src/index.js +146 -0
  1345. data/node_modules/escope/src/pattern-visitor.js +134 -0
  1346. data/node_modules/escope/src/reference.js +154 -0
  1347. data/node_modules/escope/src/referencer.js +584 -0
  1348. data/node_modules/escope/src/scope-manager.js +245 -0
  1349. data/node_modules/escope/src/scope.js +647 -0
  1350. data/node_modules/escope/src/variable.js +81 -0
  1351. data/node_modules/escope/third_party/espree.js +56 -0
  1352. data/node_modules/eslint/CHANGELOG.md +3157 -0
  1353. data/node_modules/eslint/LICENSE +20 -0
  1354. data/node_modules/eslint/README.md +186 -0
  1355. data/node_modules/eslint/bin/eslint.js +92 -0
  1356. data/node_modules/eslint/conf/blank-script.json +21 -0
  1357. data/node_modules/eslint/conf/cli-options.js +29 -0
  1358. data/node_modules/eslint/conf/environments.js +107 -0
  1359. data/node_modules/eslint/conf/eslint-all.js +29 -0
  1360. data/node_modules/eslint/conf/eslint.json +225 -0
  1361. data/node_modules/eslint/conf/json-schema-schema.json +150 -0
  1362. data/node_modules/eslint/conf/replacements.json +22 -0
  1363. data/node_modules/eslint/lib/api.js +13 -0
  1364. data/node_modules/eslint/lib/ast-utils.js +555 -0
  1365. data/node_modules/eslint/lib/cli-engine.js +803 -0
  1366. data/node_modules/eslint/lib/cli.js +210 -0
  1367. data/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js +656 -0
  1368. data/node_modules/eslint/lib/code-path-analysis/code-path-segment.js +241 -0
  1369. data/node_modules/eslint/lib/code-path-analysis/code-path-state.js +1428 -0
  1370. data/node_modules/eslint/lib/code-path-analysis/code-path.js +234 -0
  1371. data/node_modules/eslint/lib/code-path-analysis/debug-helpers.js +199 -0
  1372. data/node_modules/eslint/lib/code-path-analysis/fork-context.js +262 -0
  1373. data/node_modules/eslint/lib/code-path-analysis/id-generator.js +43 -0
  1374. data/node_modules/eslint/lib/config.js +304 -0
  1375. data/node_modules/eslint/lib/config/autoconfig.js +372 -0
  1376. data/node_modules/eslint/lib/config/config-file.js +579 -0
  1377. data/node_modules/eslint/lib/config/config-initializer.js +494 -0
  1378. data/node_modules/eslint/lib/config/config-ops.js +278 -0
  1379. data/node_modules/eslint/lib/config/config-rule.js +323 -0
  1380. data/node_modules/eslint/lib/config/config-validator.js +178 -0
  1381. data/node_modules/eslint/lib/config/environments.js +85 -0
  1382. data/node_modules/eslint/lib/config/plugins.js +146 -0
  1383. data/node_modules/eslint/lib/eslint.js +1191 -0
  1384. data/node_modules/eslint/lib/file-finder.js +144 -0
  1385. data/node_modules/eslint/lib/formatters/checkstyle.js +82 -0
  1386. data/node_modules/eslint/lib/formatters/compact.js +60 -0
  1387. data/node_modules/eslint/lib/formatters/html-template-message.html +8 -0
  1388. data/node_modules/eslint/lib/formatters/html-template-page.html +113 -0
  1389. data/node_modules/eslint/lib/formatters/html-template-result.html +6 -0
  1390. data/node_modules/eslint/lib/formatters/html.js +131 -0
  1391. data/node_modules/eslint/lib/formatters/jslint-xml.js +40 -0
  1392. data/node_modules/eslint/lib/formatters/json.js +13 -0
  1393. data/node_modules/eslint/lib/formatters/junit.js +70 -0
  1394. data/node_modules/eslint/lib/formatters/stylish.js +90 -0
  1395. data/node_modules/eslint/lib/formatters/table.js +158 -0
  1396. data/node_modules/eslint/lib/formatters/tap.js +90 -0
  1397. data/node_modules/eslint/lib/formatters/unix.js +59 -0
  1398. data/node_modules/eslint/lib/formatters/visualstudio.js +63 -0
  1399. data/node_modules/eslint/lib/ignored-paths.js +225 -0
  1400. data/node_modules/eslint/lib/load-rules.js +41 -0
  1401. data/node_modules/eslint/lib/logging.js +28 -0
  1402. data/node_modules/eslint/lib/options.js +223 -0
  1403. data/node_modules/eslint/lib/rule-context.js +160 -0
  1404. data/node_modules/eslint/lib/rules.js +107 -0
  1405. data/node_modules/eslint/lib/rules/accessor-pairs.js +156 -0
  1406. data/node_modules/eslint/lib/rules/array-bracket-spacing.js +215 -0
  1407. data/node_modules/eslint/lib/rules/array-callback-return.js +249 -0
  1408. data/node_modules/eslint/lib/rules/arrow-body-style.js +109 -0
  1409. data/node_modules/eslint/lib/rules/arrow-parens.js +63 -0
  1410. data/node_modules/eslint/lib/rules/arrow-spacing.js +146 -0
  1411. data/node_modules/eslint/lib/rules/block-scoped-var.js +118 -0
  1412. data/node_modules/eslint/lib/rules/block-spacing.js +131 -0
  1413. data/node_modules/eslint/lib/rules/brace-style.js +244 -0
  1414. data/node_modules/eslint/lib/rules/callback-return.js +175 -0
  1415. data/node_modules/eslint/lib/rules/camelcase.js +134 -0
  1416. data/node_modules/eslint/lib/rules/comma-dangle.js +223 -0
  1417. data/node_modules/eslint/lib/rules/comma-spacing.js +194 -0
  1418. data/node_modules/eslint/lib/rules/comma-style.js +200 -0
  1419. data/node_modules/eslint/lib/rules/complexity.js +162 -0
  1420. data/node_modules/eslint/lib/rules/computed-property-spacing.js +164 -0
  1421. data/node_modules/eslint/lib/rules/consistent-return.js +161 -0
  1422. data/node_modules/eslint/lib/rules/consistent-this.js +148 -0
  1423. data/node_modules/eslint/lib/rules/constructor-super.js +385 -0
  1424. data/node_modules/eslint/lib/rules/curly.js +304 -0
  1425. data/node_modules/eslint/lib/rules/default-case.js +94 -0
  1426. data/node_modules/eslint/lib/rules/dot-location.js +72 -0
  1427. data/node_modules/eslint/lib/rules/dot-notation.js +70 -0
  1428. data/node_modules/eslint/lib/rules/eol-last.js +62 -0
  1429. data/node_modules/eslint/lib/rules/eqeqeq.js +110 -0
  1430. data/node_modules/eslint/lib/rules/func-names.js +64 -0
  1431. data/node_modules/eslint/lib/rules/func-style.js +93 -0
  1432. data/node_modules/eslint/lib/rules/generator-star-spacing.js +142 -0
  1433. data/node_modules/eslint/lib/rules/global-require.js +79 -0
  1434. data/node_modules/eslint/lib/rules/guard-for-in.js +42 -0
  1435. data/node_modules/eslint/lib/rules/handle-callback-err.js +91 -0
  1436. data/node_modules/eslint/lib/rules/id-blacklist.js +117 -0
  1437. data/node_modules/eslint/lib/rules/id-length.js +114 -0
  1438. data/node_modules/eslint/lib/rules/id-match.js +140 -0
  1439. data/node_modules/eslint/lib/rules/indent.js +769 -0
  1440. data/node_modules/eslint/lib/rules/init-declarations.js +125 -0
  1441. data/node_modules/eslint/lib/rules/jsx-quotes.js +86 -0
  1442. data/node_modules/eslint/lib/rules/key-spacing.js +492 -0
  1443. data/node_modules/eslint/lib/rules/keyword-spacing.js +544 -0
  1444. data/node_modules/eslint/lib/rules/linebreak-style.js +91 -0
  1445. data/node_modules/eslint/lib/rules/lines-around-comment.js +367 -0
  1446. data/node_modules/eslint/lib/rules/max-depth.js +149 -0
  1447. data/node_modules/eslint/lib/rules/max-len.js +261 -0
  1448. data/node_modules/eslint/lib/rules/max-lines.js +148 -0
  1449. data/node_modules/eslint/lib/rules/max-nested-callbacks.js +112 -0
  1450. data/node_modules/eslint/lib/rules/max-params.js +83 -0
  1451. data/node_modules/eslint/lib/rules/max-statements-per-line.js +174 -0
  1452. data/node_modules/eslint/lib/rules/max-statements.js +159 -0
  1453. data/node_modules/eslint/lib/rules/new-cap.js +259 -0
  1454. data/node_modules/eslint/lib/rules/new-parens.js +41 -0
  1455. data/node_modules/eslint/lib/rules/newline-after-var.js +177 -0
  1456. data/node_modules/eslint/lib/rules/newline-before-return.js +151 -0
  1457. data/node_modules/eslint/lib/rules/newline-per-chained-call.js +81 -0
  1458. data/node_modules/eslint/lib/rules/no-alert.js +144 -0
  1459. data/node_modules/eslint/lib/rules/no-array-constructor.js +47 -0
  1460. data/node_modules/eslint/lib/rules/no-bitwise.js +109 -0
  1461. data/node_modules/eslint/lib/rules/no-caller.js +39 -0
  1462. data/node_modules/eslint/lib/rules/no-case-declarations.js +57 -0
  1463. data/node_modules/eslint/lib/rules/no-catch-shadow.js +68 -0
  1464. data/node_modules/eslint/lib/rules/no-class-assign.js +57 -0
  1465. data/node_modules/eslint/lib/rules/no-cond-assign.js +146 -0
  1466. data/node_modules/eslint/lib/rules/no-confusing-arrow.js +66 -0
  1467. data/node_modules/eslint/lib/rules/no-console.js +65 -0
  1468. data/node_modules/eslint/lib/rules/no-const-assign.js +50 -0
  1469. data/node_modules/eslint/lib/rules/no-constant-condition.js +143 -0
  1470. data/node_modules/eslint/lib/rules/no-continue.js +32 -0
  1471. data/node_modules/eslint/lib/rules/no-control-regex.js +95 -0
  1472. data/node_modules/eslint/lib/rules/no-debugger.js +32 -0
  1473. data/node_modules/eslint/lib/rules/no-delete-var.js +35 -0
  1474. data/node_modules/eslint/lib/rules/no-div-regex.js +38 -0
  1475. data/node_modules/eslint/lib/rules/no-dupe-args.js +73 -0
  1476. data/node_modules/eslint/lib/rules/no-dupe-class-members.js +109 -0
  1477. data/node_modules/eslint/lib/rules/no-dupe-keys.js +56 -0
  1478. data/node_modules/eslint/lib/rules/no-duplicate-case.js +43 -0
  1479. data/node_modules/eslint/lib/rules/no-duplicate-imports.js +134 -0
  1480. data/node_modules/eslint/lib/rules/no-else-return.js +158 -0
  1481. data/node_modules/eslint/lib/rules/no-empty-character-class.js +57 -0
  1482. data/node_modules/eslint/lib/rules/no-empty-function.js +160 -0
  1483. data/node_modules/eslint/lib/rules/no-empty-pattern.js +36 -0
  1484. data/node_modules/eslint/lib/rules/no-empty.js +74 -0
  1485. data/node_modules/eslint/lib/rules/no-eq-null.js +39 -0
  1486. data/node_modules/eslint/lib/rules/no-eval.js +308 -0
  1487. data/node_modules/eslint/lib/rules/no-ex-assign.js +47 -0
  1488. data/node_modules/eslint/lib/rules/no-extend-native.js +111 -0
  1489. data/node_modules/eslint/lib/rules/no-extra-bind.js +156 -0
  1490. data/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +90 -0
  1491. data/node_modules/eslint/lib/rules/no-extra-label.js +140 -0
  1492. data/node_modules/eslint/lib/rules/no-extra-parens.js +580 -0
  1493. data/node_modules/eslint/lib/rules/no-extra-semi.js +105 -0
  1494. data/node_modules/eslint/lib/rules/no-fallthrough.js +135 -0
  1495. data/node_modules/eslint/lib/rules/no-floating-decimal.js +40 -0
  1496. data/node_modules/eslint/lib/rules/no-func-assign.js +66 -0
  1497. data/node_modules/eslint/lib/rules/no-implicit-coercion.js +258 -0
  1498. data/node_modules/eslint/lib/rules/no-implicit-globals.js +55 -0
  1499. data/node_modules/eslint/lib/rules/no-implied-eval.js +160 -0
  1500. data/node_modules/eslint/lib/rules/no-inline-comments.js +64 -0
  1501. data/node_modules/eslint/lib/rules/no-inner-declarations.js +89 -0
  1502. data/node_modules/eslint/lib/rules/no-invalid-regexp.js +96 -0
  1503. data/node_modules/eslint/lib/rules/no-invalid-this.js +122 -0
  1504. data/node_modules/eslint/lib/rules/no-irregular-whitespace.js +250 -0
  1505. data/node_modules/eslint/lib/rules/no-iterator.js +38 -0
  1506. data/node_modules/eslint/lib/rules/no-label-var.js +67 -0
  1507. data/node_modules/eslint/lib/rules/no-labels.js +143 -0
  1508. data/node_modules/eslint/lib/rules/no-lone-blocks.js +112 -0
  1509. data/node_modules/eslint/lib/rules/no-lonely-if.js +40 -0
  1510. data/node_modules/eslint/lib/rules/no-loop-func.js +198 -0
  1511. data/node_modules/eslint/lib/rules/no-magic-numbers.js +144 -0
  1512. data/node_modules/eslint/lib/rules/no-mixed-operators.js +212 -0
  1513. data/node_modules/eslint/lib/rules/no-mixed-requires.js +222 -0
  1514. data/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +144 -0
  1515. data/node_modules/eslint/lib/rules/no-multi-spaces.js +150 -0
  1516. data/node_modules/eslint/lib/rules/no-multi-str.js +51 -0
  1517. data/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +204 -0
  1518. data/node_modules/eslint/lib/rules/no-native-reassign.js +83 -0
  1519. data/node_modules/eslint/lib/rules/no-negated-condition.js +82 -0
  1520. data/node_modules/eslint/lib/rules/no-negated-in-lhs.js +35 -0
  1521. data/node_modules/eslint/lib/rules/no-nested-ternary.js +34 -0
  1522. data/node_modules/eslint/lib/rules/no-new-func.js +47 -0
  1523. data/node_modules/eslint/lib/rules/no-new-object.js +35 -0
  1524. data/node_modules/eslint/lib/rules/no-new-require.js +35 -0
  1525. data/node_modules/eslint/lib/rules/no-new-symbol.js +43 -0
  1526. data/node_modules/eslint/lib/rules/no-new-wrappers.js +37 -0
  1527. data/node_modules/eslint/lib/rules/no-new.js +37 -0
  1528. data/node_modules/eslint/lib/rules/no-obj-calls.js +39 -0
  1529. data/node_modules/eslint/lib/rules/no-octal-escape.js +49 -0
  1530. data/node_modules/eslint/lib/rules/no-octal.js +35 -0
  1531. data/node_modules/eslint/lib/rules/no-param-reassign.js +147 -0
  1532. data/node_modules/eslint/lib/rules/no-path-concat.js +49 -0
  1533. data/node_modules/eslint/lib/rules/no-plusplus.js +55 -0
  1534. data/node_modules/eslint/lib/rules/no-process-env.js +39 -0
  1535. data/node_modules/eslint/lib/rules/no-process-exit.js +43 -0
  1536. data/node_modules/eslint/lib/rules/no-proto.js +38 -0
  1537. data/node_modules/eslint/lib/rules/no-prototype-builtins.js +52 -0
  1538. data/node_modules/eslint/lib/rules/no-redeclare.js +106 -0
  1539. data/node_modules/eslint/lib/rules/no-regex-spaces.js +46 -0
  1540. data/node_modules/eslint/lib/rules/no-restricted-globals.js +80 -0
  1541. data/node_modules/eslint/lib/rules/no-restricted-imports.js +51 -0
  1542. data/node_modules/eslint/lib/rules/no-restricted-modules.js +91 -0
  1543. data/node_modules/eslint/lib/rules/no-restricted-syntax.js +53 -0
  1544. data/node_modules/eslint/lib/rules/no-return-assign.js +78 -0
  1545. data/node_modules/eslint/lib/rules/no-script-url.js +44 -0
  1546. data/node_modules/eslint/lib/rules/no-self-assign.js +133 -0
  1547. data/node_modules/eslint/lib/rules/no-self-compare.js +40 -0
  1548. data/node_modules/eslint/lib/rules/no-sequences.js +109 -0
  1549. data/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +63 -0
  1550. data/node_modules/eslint/lib/rules/no-shadow.js +188 -0
  1551. data/node_modules/eslint/lib/rules/no-spaced-func.js +71 -0
  1552. data/node_modules/eslint/lib/rules/no-sparse-arrays.js +43 -0
  1553. data/node_modules/eslint/lib/rules/no-sync.js +40 -0
  1554. data/node_modules/eslint/lib/rules/no-ternary.js +34 -0
  1555. data/node_modules/eslint/lib/rules/no-this-before-super.js +299 -0
  1556. data/node_modules/eslint/lib/rules/no-throw-literal.js +79 -0
  1557. data/node_modules/eslint/lib/rules/no-trailing-spaces.js +135 -0
  1558. data/node_modules/eslint/lib/rules/no-undef-init.js +38 -0
  1559. data/node_modules/eslint/lib/rules/no-undef.js +71 -0
  1560. data/node_modules/eslint/lib/rules/no-undefined.js +38 -0
  1561. data/node_modules/eslint/lib/rules/no-underscore-dangle.js +154 -0
  1562. data/node_modules/eslint/lib/rules/no-unexpected-multiline.js +81 -0
  1563. data/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +367 -0
  1564. data/node_modules/eslint/lib/rules/no-unneeded-ternary.js +70 -0
  1565. data/node_modules/eslint/lib/rules/no-unreachable.js +102 -0
  1566. data/node_modules/eslint/lib/rules/no-unsafe-finally.js +99 -0
  1567. data/node_modules/eslint/lib/rules/no-unused-expressions.js +117 -0
  1568. data/node_modules/eslint/lib/rules/no-unused-labels.js +90 -0
  1569. data/node_modules/eslint/lib/rules/no-unused-vars.js +342 -0
  1570. data/node_modules/eslint/lib/rules/no-use-before-define.js +246 -0
  1571. data/node_modules/eslint/lib/rules/no-useless-call.js +107 -0
  1572. data/node_modules/eslint/lib/rules/no-useless-computed-key.js +39 -0
  1573. data/node_modules/eslint/lib/rules/no-useless-concat.js +104 -0
  1574. data/node_modules/eslint/lib/rules/no-useless-constructor.js +182 -0
  1575. data/node_modules/eslint/lib/rules/no-useless-escape.js +130 -0
  1576. data/node_modules/eslint/lib/rules/no-useless-rename.js +150 -0
  1577. data/node_modules/eslint/lib/rules/no-var.js +35 -0
  1578. data/node_modules/eslint/lib/rules/no-void.js +37 -0
  1579. data/node_modules/eslint/lib/rules/no-warning-comments.js +130 -0
  1580. data/node_modules/eslint/lib/rules/no-whitespace-before-property.js +97 -0
  1581. data/node_modules/eslint/lib/rules/no-with.js +32 -0
  1582. data/node_modules/eslint/lib/rules/object-curly-newline.js +209 -0
  1583. data/node_modules/eslint/lib/rules/object-curly-spacing.js +286 -0
  1584. data/node_modules/eslint/lib/rules/object-property-newline.js +73 -0
  1585. data/node_modules/eslint/lib/rules/object-shorthand.js +247 -0
  1586. data/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +83 -0
  1587. data/node_modules/eslint/lib/rules/one-var.js +332 -0
  1588. data/node_modules/eslint/lib/rules/operator-assignment.js +133 -0
  1589. data/node_modules/eslint/lib/rules/operator-linebreak.js +159 -0
  1590. data/node_modules/eslint/lib/rules/padded-blocks.js +245 -0
  1591. data/node_modules/eslint/lib/rules/prefer-arrow-callback.js +254 -0
  1592. data/node_modules/eslint/lib/rules/prefer-const.js +307 -0
  1593. data/node_modules/eslint/lib/rules/prefer-reflect.js +111 -0
  1594. data/node_modules/eslint/lib/rules/prefer-rest-params.js +83 -0
  1595. data/node_modules/eslint/lib/rules/prefer-spread.js +103 -0
  1596. data/node_modules/eslint/lib/rules/prefer-template.js +106 -0
  1597. data/node_modules/eslint/lib/rules/quote-props.js +231 -0
  1598. data/node_modules/eslint/lib/rules/quotes.js +260 -0
  1599. data/node_modules/eslint/lib/rules/radix.js +171 -0
  1600. data/node_modules/eslint/lib/rules/require-jsdoc.js +106 -0
  1601. data/node_modules/eslint/lib/rules/require-yield.js +73 -0
  1602. data/node_modules/eslint/lib/rules/rest-spread-spacing.js +107 -0
  1603. data/node_modules/eslint/lib/rules/semi-spacing.js +222 -0
  1604. data/node_modules/eslint/lib/rules/semi.js +226 -0
  1605. data/node_modules/eslint/lib/rules/sort-imports.js +175 -0
  1606. data/node_modules/eslint/lib/rules/sort-vars.js +63 -0
  1607. data/node_modules/eslint/lib/rules/space-before-blocks.js +151 -0
  1608. data/node_modules/eslint/lib/rules/space-before-function-paren.js +142 -0
  1609. data/node_modules/eslint/lib/rules/space-in-parens.js +281 -0
  1610. data/node_modules/eslint/lib/rules/space-infix-ops.js +162 -0
  1611. data/node_modules/eslint/lib/rules/space-unary-ops.js +280 -0
  1612. data/node_modules/eslint/lib/rules/spaced-comment.js +314 -0
  1613. data/node_modules/eslint/lib/rules/strict.js +221 -0
  1614. data/node_modules/eslint/lib/rules/template-curly-spacing.js +115 -0
  1615. data/node_modules/eslint/lib/rules/unicode-bom.js +66 -0
  1616. data/node_modules/eslint/lib/rules/use-isnan.js +34 -0
  1617. data/node_modules/eslint/lib/rules/valid-jsdoc.js +396 -0
  1618. data/node_modules/eslint/lib/rules/valid-typeof.js +52 -0
  1619. data/node_modules/eslint/lib/rules/vars-on-top.js +149 -0
  1620. data/node_modules/eslint/lib/rules/wrap-iife.js +66 -0
  1621. data/node_modules/eslint/lib/rules/wrap-regex.js +49 -0
  1622. data/node_modules/eslint/lib/rules/yield-star-spacing.js +113 -0
  1623. data/node_modules/eslint/lib/rules/yoda.js +257 -0
  1624. data/node_modules/eslint/lib/testers/event-generator-tester.js +62 -0
  1625. data/node_modules/eslint/lib/testers/rule-tester.js +466 -0
  1626. data/node_modules/eslint/lib/timing.js +144 -0
  1627. data/node_modules/eslint/lib/token-store.js +203 -0
  1628. data/node_modules/eslint/lib/util/comment-event-generator.js +115 -0
  1629. data/node_modules/eslint/lib/util/glob-util.js +180 -0
  1630. data/node_modules/eslint/lib/util/hash.js +35 -0
  1631. data/node_modules/eslint/lib/util/keywords.js +67 -0
  1632. data/node_modules/eslint/lib/util/module-resolver.js +88 -0
  1633. data/node_modules/eslint/lib/util/node-event-generator.js +53 -0
  1634. data/node_modules/eslint/lib/util/npm-util.js +135 -0
  1635. data/node_modules/eslint/lib/util/path-util.js +75 -0
  1636. data/node_modules/eslint/lib/util/rule-fixer.js +145 -0
  1637. data/node_modules/eslint/lib/util/source-code-fixer.js +137 -0
  1638. data/node_modules/eslint/lib/util/source-code-util.js +112 -0
  1639. data/node_modules/eslint/lib/util/source-code.js +304 -0
  1640. data/node_modules/eslint/lib/util/traverser.js +56 -0
  1641. data/node_modules/eslint/messages/plugin-missing.txt +9 -0
  1642. data/node_modules/eslint/node_modules/.bin/js-yaml +1 -0
  1643. data/node_modules/eslint/node_modules/.bin/mkdirp +1 -0
  1644. data/node_modules/eslint/node_modules/.bin/shjs +1 -0
  1645. data/node_modules/eslint/node_modules/.bin/strip-json-comments +1 -0
  1646. data/node_modules/eslint/package.json +118 -0
  1647. data/node_modules/espree/CHANGELOG.md +358 -0
  1648. data/node_modules/espree/LICENSE +22 -0
  1649. data/node_modules/espree/README.md +147 -0
  1650. data/node_modules/espree/espree.js +822 -0
  1651. data/node_modules/espree/lib/ast-node-types.js +97 -0
  1652. data/node_modules/espree/lib/comment-attachment.js +175 -0
  1653. data/node_modules/espree/lib/features.js +32 -0
  1654. data/node_modules/espree/lib/token-translator.js +256 -0
  1655. data/node_modules/espree/lib/visitor-keys.js +127 -0
  1656. data/node_modules/espree/node_modules/.bin/acorn +1 -0
  1657. data/node_modules/espree/package.json +60 -0
  1658. data/node_modules/esprima/ChangeLog +209 -0
  1659. data/node_modules/esprima/LICENSE.BSD +21 -0
  1660. data/node_modules/esprima/README.md +44 -0
  1661. data/node_modules/esprima/bin/esparse.js +139 -0
  1662. data/node_modules/esprima/bin/esvalidate.js +236 -0
  1663. data/node_modules/esprima/dist/esprima.js +6401 -0
  1664. data/node_modules/esprima/package.json +109 -0
  1665. data/node_modules/esrecurse/esrecurse.js +135 -0
  1666. data/node_modules/esrecurse/gulpfile.coffee +79 -0
  1667. data/node_modules/esrecurse/node_modules/estraverse/.jshintrc +16 -0
  1668. data/node_modules/esrecurse/node_modules/estraverse/LICENSE.BSD +19 -0
  1669. data/node_modules/esrecurse/node_modules/estraverse/README.md +124 -0
  1670. data/node_modules/esrecurse/node_modules/estraverse/estraverse.js +843 -0
  1671. data/node_modules/esrecurse/node_modules/estraverse/gulpfile.js +70 -0
  1672. data/node_modules/esrecurse/node_modules/estraverse/package.json +39 -0
  1673. data/node_modules/esrecurse/package.json +45 -0
  1674. data/node_modules/estraverse/.babelrc +3 -0
  1675. data/node_modules/estraverse/.jshintrc +16 -0
  1676. data/node_modules/estraverse/LICENSE.BSD +19 -0
  1677. data/node_modules/estraverse/estraverse.js +849 -0
  1678. data/node_modules/estraverse/gulpfile.js +70 -0
  1679. data/node_modules/estraverse/package.json +40 -0
  1680. data/node_modules/esutils/LICENSE.BSD +19 -0
  1681. data/node_modules/esutils/README.md +169 -0
  1682. data/node_modules/esutils/lib/ast.js +144 -0
  1683. data/node_modules/esutils/lib/code.js +135 -0
  1684. data/node_modules/esutils/lib/keyword.js +165 -0
  1685. data/node_modules/esutils/lib/utils.js +33 -0
  1686. data/node_modules/esutils/package.json +49 -0
  1687. data/node_modules/event-emitter/.lint +15 -0
  1688. data/node_modules/event-emitter/.npmignore +3 -0
  1689. data/node_modules/event-emitter/.testignore +1 -0
  1690. data/node_modules/event-emitter/.travis.yml +16 -0
  1691. data/node_modules/event-emitter/CHANGES +73 -0
  1692. data/node_modules/event-emitter/LICENSE +19 -0
  1693. data/node_modules/event-emitter/README.md +98 -0
  1694. data/node_modules/event-emitter/all-off.js +19 -0
  1695. data/node_modules/event-emitter/benchmark/many-on.js +83 -0
  1696. data/node_modules/event-emitter/benchmark/single-on.js +73 -0
  1697. data/node_modules/event-emitter/emit-error.js +13 -0
  1698. data/node_modules/event-emitter/has-listeners.js +16 -0
  1699. data/node_modules/event-emitter/index.js +132 -0
  1700. data/node_modules/event-emitter/package.json +34 -0
  1701. data/node_modules/event-emitter/pipe.js +42 -0
  1702. data/node_modules/event-emitter/test/all-off.js +48 -0
  1703. data/node_modules/event-emitter/test/emit-error.js +14 -0
  1704. data/node_modules/event-emitter/test/has-listeners.js +42 -0
  1705. data/node_modules/event-emitter/test/index.js +107 -0
  1706. data/node_modules/event-emitter/test/pipe.js +53 -0
  1707. data/node_modules/event-emitter/test/unify.js +123 -0
  1708. data/node_modules/event-emitter/unify.js +50 -0
  1709. data/node_modules/exit-hook/index.js +30 -0
  1710. data/node_modules/exit-hook/package.json +39 -0
  1711. data/node_modules/exit-hook/readme.md +40 -0
  1712. data/node_modules/fast-levenshtein/LICENSE.md +25 -0
  1713. data/node_modules/fast-levenshtein/README.md +104 -0
  1714. data/node_modules/fast-levenshtein/levenshtein.js +136 -0
  1715. data/node_modules/fast-levenshtein/package.json +39 -0
  1716. data/node_modules/figures/index.js +147 -0
  1717. data/node_modules/figures/license +21 -0
  1718. data/node_modules/figures/package.json +45 -0
  1719. data/node_modules/figures/readme.md +115 -0
  1720. data/node_modules/file-entry-cache/LICENSE +22 -0
  1721. data/node_modules/file-entry-cache/README.md +107 -0
  1722. data/node_modules/file-entry-cache/cache.js +192 -0
  1723. data/node_modules/file-entry-cache/changelog.md +69 -0
  1724. data/node_modules/file-entry-cache/package.json +84 -0
  1725. data/node_modules/flat-cache/LICENSE +22 -0
  1726. data/node_modules/flat-cache/README.md +71 -0
  1727. data/node_modules/flat-cache/cache.js +188 -0
  1728. data/node_modules/flat-cache/changelog.md +136 -0
  1729. data/node_modules/flat-cache/package.json +87 -0
  1730. data/node_modules/flat-cache/utils.js +39 -0
  1731. data/node_modules/front-matter/.npmignore +2 -0
  1732. data/node_modules/front-matter/.travis.yml +32 -0
  1733. data/node_modules/front-matter/.zuul.yml +18 -0
  1734. data/node_modules/front-matter/LICENSE +9 -0
  1735. data/node_modules/front-matter/Makefile +70 -0
  1736. data/node_modules/front-matter/README.md +140 -0
  1737. data/node_modules/front-matter/examples/bom.md +3 -0
  1738. data/node_modules/front-matter/examples/complex-yaml.md +22 -0
  1739. data/node_modules/front-matter/examples/dashes-seperator.md +14 -0
  1740. data/node_modules/front-matter/examples/dots-ending.md +6 -0
  1741. data/node_modules/front-matter/examples/missing-body.md +8 -0
  1742. data/node_modules/front-matter/examples/no-front-matter.md +11 -0
  1743. data/node_modules/front-matter/examples/wrapped-text.md +21 -0
  1744. data/node_modules/front-matter/examples/yaml-seperator.md +6 -0
  1745. data/node_modules/front-matter/index.js +50 -0
  1746. data/node_modules/front-matter/node_modules/.bin/js-yaml +1 -0
  1747. data/node_modules/front-matter/notes.md +53 -0
  1748. data/node_modules/front-matter/package.json +42 -0
  1749. data/node_modules/front-matter/test/index.js +227 -0
  1750. data/node_modules/fs-extra/.npmignore +8 -0
  1751. data/node_modules/fs-extra/CHANGELOG.md +656 -0
  1752. data/node_modules/fs-extra/LICENSE +15 -0
  1753. data/node_modules/fs-extra/README.md +603 -0
  1754. data/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js +42 -0
  1755. data/node_modules/fs-extra/lib/copy-sync/copy-sync.js +56 -0
  1756. data/node_modules/fs-extra/lib/copy-sync/index.js +3 -0
  1757. data/node_modules/fs-extra/lib/copy/copy.js +50 -0
  1758. data/node_modules/fs-extra/lib/copy/index.js +3 -0
  1759. data/node_modules/fs-extra/lib/copy/ncp.js +232 -0
  1760. data/node_modules/fs-extra/lib/empty/index.js +47 -0
  1761. data/node_modules/fs-extra/lib/ensure/file.js +43 -0
  1762. data/node_modules/fs-extra/lib/ensure/index.js +21 -0
  1763. data/node_modules/fs-extra/lib/ensure/link.js +58 -0
  1764. data/node_modules/fs-extra/lib/ensure/symlink-paths.js +96 -0
  1765. data/node_modules/fs-extra/lib/ensure/symlink-type.js +27 -0
  1766. data/node_modules/fs-extra/lib/ensure/symlink.js +62 -0
  1767. data/node_modules/fs-extra/lib/index.js +38 -0
  1768. data/node_modules/fs-extra/lib/json/index.js +9 -0
  1769. data/node_modules/fs-extra/lib/json/jsonfile.js +14 -0
  1770. data/node_modules/fs-extra/lib/json/output-json-sync.js +16 -0
  1771. data/node_modules/fs-extra/lib/json/output-json.js +24 -0
  1772. data/node_modules/fs-extra/lib/mkdirs/index.js +9 -0
  1773. data/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js +57 -0
  1774. data/node_modules/fs-extra/lib/mkdirs/mkdirs.js +61 -0
  1775. data/node_modules/fs-extra/lib/mkdirs/win32.js +24 -0
  1776. data/node_modules/fs-extra/lib/move/index.js +161 -0
  1777. data/node_modules/fs-extra/lib/output/index.js +35 -0
  1778. data/node_modules/fs-extra/lib/remove/index.js +15 -0
  1779. data/node_modules/fs-extra/lib/remove/rimraf.js +301 -0
  1780. data/node_modules/fs-extra/lib/util/assign.js +14 -0
  1781. data/node_modules/fs-extra/lib/util/utimes.js +70 -0
  1782. data/node_modules/fs-extra/lib/walk-sync/index.js +20 -0
  1783. data/node_modules/fs-extra/lib/walk/index.js +5 -0
  1784. data/node_modules/fs-extra/package.json +61 -0
  1785. data/node_modules/fs.realpath/LICENSE +43 -0
  1786. data/node_modules/fs.realpath/README.md +33 -0
  1787. data/node_modules/fs.realpath/index.js +66 -0
  1788. data/node_modules/fs.realpath/old.js +303 -0
  1789. data/node_modules/fs.realpath/package.json +26 -0
  1790. data/node_modules/generate-function/.npmignore +1 -0
  1791. data/node_modules/generate-function/.travis.yml +3 -0
  1792. data/node_modules/generate-function/README.md +72 -0
  1793. data/node_modules/generate-function/example.js +27 -0
  1794. data/node_modules/generate-function/index.js +61 -0
  1795. data/node_modules/generate-function/package.json +29 -0
  1796. data/node_modules/generate-function/test.js +33 -0
  1797. data/node_modules/generate-object-property/.npmignore +1 -0
  1798. data/node_modules/generate-object-property/.travis.yml +3 -0
  1799. data/node_modules/generate-object-property/LICENSE +21 -0
  1800. data/node_modules/generate-object-property/README.md +19 -0
  1801. data/node_modules/generate-object-property/index.js +12 -0
  1802. data/node_modules/generate-object-property/package.json +25 -0
  1803. data/node_modules/generate-object-property/test.js +12 -0
  1804. data/node_modules/glob/LICENSE +15 -0
  1805. data/node_modules/glob/README.md +368 -0
  1806. data/node_modules/glob/changelog.md +67 -0
  1807. data/node_modules/glob/common.js +240 -0
  1808. data/node_modules/glob/glob.js +792 -0
  1809. data/node_modules/glob/package.json +43 -0
  1810. data/node_modules/glob/sync.js +486 -0
  1811. data/node_modules/globals/globals.json +1291 -0
  1812. data/node_modules/globals/index.js +1 -0
  1813. data/node_modules/globals/license +21 -0
  1814. data/node_modules/globals/package.json +35 -0
  1815. data/node_modules/globals/readme.md +41 -0
  1816. data/node_modules/globby/index.js +65 -0
  1817. data/node_modules/globby/license +21 -0
  1818. data/node_modules/globby/package.json +70 -0
  1819. data/node_modules/globby/readme.md +82 -0
  1820. data/node_modules/globule/LICENSE +22 -0
  1821. data/node_modules/globule/README.md +129 -0
  1822. data/node_modules/globule/lib/globule.js +192 -0
  1823. data/node_modules/globule/package.json +50 -0
  1824. data/node_modules/gonzales-pe/.editorconfig +6 -0
  1825. data/node_modules/gonzales-pe/.eslintrc.yaml +63 -0
  1826. data/node_modules/gonzales-pe/.gitmessage.txt +23 -0
  1827. data/node_modules/gonzales-pe/.jscs.json +64 -0
  1828. data/node_modules/gonzales-pe/.jshintrc +10 -0
  1829. data/node_modules/gonzales-pe/.npmignore +6 -0
  1830. data/node_modules/gonzales-pe/.travis.yml +14 -0
  1831. data/node_modules/gonzales-pe/CHANGELOG.md +381 -0
  1832. data/node_modules/gonzales-pe/MIT-LICENSE.txt +19 -0
  1833. data/node_modules/gonzales-pe/README.md +802 -0
  1834. data/node_modules/gonzales-pe/appveyor.yml +21 -0
  1835. data/node_modules/gonzales-pe/bin/gonzales.js +116 -0
  1836. data/node_modules/gonzales-pe/lib/gonzales.js +11873 -0
  1837. data/node_modules/gonzales-pe/package.json +49 -0
  1838. data/node_modules/gonzales-pe/tags +19 -0
  1839. data/node_modules/gonzales-pe/webpack.config.js +24 -0
  1840. data/node_modules/graceful-fs/LICENSE +15 -0
  1841. data/node_modules/graceful-fs/README.md +133 -0
  1842. data/node_modules/graceful-fs/fs.js +21 -0
  1843. data/node_modules/graceful-fs/graceful-fs.js +262 -0
  1844. data/node_modules/graceful-fs/legacy-streams.js +118 -0
  1845. data/node_modules/graceful-fs/package.json +47 -0
  1846. data/node_modules/graceful-fs/polyfills.js +330 -0
  1847. data/node_modules/graceful-readlink/.npmignore +3 -0
  1848. data/node_modules/graceful-readlink/.travis.yml +5 -0
  1849. data/node_modules/graceful-readlink/LICENSE +22 -0
  1850. data/node_modules/graceful-readlink/README.md +17 -0
  1851. data/node_modules/graceful-readlink/index.js +12 -0
  1852. data/node_modules/graceful-readlink/package.json +18 -0
  1853. data/node_modules/has-ansi/index.js +4 -0
  1854. data/node_modules/has-ansi/license +21 -0
  1855. data/node_modules/has-ansi/package.json +55 -0
  1856. data/node_modules/has-ansi/readme.md +36 -0
  1857. data/node_modules/ignore/LICENSE-MIT +21 -0
  1858. data/node_modules/ignore/README.md +232 -0
  1859. data/node_modules/ignore/ignore.js +424 -0
  1860. data/node_modules/ignore/package.json +45 -0
  1861. data/node_modules/imurmurhash/README.md +122 -0
  1862. data/node_modules/imurmurhash/imurmurhash.js +138 -0
  1863. data/node_modules/imurmurhash/imurmurhash.min.js +12 -0
  1864. data/node_modules/imurmurhash/package.json +40 -0
  1865. data/node_modules/inflight/LICENSE +15 -0
  1866. data/node_modules/inflight/README.md +37 -0
  1867. data/node_modules/inflight/inflight.js +54 -0
  1868. data/node_modules/inflight/package.json +29 -0
  1869. data/node_modules/inherits/LICENSE +16 -0
  1870. data/node_modules/inherits/README.md +42 -0
  1871. data/node_modules/inherits/inherits.js +1 -0
  1872. data/node_modules/inherits/inherits_browser.js +23 -0
  1873. data/node_modules/inherits/package.json +22 -0
  1874. data/node_modules/inherits/test.js +25 -0
  1875. data/node_modules/inquirer/README.md +301 -0
  1876. data/node_modules/inquirer/lib/inquirer.js +79 -0
  1877. data/node_modules/inquirer/lib/objects/choice.js +36 -0
  1878. data/node_modules/inquirer/lib/objects/choices.js +113 -0
  1879. data/node_modules/inquirer/lib/objects/separator.js +35 -0
  1880. data/node_modules/inquirer/lib/prompts/base.js +175 -0
  1881. data/node_modules/inquirer/lib/prompts/checkbox.js +213 -0
  1882. data/node_modules/inquirer/lib/prompts/confirm.js +110 -0
  1883. data/node_modules/inquirer/lib/prompts/expand.js +255 -0
  1884. data/node_modules/inquirer/lib/prompts/input.js +111 -0
  1885. data/node_modules/inquirer/lib/prompts/list.js +172 -0
  1886. data/node_modules/inquirer/lib/prompts/password.js +118 -0
  1887. data/node_modules/inquirer/lib/prompts/rawlist.js +183 -0
  1888. data/node_modules/inquirer/lib/ui/baseUI.js +56 -0
  1889. data/node_modules/inquirer/lib/ui/bottom-bar.js +98 -0
  1890. data/node_modules/inquirer/lib/ui/prompt.js +126 -0
  1891. data/node_modules/inquirer/lib/utils/events.js +37 -0
  1892. data/node_modules/inquirer/lib/utils/paginator.js +38 -0
  1893. data/node_modules/inquirer/lib/utils/readline.js +51 -0
  1894. data/node_modules/inquirer/lib/utils/screen-manager.js +129 -0
  1895. data/node_modules/inquirer/lib/utils/utils.js +47 -0
  1896. data/node_modules/inquirer/package.json +49 -0
  1897. data/node_modules/is-fullwidth-code-point/index.js +46 -0
  1898. data/node_modules/is-fullwidth-code-point/license +21 -0
  1899. data/node_modules/is-fullwidth-code-point/package.json +45 -0
  1900. data/node_modules/is-fullwidth-code-point/readme.md +39 -0
  1901. data/node_modules/is-my-json-valid/.npmignore +2 -0
  1902. data/node_modules/is-my-json-valid/.travis.yml +3 -0
  1903. data/node_modules/is-my-json-valid/LICENSE +21 -0
  1904. data/node_modules/is-my-json-valid/README.md +200 -0
  1905. data/node_modules/is-my-json-valid/example.js +18 -0
  1906. data/node_modules/is-my-json-valid/formats.js +14 -0
  1907. data/node_modules/is-my-json-valid/index.js +590 -0
  1908. data/node_modules/is-my-json-valid/package.json +34 -0
  1909. data/node_modules/is-my-json-valid/require.js +12 -0
  1910. data/node_modules/is-my-json-valid/test/fixtures/cosmic.js +84 -0
  1911. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +82 -0
  1912. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +88 -0
  1913. data/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +112 -0
  1914. data/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +68 -0
  1915. data/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +107 -0
  1916. data/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +49 -0
  1917. data/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +32 -0
  1918. data/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +113 -0
  1919. data/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +72 -0
  1920. data/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +143 -0
  1921. data/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +46 -0
  1922. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +28 -0
  1923. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +28 -0
  1924. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +28 -0
  1925. data/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +42 -0
  1926. data/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +28 -0
  1927. data/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +28 -0
  1928. data/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +28 -0
  1929. data/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +42 -0
  1930. data/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +96 -0
  1931. data/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +96 -0
  1932. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +18 -0
  1933. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +18 -0
  1934. data/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +68 -0
  1935. data/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +23 -0
  1936. data/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +110 -0
  1937. data/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +92 -0
  1938. data/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +128 -0
  1939. data/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +74 -0
  1940. data/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +39 -0
  1941. data/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +330 -0
  1942. data/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +79 -0
  1943. data/node_modules/is-my-json-valid/test/json-schema.js +23 -0
  1944. data/node_modules/is-my-json-valid/test/misc.js +471 -0
  1945. data/node_modules/is-path-cwd/index.js +6 -0
  1946. data/node_modules/is-path-cwd/package.json +33 -0
  1947. data/node_modules/is-path-cwd/readme.md +28 -0
  1948. data/node_modules/is-path-in-cwd/index.js +6 -0
  1949. data/node_modules/is-path-in-cwd/package.json +38 -0
  1950. data/node_modules/is-path-in-cwd/readme.md +28 -0
  1951. data/node_modules/is-path-inside/index.js +14 -0
  1952. data/node_modules/is-path-inside/package.json +36 -0
  1953. data/node_modules/is-path-inside/readme.md +31 -0
  1954. data/node_modules/is-property/.npmignore +17 -0
  1955. data/node_modules/is-property/LICENSE +22 -0
  1956. data/node_modules/is-property/README.md +28 -0
  1957. data/node_modules/is-property/is-property.js +5 -0
  1958. data/node_modules/is-property/package.json +36 -0
  1959. data/node_modules/is-resolvable/LICENSE +20 -0
  1960. data/node_modules/is-resolvable/README.md +68 -0
  1961. data/node_modules/is-resolvable/index.js +26 -0
  1962. data/node_modules/is-resolvable/package.json +38 -0
  1963. data/node_modules/isarray/.npmignore +1 -0
  1964. data/node_modules/isarray/.travis.yml +4 -0
  1965. data/node_modules/isarray/Makefile +6 -0
  1966. data/node_modules/isarray/README.md +60 -0
  1967. data/node_modules/isarray/component.json +19 -0
  1968. data/node_modules/isarray/index.js +5 -0
  1969. data/node_modules/isarray/package.json +45 -0
  1970. data/node_modules/isarray/test.js +20 -0
  1971. data/node_modules/js-yaml/CHANGELOG.md +431 -0
  1972. data/node_modules/js-yaml/LICENSE +21 -0
  1973. data/node_modules/js-yaml/README.md +312 -0
  1974. data/node_modules/js-yaml/bin/js-yaml.js +132 -0
  1975. data/node_modules/js-yaml/dist/js-yaml.js +3868 -0
  1976. data/node_modules/js-yaml/dist/js-yaml.min.js +3 -0
  1977. data/node_modules/js-yaml/index.js +7 -0
  1978. data/node_modules/js-yaml/lib/js-yaml.js +39 -0
  1979. data/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  1980. data/node_modules/js-yaml/lib/js-yaml/dumper.js +801 -0
  1981. data/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  1982. data/node_modules/js-yaml/lib/js-yaml/loader.js +1591 -0
  1983. data/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  1984. data/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  1985. data/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  1986. data/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  1987. data/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  1988. data/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  1989. data/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  1990. data/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  1991. data/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  1992. data/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  1993. data/node_modules/js-yaml/lib/js-yaml/type/float.js +111 -0
  1994. data/node_modules/js-yaml/lib/js-yaml/type/int.js +168 -0
  1995. data/node_modules/js-yaml/lib/js-yaml/type/js/function.js +84 -0
  1996. data/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  1997. data/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  1998. data/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  1999. data/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  2000. data/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  2001. data/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  2002. data/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  2003. data/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  2004. data/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  2005. data/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  2006. data/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  2007. data/node_modules/js-yaml/node_modules/.bin/esparse +1 -0
  2008. data/node_modules/js-yaml/node_modules/.bin/esvalidate +1 -0
  2009. data/node_modules/js-yaml/package.json +46 -0
  2010. data/node_modules/json-stable-stringify/.npmignore +1 -0
  2011. data/node_modules/json-stable-stringify/.travis.yml +4 -0
  2012. data/node_modules/json-stable-stringify/LICENSE +18 -0
  2013. data/node_modules/json-stable-stringify/example/key_cmp.js +7 -0
  2014. data/node_modules/json-stable-stringify/example/nested.js +3 -0
  2015. data/node_modules/json-stable-stringify/example/str.js +3 -0
  2016. data/node_modules/json-stable-stringify/example/value_cmp.js +7 -0
  2017. data/node_modules/json-stable-stringify/index.js +84 -0
  2018. data/node_modules/json-stable-stringify/package.json +44 -0
  2019. data/node_modules/json-stable-stringify/readme.markdown +130 -0
  2020. data/node_modules/json-stable-stringify/test/cmp.js +11 -0
  2021. data/node_modules/json-stable-stringify/test/nested.js +35 -0
  2022. data/node_modules/json-stable-stringify/test/replacer.js +74 -0
  2023. data/node_modules/json-stable-stringify/test/space.js +59 -0
  2024. data/node_modules/json-stable-stringify/test/str.js +32 -0
  2025. data/node_modules/json-stable-stringify/test/to-json.js +20 -0
  2026. data/node_modules/jsonfile/.npmignore +2 -0
  2027. data/node_modules/jsonfile/CHANGELOG.md +126 -0
  2028. data/node_modules/jsonfile/LICENSE +15 -0
  2029. data/node_modules/jsonfile/README.md +162 -0
  2030. data/node_modules/jsonfile/appveyor.yml +28 -0
  2031. data/node_modules/jsonfile/index.js +133 -0
  2032. data/node_modules/jsonfile/package.json +35 -0
  2033. data/node_modules/jsonify/README.markdown +34 -0
  2034. data/node_modules/jsonify/index.js +2 -0
  2035. data/node_modules/jsonify/lib/parse.js +273 -0
  2036. data/node_modules/jsonify/lib/stringify.js +154 -0
  2037. data/node_modules/jsonify/package.json +30 -0
  2038. data/node_modules/jsonify/test/parse.js +16 -0
  2039. data/node_modules/jsonify/test/stringify.js +15 -0
  2040. data/node_modules/jsonpointer/LICENSE.md +21 -0
  2041. data/node_modules/jsonpointer/README.md +39 -0
  2042. data/node_modules/jsonpointer/jsonpointer.js +93 -0
  2043. data/node_modules/jsonpointer/package.json +37 -0
  2044. data/node_modules/klaw/.npmignore +3 -0
  2045. data/node_modules/klaw/CHANGELOG.md +42 -0
  2046. data/node_modules/klaw/LICENSE +15 -0
  2047. data/node_modules/klaw/README.md +270 -0
  2048. data/node_modules/klaw/package.json +40 -0
  2049. data/node_modules/klaw/src/assign.js +16 -0
  2050. data/node_modules/klaw/src/index.js +57 -0
  2051. data/node_modules/levn/LICENSE +22 -0
  2052. data/node_modules/levn/README.md +196 -0
  2053. data/node_modules/levn/lib/cast.js +298 -0
  2054. data/node_modules/levn/lib/coerce.js +285 -0
  2055. data/node_modules/levn/lib/index.js +22 -0
  2056. data/node_modules/levn/lib/parse-string.js +113 -0
  2057. data/node_modules/levn/lib/parse.js +102 -0
  2058. data/node_modules/levn/package.json +47 -0
  2059. data/node_modules/lodash.capitalize/LICENSE +47 -0
  2060. data/node_modules/lodash.capitalize/README.md +18 -0
  2061. data/node_modules/lodash.capitalize/index.js +322 -0
  2062. data/node_modules/lodash.capitalize/package.json +17 -0
  2063. data/node_modules/lodash.kebabcase/LICENSE +47 -0
  2064. data/node_modules/lodash.kebabcase/README.md +18 -0
  2065. data/node_modules/lodash.kebabcase/index.js +435 -0
  2066. data/node_modules/lodash.kebabcase/package.json +17 -0
  2067. data/node_modules/lodash/LICENSE +47 -0
  2068. data/node_modules/lodash/README.md +39 -0
  2069. data/node_modules/lodash/_DataView.js +7 -0
  2070. data/node_modules/lodash/_Hash.js +32 -0
  2071. data/node_modules/lodash/_LazyWrapper.js +28 -0
  2072. data/node_modules/lodash/_ListCache.js +32 -0
  2073. data/node_modules/lodash/_LodashWrapper.js +22 -0
  2074. data/node_modules/lodash/_Map.js +7 -0
  2075. data/node_modules/lodash/_MapCache.js +32 -0
  2076. data/node_modules/lodash/_Promise.js +7 -0
  2077. data/node_modules/lodash/_Set.js +7 -0
  2078. data/node_modules/lodash/_SetCache.js +27 -0
  2079. data/node_modules/lodash/_Stack.js +27 -0
  2080. data/node_modules/lodash/_Symbol.js +6 -0
  2081. data/node_modules/lodash/_Uint8Array.js +6 -0
  2082. data/node_modules/lodash/_WeakMap.js +7 -0
  2083. data/node_modules/lodash/_addMapEntry.js +15 -0
  2084. data/node_modules/lodash/_addSetEntry.js +15 -0
  2085. data/node_modules/lodash/_apply.js +21 -0
  2086. data/node_modules/lodash/_arrayAggregator.js +22 -0
  2087. data/node_modules/lodash/_arrayEach.js +22 -0
  2088. data/node_modules/lodash/_arrayEachRight.js +21 -0
  2089. data/node_modules/lodash/_arrayEvery.js +23 -0
  2090. data/node_modules/lodash/_arrayFilter.js +25 -0
  2091. data/node_modules/lodash/_arrayIncludes.js +17 -0
  2092. data/node_modules/lodash/_arrayIncludesWith.js +22 -0
  2093. data/node_modules/lodash/_arrayLikeKeys.js +49 -0
  2094. data/node_modules/lodash/_arrayMap.js +21 -0
  2095. data/node_modules/lodash/_arrayPush.js +20 -0
  2096. data/node_modules/lodash/_arrayReduce.js +26 -0
  2097. data/node_modules/lodash/_arrayReduceRight.js +24 -0
  2098. data/node_modules/lodash/_arraySample.js +15 -0
  2099. data/node_modules/lodash/_arraySampleSize.js +17 -0
  2100. data/node_modules/lodash/_arrayShuffle.js +15 -0
  2101. data/node_modules/lodash/_arraySome.js +23 -0
  2102. data/node_modules/lodash/_asciiSize.js +12 -0
  2103. data/node_modules/lodash/_asciiToArray.js +12 -0
  2104. data/node_modules/lodash/_asciiWords.js +15 -0
  2105. data/node_modules/lodash/_assignInDefaults.js +27 -0
  2106. data/node_modules/lodash/_assignMergeValue.js +20 -0
  2107. data/node_modules/lodash/_assignValue.js +28 -0
  2108. data/node_modules/lodash/_assocIndexOf.js +21 -0
  2109. data/node_modules/lodash/_baseAggregator.js +21 -0
  2110. data/node_modules/lodash/_baseAssign.js +17 -0
  2111. data/node_modules/lodash/_baseAssignValue.js +25 -0
  2112. data/node_modules/lodash/_baseAt.js +23 -0
  2113. data/node_modules/lodash/_baseClamp.js +22 -0
  2114. data/node_modules/lodash/_baseClone.js +133 -0
  2115. data/node_modules/lodash/_baseConforms.js +18 -0
  2116. data/node_modules/lodash/_baseConformsTo.js +27 -0
  2117. data/node_modules/lodash/_baseCreate.js +30 -0
  2118. data/node_modules/lodash/_baseDelay.js +21 -0
  2119. data/node_modules/lodash/_baseDifference.js +67 -0
  2120. data/node_modules/lodash/_baseEach.js +14 -0
  2121. data/node_modules/lodash/_baseEachRight.js +14 -0
  2122. data/node_modules/lodash/_baseEvery.js +21 -0
  2123. data/node_modules/lodash/_baseExtremum.js +32 -0
  2124. data/node_modules/lodash/_baseFill.js +32 -0
  2125. data/node_modules/lodash/_baseFilter.js +21 -0
  2126. data/node_modules/lodash/_baseFindIndex.js +24 -0
  2127. data/node_modules/lodash/_baseFindKey.js +23 -0
  2128. data/node_modules/lodash/_baseFlatten.js +38 -0
  2129. data/node_modules/lodash/_baseFor.js +16 -0
  2130. data/node_modules/lodash/_baseForOwn.js +16 -0
  2131. data/node_modules/lodash/_baseForOwnRight.js +16 -0
  2132. data/node_modules/lodash/_baseForRight.js +15 -0
  2133. data/node_modules/lodash/_baseFunctions.js +19 -0
  2134. data/node_modules/lodash/_baseGet.js +25 -0
  2135. data/node_modules/lodash/_baseGetAllKeys.js +20 -0
  2136. data/node_modules/lodash/_baseGetTag.js +29 -0
  2137. data/node_modules/lodash/_baseGt.js +14 -0
  2138. data/node_modules/lodash/_baseHas.js +19 -0
  2139. data/node_modules/lodash/_baseHasIn.js +13 -0
  2140. data/node_modules/lodash/_baseInRange.js +18 -0
  2141. data/node_modules/lodash/_baseIndexOf.js +20 -0
  2142. data/node_modules/lodash/_baseIndexOfWith.js +23 -0
  2143. data/node_modules/lodash/_baseIntersection.js +74 -0
  2144. data/node_modules/lodash/_baseInverter.js +21 -0
  2145. data/node_modules/lodash/_baseInvoke.js +28 -0
  2146. data/node_modules/lodash/_baseIsArguments.js +18 -0
  2147. data/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  2148. data/node_modules/lodash/_baseIsDate.js +18 -0
  2149. data/node_modules/lodash/_baseIsEqual.js +30 -0
  2150. data/node_modules/lodash/_baseIsEqualDeep.js +89 -0
  2151. data/node_modules/lodash/_baseIsMap.js +18 -0
  2152. data/node_modules/lodash/_baseIsMatch.js +62 -0
  2153. data/node_modules/lodash/_baseIsNaN.js +12 -0
  2154. data/node_modules/lodash/_baseIsNative.js +47 -0
  2155. data/node_modules/lodash/_baseIsRegExp.js +18 -0
  2156. data/node_modules/lodash/_baseIsSet.js +18 -0
  2157. data/node_modules/lodash/_baseIsTypedArray.js +60 -0
  2158. data/node_modules/lodash/_baseIteratee.js +31 -0
  2159. data/node_modules/lodash/_baseKeys.js +30 -0
  2160. data/node_modules/lodash/_baseKeysIn.js +33 -0
  2161. data/node_modules/lodash/_baseLodash.js +10 -0
  2162. data/node_modules/lodash/_baseLt.js +14 -0
  2163. data/node_modules/lodash/_baseMap.js +22 -0
  2164. data/node_modules/lodash/_baseMatches.js +22 -0
  2165. data/node_modules/lodash/_baseMatchesProperty.js +33 -0
  2166. data/node_modules/lodash/_baseMean.js +20 -0
  2167. data/node_modules/lodash/_baseMerge.js +41 -0
  2168. data/node_modules/lodash/_baseMergeDeep.js +93 -0
  2169. data/node_modules/lodash/_baseNth.js +20 -0
  2170. data/node_modules/lodash/_baseOrderBy.js +34 -0
  2171. data/node_modules/lodash/_basePick.js +19 -0
  2172. data/node_modules/lodash/_basePickBy.js +28 -0
  2173. data/node_modules/lodash/_baseProperty.js +14 -0
  2174. data/node_modules/lodash/_basePropertyDeep.js +16 -0
  2175. data/node_modules/lodash/_basePropertyOf.js +14 -0
  2176. data/node_modules/lodash/_basePullAll.js +51 -0
  2177. data/node_modules/lodash/_basePullAt.js +50 -0
  2178. data/node_modules/lodash/_baseRandom.js +18 -0
  2179. data/node_modules/lodash/_baseRange.js +28 -0
  2180. data/node_modules/lodash/_baseReduce.js +23 -0
  2181. data/node_modules/lodash/_baseRepeat.js +35 -0
  2182. data/node_modules/lodash/_baseRest.js +17 -0
  2183. data/node_modules/lodash/_baseSample.js +15 -0
  2184. data/node_modules/lodash/_baseSampleSize.js +18 -0
  2185. data/node_modules/lodash/_baseSet.js +48 -0
  2186. data/node_modules/lodash/_baseSetData.js +17 -0
  2187. data/node_modules/lodash/_baseSetToString.js +22 -0
  2188. data/node_modules/lodash/_baseShuffle.js +15 -0
  2189. data/node_modules/lodash/_baseSlice.js +31 -0
  2190. data/node_modules/lodash/_baseSome.js +22 -0
  2191. data/node_modules/lodash/_baseSortBy.js +21 -0
  2192. data/node_modules/lodash/_baseSortedIndex.js +42 -0
  2193. data/node_modules/lodash/_baseSortedIndexBy.js +64 -0
  2194. data/node_modules/lodash/_baseSortedUniq.js +30 -0
  2195. data/node_modules/lodash/_baseSum.js +24 -0
  2196. data/node_modules/lodash/_baseTimes.js +20 -0
  2197. data/node_modules/lodash/_baseToNumber.js +24 -0
  2198. data/node_modules/lodash/_baseToPairs.js +18 -0
  2199. data/node_modules/lodash/_baseToString.js +37 -0
  2200. data/node_modules/lodash/_baseUnary.js +14 -0
  2201. data/node_modules/lodash/_baseUniq.js +72 -0
  2202. data/node_modules/lodash/_baseUnset.js +29 -0
  2203. data/node_modules/lodash/_baseUpdate.js +18 -0
  2204. data/node_modules/lodash/_baseValues.js +19 -0
  2205. data/node_modules/lodash/_baseWhile.js +26 -0
  2206. data/node_modules/lodash/_baseWrapperValue.js +25 -0
  2207. data/node_modules/lodash/_baseXor.js +36 -0
  2208. data/node_modules/lodash/_baseZipObject.js +23 -0
  2209. data/node_modules/lodash/_cacheHas.js +13 -0
  2210. data/node_modules/lodash/_castArrayLikeObject.js +14 -0
  2211. data/node_modules/lodash/_castFunction.js +14 -0
  2212. data/node_modules/lodash/_castPath.js +15 -0
  2213. data/node_modules/lodash/_castRest.js +14 -0
  2214. data/node_modules/lodash/_castSlice.js +18 -0
  2215. data/node_modules/lodash/_charsEndIndex.js +19 -0
  2216. data/node_modules/lodash/_charsStartIndex.js +20 -0
  2217. data/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  2218. data/node_modules/lodash/_cloneBuffer.js +35 -0
  2219. data/node_modules/lodash/_cloneDataView.js +16 -0
  2220. data/node_modules/lodash/_cloneMap.js +19 -0
  2221. data/node_modules/lodash/_cloneRegExp.js +17 -0
  2222. data/node_modules/lodash/_cloneSet.js +19 -0
  2223. data/node_modules/lodash/_cloneSymbol.js +18 -0
  2224. data/node_modules/lodash/_cloneTypedArray.js +16 -0
  2225. data/node_modules/lodash/_compareAscending.js +41 -0
  2226. data/node_modules/lodash/_compareMultiple.js +44 -0
  2227. data/node_modules/lodash/_composeArgs.js +39 -0
  2228. data/node_modules/lodash/_composeArgsRight.js +41 -0
  2229. data/node_modules/lodash/_copyArray.js +20 -0
  2230. data/node_modules/lodash/_copyObject.js +40 -0
  2231. data/node_modules/lodash/_copySymbols.js +16 -0
  2232. data/node_modules/lodash/_coreJsData.js +6 -0
  2233. data/node_modules/lodash/_countHolders.js +21 -0
  2234. data/node_modules/lodash/_createAggregator.js +23 -0
  2235. data/node_modules/lodash/_createAssigner.js +37 -0
  2236. data/node_modules/lodash/_createBaseEach.js +32 -0
  2237. data/node_modules/lodash/_createBaseFor.js +25 -0
  2238. data/node_modules/lodash/_createBind.js +28 -0
  2239. data/node_modules/lodash/_createCaseFirst.js +33 -0
  2240. data/node_modules/lodash/_createCompounder.js +24 -0
  2241. data/node_modules/lodash/_createCtor.js +37 -0
  2242. data/node_modules/lodash/_createCurry.js +46 -0
  2243. data/node_modules/lodash/_createFind.js +25 -0
  2244. data/node_modules/lodash/_createFlow.js +82 -0
  2245. data/node_modules/lodash/_createHybrid.js +92 -0
  2246. data/node_modules/lodash/_createInverter.js +17 -0
  2247. data/node_modules/lodash/_createMathOperation.js +38 -0
  2248. data/node_modules/lodash/_createOver.js +27 -0
  2249. data/node_modules/lodash/_createPadding.js +33 -0
  2250. data/node_modules/lodash/_createPartial.js +43 -0
  2251. data/node_modules/lodash/_createRange.js +30 -0
  2252. data/node_modules/lodash/_createRecurry.js +56 -0
  2253. data/node_modules/lodash/_createRelationalOperation.js +20 -0
  2254. data/node_modules/lodash/_createRound.js +33 -0
  2255. data/node_modules/lodash/_createSet.js +19 -0
  2256. data/node_modules/lodash/_createToPairs.js +30 -0
  2257. data/node_modules/lodash/_createWrap.js +107 -0
  2258. data/node_modules/lodash/_deburrLetter.js +71 -0
  2259. data/node_modules/lodash/_defineProperty.js +11 -0
  2260. data/node_modules/lodash/_equalArrays.js +84 -0
  2261. data/node_modules/lodash/_equalByTag.js +113 -0
  2262. data/node_modules/lodash/_equalObjects.js +90 -0
  2263. data/node_modules/lodash/_escapeHtmlChar.js +21 -0
  2264. data/node_modules/lodash/_escapeStringChar.js +22 -0
  2265. data/node_modules/lodash/_flatRest.js +16 -0
  2266. data/node_modules/lodash/_freeGlobal.js +4 -0
  2267. data/node_modules/lodash/_getAllKeys.js +16 -0
  2268. data/node_modules/lodash/_getAllKeysIn.js +17 -0
  2269. data/node_modules/lodash/_getData.js +15 -0
  2270. data/node_modules/lodash/_getFuncName.js +31 -0
  2271. data/node_modules/lodash/_getHolder.js +13 -0
  2272. data/node_modules/lodash/_getMapData.js +18 -0
  2273. data/node_modules/lodash/_getMatchData.js +24 -0
  2274. data/node_modules/lodash/_getNative.js +17 -0
  2275. data/node_modules/lodash/_getPrototype.js +6 -0
  2276. data/node_modules/lodash/_getRawTag.js +46 -0
  2277. data/node_modules/lodash/_getSymbols.js +16 -0
  2278. data/node_modules/lodash/_getSymbolsIn.js +26 -0
  2279. data/node_modules/lodash/_getTag.js +58 -0
  2280. data/node_modules/lodash/_getValue.js +13 -0
  2281. data/node_modules/lodash/_getView.js +33 -0
  2282. data/node_modules/lodash/_getWrapDetails.js +17 -0
  2283. data/node_modules/lodash/_hasPath.js +40 -0
  2284. data/node_modules/lodash/_hasUnicode.js +24 -0
  2285. data/node_modules/lodash/_hasUnicodeWord.js +15 -0
  2286. data/node_modules/lodash/_hashClear.js +15 -0
  2287. data/node_modules/lodash/_hashDelete.js +17 -0
  2288. data/node_modules/lodash/_hashGet.js +30 -0
  2289. data/node_modules/lodash/_hashHas.js +23 -0
  2290. data/node_modules/lodash/_hashSet.js +23 -0
  2291. data/node_modules/lodash/_initCloneArray.js +26 -0
  2292. data/node_modules/lodash/_initCloneByTag.js +80 -0
  2293. data/node_modules/lodash/_initCloneObject.js +18 -0
  2294. data/node_modules/lodash/_insertWrapDetails.js +23 -0
  2295. data/node_modules/lodash/_isFlattenable.js +20 -0
  2296. data/node_modules/lodash/_isIndex.js +22 -0
  2297. data/node_modules/lodash/_isIterateeCall.js +30 -0
  2298. data/node_modules/lodash/_isKey.js +29 -0
  2299. data/node_modules/lodash/_isKeyable.js +15 -0
  2300. data/node_modules/lodash/_isLaziable.js +28 -0
  2301. data/node_modules/lodash/_isMaskable.js +14 -0
  2302. data/node_modules/lodash/_isMasked.js +20 -0
  2303. data/node_modules/lodash/_isPrototype.js +18 -0
  2304. data/node_modules/lodash/_isStrictComparable.js +15 -0
  2305. data/node_modules/lodash/_iteratorToArray.js +18 -0
  2306. data/node_modules/lodash/_lazyClone.js +23 -0
  2307. data/node_modules/lodash/_lazyReverse.js +23 -0
  2308. data/node_modules/lodash/_lazyValue.js +73 -0
  2309. data/node_modules/lodash/_listCacheClear.js +13 -0
  2310. data/node_modules/lodash/_listCacheDelete.js +35 -0
  2311. data/node_modules/lodash/_listCacheGet.js +19 -0
  2312. data/node_modules/lodash/_listCacheHas.js +16 -0
  2313. data/node_modules/lodash/_listCacheSet.js +26 -0
  2314. data/node_modules/lodash/_mapCacheClear.js +21 -0
  2315. data/node_modules/lodash/_mapCacheDelete.js +18 -0
  2316. data/node_modules/lodash/_mapCacheGet.js +16 -0
  2317. data/node_modules/lodash/_mapCacheHas.js +16 -0
  2318. data/node_modules/lodash/_mapCacheSet.js +22 -0
  2319. data/node_modules/lodash/_mapToArray.js +18 -0
  2320. data/node_modules/lodash/_matchesStrictComparable.js +20 -0
  2321. data/node_modules/lodash/_memoizeCapped.js +26 -0
  2322. data/node_modules/lodash/_mergeData.js +90 -0
  2323. data/node_modules/lodash/_mergeDefaults.js +27 -0
  2324. data/node_modules/lodash/_metaMap.js +6 -0
  2325. data/node_modules/lodash/_nativeCreate.js +6 -0
  2326. data/node_modules/lodash/_nativeKeys.js +6 -0
  2327. data/node_modules/lodash/_nativeKeysIn.js +20 -0
  2328. data/node_modules/lodash/_nodeUtil.js +22 -0
  2329. data/node_modules/lodash/_objectToString.js +22 -0
  2330. data/node_modules/lodash/_overArg.js +15 -0
  2331. data/node_modules/lodash/_overRest.js +36 -0
  2332. data/node_modules/lodash/_parent.js +16 -0
  2333. data/node_modules/lodash/_reEscape.js +4 -0
  2334. data/node_modules/lodash/_reEvaluate.js +4 -0
  2335. data/node_modules/lodash/_reInterpolate.js +4 -0
  2336. data/node_modules/lodash/_realNames.js +4 -0
  2337. data/node_modules/lodash/_reorder.js +29 -0
  2338. data/node_modules/lodash/_replaceHolders.js +29 -0
  2339. data/node_modules/lodash/_root.js +9 -0
  2340. data/node_modules/lodash/_setCacheAdd.js +19 -0
  2341. data/node_modules/lodash/_setCacheHas.js +14 -0
  2342. data/node_modules/lodash/_setData.js +20 -0
  2343. data/node_modules/lodash/_setToArray.js +18 -0
  2344. data/node_modules/lodash/_setToPairs.js +18 -0
  2345. data/node_modules/lodash/_setToString.js +14 -0
  2346. data/node_modules/lodash/_setWrapToString.js +21 -0
  2347. data/node_modules/lodash/_shortOut.js +37 -0
  2348. data/node_modules/lodash/_shuffleSelf.js +28 -0
  2349. data/node_modules/lodash/_stackClear.js +15 -0
  2350. data/node_modules/lodash/_stackDelete.js +18 -0
  2351. data/node_modules/lodash/_stackGet.js +14 -0
  2352. data/node_modules/lodash/_stackHas.js +14 -0
  2353. data/node_modules/lodash/_stackSet.js +34 -0
  2354. data/node_modules/lodash/_strictIndexOf.js +23 -0
  2355. data/node_modules/lodash/_strictLastIndexOf.js +21 -0
  2356. data/node_modules/lodash/_stringSize.js +18 -0
  2357. data/node_modules/lodash/_stringToArray.js +18 -0
  2358. data/node_modules/lodash/_stringToPath.js +31 -0
  2359. data/node_modules/lodash/_toKey.js +21 -0
  2360. data/node_modules/lodash/_toSource.js +26 -0
  2361. data/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  2362. data/node_modules/lodash/_unicodeSize.js +42 -0
  2363. data/node_modules/lodash/_unicodeToArray.js +38 -0
  2364. data/node_modules/lodash/_unicodeWords.js +67 -0
  2365. data/node_modules/lodash/_updateWrapDetails.js +46 -0
  2366. data/node_modules/lodash/_wrapperClone.js +23 -0
  2367. data/node_modules/lodash/add.js +22 -0
  2368. data/node_modules/lodash/after.js +42 -0
  2369. data/node_modules/lodash/array.js +67 -0
  2370. data/node_modules/lodash/ary.js +29 -0
  2371. data/node_modules/lodash/assign.js +58 -0
  2372. data/node_modules/lodash/assignIn.js +40 -0
  2373. data/node_modules/lodash/assignInWith.js +38 -0
  2374. data/node_modules/lodash/assignWith.js +37 -0
  2375. data/node_modules/lodash/at.js +23 -0
  2376. data/node_modules/lodash/attempt.js +35 -0
  2377. data/node_modules/lodash/before.js +40 -0
  2378. data/node_modules/lodash/bind.js +57 -0
  2379. data/node_modules/lodash/bindAll.js +41 -0
  2380. data/node_modules/lodash/bindKey.js +68 -0
  2381. data/node_modules/lodash/camelCase.js +29 -0
  2382. data/node_modules/lodash/capitalize.js +23 -0
  2383. data/node_modules/lodash/castArray.js +44 -0
  2384. data/node_modules/lodash/ceil.js +26 -0
  2385. data/node_modules/lodash/chain.js +38 -0
  2386. data/node_modules/lodash/chunk.js +50 -0
  2387. data/node_modules/lodash/clamp.js +39 -0
  2388. data/node_modules/lodash/clone.js +33 -0
  2389. data/node_modules/lodash/cloneDeep.js +25 -0
  2390. data/node_modules/lodash/cloneDeepWith.js +36 -0
  2391. data/node_modules/lodash/cloneWith.js +39 -0
  2392. data/node_modules/lodash/collection.js +30 -0
  2393. data/node_modules/lodash/commit.js +33 -0
  2394. data/node_modules/lodash/compact.js +31 -0
  2395. data/node_modules/lodash/concat.js +43 -0
  2396. data/node_modules/lodash/cond.js +60 -0
  2397. data/node_modules/lodash/conforms.js +32 -0
  2398. data/node_modules/lodash/conformsTo.js +32 -0
  2399. data/node_modules/lodash/constant.js +26 -0
  2400. data/node_modules/lodash/core.js +3853 -0
  2401. data/node_modules/lodash/core.min.js +29 -0
  2402. data/node_modules/lodash/countBy.js +40 -0
  2403. data/node_modules/lodash/create.js +43 -0
  2404. data/node_modules/lodash/curry.js +57 -0
  2405. data/node_modules/lodash/curryRight.js +54 -0
  2406. data/node_modules/lodash/date.js +3 -0
  2407. data/node_modules/lodash/debounce.js +188 -0
  2408. data/node_modules/lodash/deburr.js +43 -0
  2409. data/node_modules/lodash/defaultTo.js +25 -0
  2410. data/node_modules/lodash/defaults.js +32 -0
  2411. data/node_modules/lodash/defaultsDeep.js +30 -0
  2412. data/node_modules/lodash/defer.js +26 -0
  2413. data/node_modules/lodash/delay.js +28 -0
  2414. data/node_modules/lodash/difference.js +33 -0
  2415. data/node_modules/lodash/differenceBy.js +44 -0
  2416. data/node_modules/lodash/differenceWith.js +40 -0
  2417. data/node_modules/lodash/divide.js +22 -0
  2418. data/node_modules/lodash/drop.js +38 -0
  2419. data/node_modules/lodash/dropRight.js +39 -0
  2420. data/node_modules/lodash/dropRightWhile.js +45 -0
  2421. data/node_modules/lodash/dropWhile.js +45 -0
  2422. data/node_modules/lodash/each.js +1 -0
  2423. data/node_modules/lodash/eachRight.js +1 -0
  2424. data/node_modules/lodash/endsWith.js +43 -0
  2425. data/node_modules/lodash/entries.js +1 -0
  2426. data/node_modules/lodash/entriesIn.js +1 -0
  2427. data/node_modules/lodash/eq.js +37 -0
  2428. data/node_modules/lodash/escape.js +43 -0
  2429. data/node_modules/lodash/escapeRegExp.js +32 -0
  2430. data/node_modules/lodash/every.js +56 -0
  2431. data/node_modules/lodash/extend.js +1 -0
  2432. data/node_modules/lodash/extendWith.js +1 -0
  2433. data/node_modules/lodash/fill.js +45 -0
  2434. data/node_modules/lodash/filter.js +48 -0
  2435. data/node_modules/lodash/find.js +42 -0
  2436. data/node_modules/lodash/findIndex.js +55 -0
  2437. data/node_modules/lodash/findKey.js +44 -0
  2438. data/node_modules/lodash/findLast.js +25 -0
  2439. data/node_modules/lodash/findLastIndex.js +59 -0
  2440. data/node_modules/lodash/findLastKey.js +44 -0
  2441. data/node_modules/lodash/first.js +1 -0
  2442. data/node_modules/lodash/flatMap.js +29 -0
  2443. data/node_modules/lodash/flatMapDeep.js +31 -0
  2444. data/node_modules/lodash/flatMapDepth.js +31 -0
  2445. data/node_modules/lodash/flatten.js +22 -0
  2446. data/node_modules/lodash/flattenDeep.js +25 -0
  2447. data/node_modules/lodash/flattenDepth.js +33 -0
  2448. data/node_modules/lodash/flip.js +28 -0
  2449. data/node_modules/lodash/floor.js +26 -0
  2450. data/node_modules/lodash/flow.js +27 -0
  2451. data/node_modules/lodash/flowRight.js +26 -0
  2452. data/node_modules/lodash/forEach.js +41 -0
  2453. data/node_modules/lodash/forEachRight.js +31 -0
  2454. data/node_modules/lodash/forIn.js +39 -0
  2455. data/node_modules/lodash/forInRight.js +37 -0
  2456. data/node_modules/lodash/forOwn.js +36 -0
  2457. data/node_modules/lodash/forOwnRight.js +34 -0
  2458. data/node_modules/lodash/fp.js +2 -0
  2459. data/node_modules/lodash/fp/F.js +1 -0
  2460. data/node_modules/lodash/fp/T.js +1 -0
  2461. data/node_modules/lodash/fp/__.js +1 -0
  2462. data/node_modules/lodash/fp/_baseConvert.js +536 -0
  2463. data/node_modules/lodash/fp/_convertBrowser.js +18 -0
  2464. data/node_modules/lodash/fp/_falseOptions.js +7 -0
  2465. data/node_modules/lodash/fp/_mapping.js +367 -0
  2466. data/node_modules/lodash/fp/_util.js +15 -0
  2467. data/node_modules/lodash/fp/add.js +5 -0
  2468. data/node_modules/lodash/fp/after.js +5 -0
  2469. data/node_modules/lodash/fp/all.js +1 -0
  2470. data/node_modules/lodash/fp/allPass.js +1 -0
  2471. data/node_modules/lodash/fp/always.js +1 -0
  2472. data/node_modules/lodash/fp/any.js +1 -0
  2473. data/node_modules/lodash/fp/anyPass.js +1 -0
  2474. data/node_modules/lodash/fp/apply.js +1 -0
  2475. data/node_modules/lodash/fp/array.js +2 -0
  2476. data/node_modules/lodash/fp/ary.js +5 -0
  2477. data/node_modules/lodash/fp/assign.js +5 -0
  2478. data/node_modules/lodash/fp/assignAll.js +5 -0
  2479. data/node_modules/lodash/fp/assignAllWith.js +5 -0
  2480. data/node_modules/lodash/fp/assignIn.js +5 -0
  2481. data/node_modules/lodash/fp/assignInAll.js +5 -0
  2482. data/node_modules/lodash/fp/assignInAllWith.js +5 -0
  2483. data/node_modules/lodash/fp/assignInWith.js +5 -0
  2484. data/node_modules/lodash/fp/assignWith.js +5 -0
  2485. data/node_modules/lodash/fp/assoc.js +1 -0
  2486. data/node_modules/lodash/fp/assocPath.js +1 -0
  2487. data/node_modules/lodash/fp/at.js +5 -0
  2488. data/node_modules/lodash/fp/attempt.js +5 -0
  2489. data/node_modules/lodash/fp/before.js +5 -0
  2490. data/node_modules/lodash/fp/bind.js +5 -0
  2491. data/node_modules/lodash/fp/bindAll.js +5 -0
  2492. data/node_modules/lodash/fp/bindKey.js +5 -0
  2493. data/node_modules/lodash/fp/camelCase.js +5 -0
  2494. data/node_modules/lodash/fp/capitalize.js +5 -0
  2495. data/node_modules/lodash/fp/castArray.js +5 -0
  2496. data/node_modules/lodash/fp/ceil.js +5 -0
  2497. data/node_modules/lodash/fp/chain.js +5 -0
  2498. data/node_modules/lodash/fp/chunk.js +5 -0
  2499. data/node_modules/lodash/fp/clamp.js +5 -0
  2500. data/node_modules/lodash/fp/clone.js +5 -0
  2501. data/node_modules/lodash/fp/cloneDeep.js +5 -0
  2502. data/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  2503. data/node_modules/lodash/fp/cloneWith.js +5 -0
  2504. data/node_modules/lodash/fp/collection.js +2 -0
  2505. data/node_modules/lodash/fp/commit.js +5 -0
  2506. data/node_modules/lodash/fp/compact.js +5 -0
  2507. data/node_modules/lodash/fp/complement.js +1 -0
  2508. data/node_modules/lodash/fp/compose.js +1 -0
  2509. data/node_modules/lodash/fp/concat.js +5 -0
  2510. data/node_modules/lodash/fp/cond.js +5 -0
  2511. data/node_modules/lodash/fp/conforms.js +1 -0
  2512. data/node_modules/lodash/fp/conformsTo.js +5 -0
  2513. data/node_modules/lodash/fp/constant.js +5 -0
  2514. data/node_modules/lodash/fp/contains.js +1 -0
  2515. data/node_modules/lodash/fp/convert.js +18 -0
  2516. data/node_modules/lodash/fp/countBy.js +5 -0
  2517. data/node_modules/lodash/fp/create.js +5 -0
  2518. data/node_modules/lodash/fp/curry.js +5 -0
  2519. data/node_modules/lodash/fp/curryN.js +5 -0
  2520. data/node_modules/lodash/fp/curryRight.js +5 -0
  2521. data/node_modules/lodash/fp/curryRightN.js +5 -0
  2522. data/node_modules/lodash/fp/date.js +2 -0
  2523. data/node_modules/lodash/fp/debounce.js +5 -0
  2524. data/node_modules/lodash/fp/deburr.js +5 -0
  2525. data/node_modules/lodash/fp/defaultTo.js +5 -0
  2526. data/node_modules/lodash/fp/defaults.js +5 -0
  2527. data/node_modules/lodash/fp/defaultsAll.js +5 -0
  2528. data/node_modules/lodash/fp/defaultsDeep.js +5 -0
  2529. data/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  2530. data/node_modules/lodash/fp/defer.js +5 -0
  2531. data/node_modules/lodash/fp/delay.js +5 -0
  2532. data/node_modules/lodash/fp/difference.js +5 -0
  2533. data/node_modules/lodash/fp/differenceBy.js +5 -0
  2534. data/node_modules/lodash/fp/differenceWith.js +5 -0
  2535. data/node_modules/lodash/fp/dissoc.js +1 -0
  2536. data/node_modules/lodash/fp/dissocPath.js +1 -0
  2537. data/node_modules/lodash/fp/divide.js +5 -0
  2538. data/node_modules/lodash/fp/drop.js +5 -0
  2539. data/node_modules/lodash/fp/dropLast.js +1 -0
  2540. data/node_modules/lodash/fp/dropLastWhile.js +1 -0
  2541. data/node_modules/lodash/fp/dropRight.js +5 -0
  2542. data/node_modules/lodash/fp/dropRightWhile.js +5 -0
  2543. data/node_modules/lodash/fp/dropWhile.js +5 -0
  2544. data/node_modules/lodash/fp/each.js +1 -0
  2545. data/node_modules/lodash/fp/eachRight.js +1 -0
  2546. data/node_modules/lodash/fp/endsWith.js +5 -0
  2547. data/node_modules/lodash/fp/entries.js +1 -0
  2548. data/node_modules/lodash/fp/entriesIn.js +1 -0
  2549. data/node_modules/lodash/fp/eq.js +5 -0
  2550. data/node_modules/lodash/fp/equals.js +1 -0
  2551. data/node_modules/lodash/fp/escape.js +5 -0
  2552. data/node_modules/lodash/fp/escapeRegExp.js +5 -0
  2553. data/node_modules/lodash/fp/every.js +5 -0
  2554. data/node_modules/lodash/fp/extend.js +1 -0
  2555. data/node_modules/lodash/fp/extendAll.js +1 -0
  2556. data/node_modules/lodash/fp/extendAllWith.js +1 -0
  2557. data/node_modules/lodash/fp/extendWith.js +1 -0
  2558. data/node_modules/lodash/fp/fill.js +5 -0
  2559. data/node_modules/lodash/fp/filter.js +5 -0
  2560. data/node_modules/lodash/fp/find.js +5 -0
  2561. data/node_modules/lodash/fp/findFrom.js +5 -0
  2562. data/node_modules/lodash/fp/findIndex.js +5 -0
  2563. data/node_modules/lodash/fp/findIndexFrom.js +5 -0
  2564. data/node_modules/lodash/fp/findKey.js +5 -0
  2565. data/node_modules/lodash/fp/findLast.js +5 -0
  2566. data/node_modules/lodash/fp/findLastFrom.js +5 -0
  2567. data/node_modules/lodash/fp/findLastIndex.js +5 -0
  2568. data/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  2569. data/node_modules/lodash/fp/findLastKey.js +5 -0
  2570. data/node_modules/lodash/fp/first.js +1 -0
  2571. data/node_modules/lodash/fp/flatMap.js +5 -0
  2572. data/node_modules/lodash/fp/flatMapDeep.js +5 -0
  2573. data/node_modules/lodash/fp/flatMapDepth.js +5 -0
  2574. data/node_modules/lodash/fp/flatten.js +5 -0
  2575. data/node_modules/lodash/fp/flattenDeep.js +5 -0
  2576. data/node_modules/lodash/fp/flattenDepth.js +5 -0
  2577. data/node_modules/lodash/fp/flip.js +5 -0
  2578. data/node_modules/lodash/fp/floor.js +5 -0
  2579. data/node_modules/lodash/fp/flow.js +5 -0
  2580. data/node_modules/lodash/fp/flowRight.js +5 -0
  2581. data/node_modules/lodash/fp/forEach.js +5 -0
  2582. data/node_modules/lodash/fp/forEachRight.js +5 -0
  2583. data/node_modules/lodash/fp/forIn.js +5 -0
  2584. data/node_modules/lodash/fp/forInRight.js +5 -0
  2585. data/node_modules/lodash/fp/forOwn.js +5 -0
  2586. data/node_modules/lodash/fp/forOwnRight.js +5 -0
  2587. data/node_modules/lodash/fp/fromPairs.js +5 -0
  2588. data/node_modules/lodash/fp/function.js +2 -0
  2589. data/node_modules/lodash/fp/functions.js +5 -0
  2590. data/node_modules/lodash/fp/functionsIn.js +5 -0
  2591. data/node_modules/lodash/fp/get.js +5 -0
  2592. data/node_modules/lodash/fp/getOr.js +5 -0
  2593. data/node_modules/lodash/fp/groupBy.js +5 -0
  2594. data/node_modules/lodash/fp/gt.js +5 -0
  2595. data/node_modules/lodash/fp/gte.js +5 -0
  2596. data/node_modules/lodash/fp/has.js +5 -0
  2597. data/node_modules/lodash/fp/hasIn.js +5 -0
  2598. data/node_modules/lodash/fp/head.js +5 -0
  2599. data/node_modules/lodash/fp/identical.js +1 -0
  2600. data/node_modules/lodash/fp/identity.js +5 -0
  2601. data/node_modules/lodash/fp/inRange.js +5 -0
  2602. data/node_modules/lodash/fp/includes.js +5 -0
  2603. data/node_modules/lodash/fp/includesFrom.js +5 -0
  2604. data/node_modules/lodash/fp/indexBy.js +1 -0
  2605. data/node_modules/lodash/fp/indexOf.js +5 -0
  2606. data/node_modules/lodash/fp/indexOfFrom.js +5 -0
  2607. data/node_modules/lodash/fp/init.js +1 -0
  2608. data/node_modules/lodash/fp/initial.js +5 -0
  2609. data/node_modules/lodash/fp/intersection.js +5 -0
  2610. data/node_modules/lodash/fp/intersectionBy.js +5 -0
  2611. data/node_modules/lodash/fp/intersectionWith.js +5 -0
  2612. data/node_modules/lodash/fp/invert.js +5 -0
  2613. data/node_modules/lodash/fp/invertBy.js +5 -0
  2614. data/node_modules/lodash/fp/invertObj.js +1 -0
  2615. data/node_modules/lodash/fp/invoke.js +5 -0
  2616. data/node_modules/lodash/fp/invokeArgs.js +5 -0
  2617. data/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  2618. data/node_modules/lodash/fp/invokeMap.js +5 -0
  2619. data/node_modules/lodash/fp/isArguments.js +5 -0
  2620. data/node_modules/lodash/fp/isArray.js +5 -0
  2621. data/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  2622. data/node_modules/lodash/fp/isArrayLike.js +5 -0
  2623. data/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  2624. data/node_modules/lodash/fp/isBoolean.js +5 -0
  2625. data/node_modules/lodash/fp/isBuffer.js +5 -0
  2626. data/node_modules/lodash/fp/isDate.js +5 -0
  2627. data/node_modules/lodash/fp/isElement.js +5 -0
  2628. data/node_modules/lodash/fp/isEmpty.js +5 -0
  2629. data/node_modules/lodash/fp/isEqual.js +5 -0
  2630. data/node_modules/lodash/fp/isEqualWith.js +5 -0
  2631. data/node_modules/lodash/fp/isError.js +5 -0
  2632. data/node_modules/lodash/fp/isFinite.js +5 -0
  2633. data/node_modules/lodash/fp/isFunction.js +5 -0
  2634. data/node_modules/lodash/fp/isInteger.js +5 -0
  2635. data/node_modules/lodash/fp/isLength.js +5 -0
  2636. data/node_modules/lodash/fp/isMap.js +5 -0
  2637. data/node_modules/lodash/fp/isMatch.js +5 -0
  2638. data/node_modules/lodash/fp/isMatchWith.js +5 -0
  2639. data/node_modules/lodash/fp/isNaN.js +5 -0
  2640. data/node_modules/lodash/fp/isNative.js +5 -0
  2641. data/node_modules/lodash/fp/isNil.js +5 -0
  2642. data/node_modules/lodash/fp/isNull.js +5 -0
  2643. data/node_modules/lodash/fp/isNumber.js +5 -0
  2644. data/node_modules/lodash/fp/isObject.js +5 -0
  2645. data/node_modules/lodash/fp/isObjectLike.js +5 -0
  2646. data/node_modules/lodash/fp/isPlainObject.js +5 -0
  2647. data/node_modules/lodash/fp/isRegExp.js +5 -0
  2648. data/node_modules/lodash/fp/isSafeInteger.js +5 -0
  2649. data/node_modules/lodash/fp/isSet.js +5 -0
  2650. data/node_modules/lodash/fp/isString.js +5 -0
  2651. data/node_modules/lodash/fp/isSymbol.js +5 -0
  2652. data/node_modules/lodash/fp/isTypedArray.js +5 -0
  2653. data/node_modules/lodash/fp/isUndefined.js +5 -0
  2654. data/node_modules/lodash/fp/isWeakMap.js +5 -0
  2655. data/node_modules/lodash/fp/isWeakSet.js +5 -0
  2656. data/node_modules/lodash/fp/iteratee.js +5 -0
  2657. data/node_modules/lodash/fp/join.js +5 -0
  2658. data/node_modules/lodash/fp/juxt.js +1 -0
  2659. data/node_modules/lodash/fp/kebabCase.js +5 -0
  2660. data/node_modules/lodash/fp/keyBy.js +5 -0
  2661. data/node_modules/lodash/fp/keys.js +5 -0
  2662. data/node_modules/lodash/fp/keysIn.js +5 -0
  2663. data/node_modules/lodash/fp/lang.js +2 -0
  2664. data/node_modules/lodash/fp/last.js +5 -0
  2665. data/node_modules/lodash/fp/lastIndexOf.js +5 -0
  2666. data/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  2667. data/node_modules/lodash/fp/lowerCase.js +5 -0
  2668. data/node_modules/lodash/fp/lowerFirst.js +5 -0
  2669. data/node_modules/lodash/fp/lt.js +5 -0
  2670. data/node_modules/lodash/fp/lte.js +5 -0
  2671. data/node_modules/lodash/fp/map.js +5 -0
  2672. data/node_modules/lodash/fp/mapKeys.js +5 -0
  2673. data/node_modules/lodash/fp/mapValues.js +5 -0
  2674. data/node_modules/lodash/fp/matches.js +1 -0
  2675. data/node_modules/lodash/fp/matchesProperty.js +5 -0
  2676. data/node_modules/lodash/fp/math.js +2 -0
  2677. data/node_modules/lodash/fp/max.js +5 -0
  2678. data/node_modules/lodash/fp/maxBy.js +5 -0
  2679. data/node_modules/lodash/fp/mean.js +5 -0
  2680. data/node_modules/lodash/fp/meanBy.js +5 -0
  2681. data/node_modules/lodash/fp/memoize.js +5 -0
  2682. data/node_modules/lodash/fp/merge.js +5 -0
  2683. data/node_modules/lodash/fp/mergeAll.js +5 -0
  2684. data/node_modules/lodash/fp/mergeAllWith.js +5 -0
  2685. data/node_modules/lodash/fp/mergeWith.js +5 -0
  2686. data/node_modules/lodash/fp/method.js +5 -0
  2687. data/node_modules/lodash/fp/methodOf.js +5 -0
  2688. data/node_modules/lodash/fp/min.js +5 -0
  2689. data/node_modules/lodash/fp/minBy.js +5 -0
  2690. data/node_modules/lodash/fp/mixin.js +5 -0
  2691. data/node_modules/lodash/fp/multiply.js +5 -0
  2692. data/node_modules/lodash/fp/nAry.js +1 -0
  2693. data/node_modules/lodash/fp/negate.js +5 -0
  2694. data/node_modules/lodash/fp/next.js +5 -0
  2695. data/node_modules/lodash/fp/noop.js +5 -0
  2696. data/node_modules/lodash/fp/now.js +5 -0
  2697. data/node_modules/lodash/fp/nth.js +5 -0
  2698. data/node_modules/lodash/fp/nthArg.js +5 -0
  2699. data/node_modules/lodash/fp/number.js +2 -0
  2700. data/node_modules/lodash/fp/object.js +2 -0
  2701. data/node_modules/lodash/fp/omit.js +5 -0
  2702. data/node_modules/lodash/fp/omitAll.js +1 -0
  2703. data/node_modules/lodash/fp/omitBy.js +5 -0
  2704. data/node_modules/lodash/fp/once.js +5 -0
  2705. data/node_modules/lodash/fp/orderBy.js +5 -0
  2706. data/node_modules/lodash/fp/over.js +5 -0
  2707. data/node_modules/lodash/fp/overArgs.js +5 -0
  2708. data/node_modules/lodash/fp/overEvery.js +5 -0
  2709. data/node_modules/lodash/fp/overSome.js +5 -0
  2710. data/node_modules/lodash/fp/pad.js +5 -0
  2711. data/node_modules/lodash/fp/padChars.js +5 -0
  2712. data/node_modules/lodash/fp/padCharsEnd.js +5 -0
  2713. data/node_modules/lodash/fp/padCharsStart.js +5 -0
  2714. data/node_modules/lodash/fp/padEnd.js +5 -0
  2715. data/node_modules/lodash/fp/padStart.js +5 -0
  2716. data/node_modules/lodash/fp/parseInt.js +5 -0
  2717. data/node_modules/lodash/fp/partial.js +5 -0
  2718. data/node_modules/lodash/fp/partialRight.js +5 -0
  2719. data/node_modules/lodash/fp/partition.js +5 -0
  2720. data/node_modules/lodash/fp/path.js +1 -0
  2721. data/node_modules/lodash/fp/pathEq.js +1 -0
  2722. data/node_modules/lodash/fp/pathOr.js +1 -0
  2723. data/node_modules/lodash/fp/paths.js +1 -0
  2724. data/node_modules/lodash/fp/pick.js +5 -0
  2725. data/node_modules/lodash/fp/pickAll.js +1 -0
  2726. data/node_modules/lodash/fp/pickBy.js +5 -0
  2727. data/node_modules/lodash/fp/pipe.js +1 -0
  2728. data/node_modules/lodash/fp/placeholder.js +6 -0
  2729. data/node_modules/lodash/fp/plant.js +5 -0
  2730. data/node_modules/lodash/fp/pluck.js +1 -0
  2731. data/node_modules/lodash/fp/prop.js +1 -0
  2732. data/node_modules/lodash/fp/propEq.js +1 -0
  2733. data/node_modules/lodash/fp/propOr.js +1 -0
  2734. data/node_modules/lodash/fp/property.js +1 -0
  2735. data/node_modules/lodash/fp/propertyOf.js +5 -0
  2736. data/node_modules/lodash/fp/props.js +1 -0
  2737. data/node_modules/lodash/fp/pull.js +5 -0
  2738. data/node_modules/lodash/fp/pullAll.js +5 -0
  2739. data/node_modules/lodash/fp/pullAllBy.js +5 -0
  2740. data/node_modules/lodash/fp/pullAllWith.js +5 -0
  2741. data/node_modules/lodash/fp/pullAt.js +5 -0
  2742. data/node_modules/lodash/fp/random.js +5 -0
  2743. data/node_modules/lodash/fp/range.js +5 -0
  2744. data/node_modules/lodash/fp/rangeRight.js +5 -0
  2745. data/node_modules/lodash/fp/rangeStep.js +5 -0
  2746. data/node_modules/lodash/fp/rangeStepRight.js +5 -0
  2747. data/node_modules/lodash/fp/rearg.js +5 -0
  2748. data/node_modules/lodash/fp/reduce.js +5 -0
  2749. data/node_modules/lodash/fp/reduceRight.js +5 -0
  2750. data/node_modules/lodash/fp/reject.js +5 -0
  2751. data/node_modules/lodash/fp/remove.js +5 -0
  2752. data/node_modules/lodash/fp/repeat.js +5 -0
  2753. data/node_modules/lodash/fp/replace.js +5 -0
  2754. data/node_modules/lodash/fp/rest.js +5 -0
  2755. data/node_modules/lodash/fp/restFrom.js +5 -0
  2756. data/node_modules/lodash/fp/result.js +5 -0
  2757. data/node_modules/lodash/fp/reverse.js +5 -0
  2758. data/node_modules/lodash/fp/round.js +5 -0
  2759. data/node_modules/lodash/fp/sample.js +5 -0
  2760. data/node_modules/lodash/fp/sampleSize.js +5 -0
  2761. data/node_modules/lodash/fp/seq.js +2 -0
  2762. data/node_modules/lodash/fp/set.js +5 -0
  2763. data/node_modules/lodash/fp/setWith.js +5 -0
  2764. data/node_modules/lodash/fp/shuffle.js +5 -0
  2765. data/node_modules/lodash/fp/size.js +5 -0
  2766. data/node_modules/lodash/fp/slice.js +5 -0
  2767. data/node_modules/lodash/fp/snakeCase.js +5 -0
  2768. data/node_modules/lodash/fp/some.js +5 -0
  2769. data/node_modules/lodash/fp/sortBy.js +5 -0
  2770. data/node_modules/lodash/fp/sortedIndex.js +5 -0
  2771. data/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  2772. data/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  2773. data/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  2774. data/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  2775. data/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  2776. data/node_modules/lodash/fp/sortedUniq.js +5 -0
  2777. data/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  2778. data/node_modules/lodash/fp/split.js +5 -0
  2779. data/node_modules/lodash/fp/spread.js +5 -0
  2780. data/node_modules/lodash/fp/spreadFrom.js +5 -0
  2781. data/node_modules/lodash/fp/startCase.js +5 -0
  2782. data/node_modules/lodash/fp/startsWith.js +5 -0
  2783. data/node_modules/lodash/fp/string.js +2 -0
  2784. data/node_modules/lodash/fp/stubArray.js +5 -0
  2785. data/node_modules/lodash/fp/stubFalse.js +5 -0
  2786. data/node_modules/lodash/fp/stubObject.js +5 -0
  2787. data/node_modules/lodash/fp/stubString.js +5 -0
  2788. data/node_modules/lodash/fp/stubTrue.js +5 -0
  2789. data/node_modules/lodash/fp/subtract.js +5 -0
  2790. data/node_modules/lodash/fp/sum.js +5 -0
  2791. data/node_modules/lodash/fp/sumBy.js +5 -0
  2792. data/node_modules/lodash/fp/symmetricDifference.js +1 -0
  2793. data/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  2794. data/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  2795. data/node_modules/lodash/fp/tail.js +5 -0
  2796. data/node_modules/lodash/fp/take.js +5 -0
  2797. data/node_modules/lodash/fp/takeLast.js +1 -0
  2798. data/node_modules/lodash/fp/takeLastWhile.js +1 -0
  2799. data/node_modules/lodash/fp/takeRight.js +5 -0
  2800. data/node_modules/lodash/fp/takeRightWhile.js +5 -0
  2801. data/node_modules/lodash/fp/takeWhile.js +5 -0
  2802. data/node_modules/lodash/fp/tap.js +5 -0
  2803. data/node_modules/lodash/fp/template.js +5 -0
  2804. data/node_modules/lodash/fp/templateSettings.js +5 -0
  2805. data/node_modules/lodash/fp/throttle.js +5 -0
  2806. data/node_modules/lodash/fp/thru.js +5 -0
  2807. data/node_modules/lodash/fp/times.js +5 -0
  2808. data/node_modules/lodash/fp/toArray.js +5 -0
  2809. data/node_modules/lodash/fp/toFinite.js +5 -0
  2810. data/node_modules/lodash/fp/toInteger.js +5 -0
  2811. data/node_modules/lodash/fp/toIterator.js +5 -0
  2812. data/node_modules/lodash/fp/toJSON.js +5 -0
  2813. data/node_modules/lodash/fp/toLength.js +5 -0
  2814. data/node_modules/lodash/fp/toLower.js +5 -0
  2815. data/node_modules/lodash/fp/toNumber.js +5 -0
  2816. data/node_modules/lodash/fp/toPairs.js +5 -0
  2817. data/node_modules/lodash/fp/toPairsIn.js +5 -0
  2818. data/node_modules/lodash/fp/toPath.js +5 -0
  2819. data/node_modules/lodash/fp/toPlainObject.js +5 -0
  2820. data/node_modules/lodash/fp/toSafeInteger.js +5 -0
  2821. data/node_modules/lodash/fp/toString.js +5 -0
  2822. data/node_modules/lodash/fp/toUpper.js +5 -0
  2823. data/node_modules/lodash/fp/transform.js +5 -0
  2824. data/node_modules/lodash/fp/trim.js +5 -0
  2825. data/node_modules/lodash/fp/trimChars.js +5 -0
  2826. data/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  2827. data/node_modules/lodash/fp/trimCharsStart.js +5 -0
  2828. data/node_modules/lodash/fp/trimEnd.js +5 -0
  2829. data/node_modules/lodash/fp/trimStart.js +5 -0
  2830. data/node_modules/lodash/fp/truncate.js +5 -0
  2831. data/node_modules/lodash/fp/unapply.js +1 -0
  2832. data/node_modules/lodash/fp/unary.js +5 -0
  2833. data/node_modules/lodash/fp/unescape.js +5 -0
  2834. data/node_modules/lodash/fp/union.js +5 -0
  2835. data/node_modules/lodash/fp/unionBy.js +5 -0
  2836. data/node_modules/lodash/fp/unionWith.js +5 -0
  2837. data/node_modules/lodash/fp/uniq.js +5 -0
  2838. data/node_modules/lodash/fp/uniqBy.js +5 -0
  2839. data/node_modules/lodash/fp/uniqWith.js +5 -0
  2840. data/node_modules/lodash/fp/uniqueId.js +5 -0
  2841. data/node_modules/lodash/fp/unnest.js +1 -0
  2842. data/node_modules/lodash/fp/unset.js +5 -0
  2843. data/node_modules/lodash/fp/unzip.js +5 -0
  2844. data/node_modules/lodash/fp/unzipWith.js +5 -0
  2845. data/node_modules/lodash/fp/update.js +5 -0
  2846. data/node_modules/lodash/fp/updateWith.js +5 -0
  2847. data/node_modules/lodash/fp/upperCase.js +5 -0
  2848. data/node_modules/lodash/fp/upperFirst.js +5 -0
  2849. data/node_modules/lodash/fp/useWith.js +1 -0
  2850. data/node_modules/lodash/fp/util.js +2 -0
  2851. data/node_modules/lodash/fp/value.js +5 -0
  2852. data/node_modules/lodash/fp/valueOf.js +5 -0
  2853. data/node_modules/lodash/fp/values.js +5 -0
  2854. data/node_modules/lodash/fp/valuesIn.js +5 -0
  2855. data/node_modules/lodash/fp/where.js +1 -0
  2856. data/node_modules/lodash/fp/whereEq.js +1 -0
  2857. data/node_modules/lodash/fp/without.js +5 -0
  2858. data/node_modules/lodash/fp/words.js +5 -0
  2859. data/node_modules/lodash/fp/wrap.js +5 -0
  2860. data/node_modules/lodash/fp/wrapperAt.js +5 -0
  2861. data/node_modules/lodash/fp/wrapperChain.js +5 -0
  2862. data/node_modules/lodash/fp/wrapperLodash.js +5 -0
  2863. data/node_modules/lodash/fp/wrapperReverse.js +5 -0
  2864. data/node_modules/lodash/fp/wrapperValue.js +5 -0
  2865. data/node_modules/lodash/fp/xor.js +5 -0
  2866. data/node_modules/lodash/fp/xorBy.js +5 -0
  2867. data/node_modules/lodash/fp/xorWith.js +5 -0
  2868. data/node_modules/lodash/fp/zip.js +5 -0
  2869. data/node_modules/lodash/fp/zipAll.js +5 -0
  2870. data/node_modules/lodash/fp/zipObj.js +1 -0
  2871. data/node_modules/lodash/fp/zipObject.js +5 -0
  2872. data/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  2873. data/node_modules/lodash/fp/zipWith.js +5 -0
  2874. data/node_modules/lodash/fromPairs.js +28 -0
  2875. data/node_modules/lodash/function.js +25 -0
  2876. data/node_modules/lodash/functions.js +31 -0
  2877. data/node_modules/lodash/functionsIn.js +31 -0
  2878. data/node_modules/lodash/get.js +33 -0
  2879. data/node_modules/lodash/groupBy.js +41 -0
  2880. data/node_modules/lodash/gt.js +29 -0
  2881. data/node_modules/lodash/gte.js +30 -0
  2882. data/node_modules/lodash/has.js +35 -0
  2883. data/node_modules/lodash/hasIn.js +34 -0
  2884. data/node_modules/lodash/head.js +23 -0
  2885. data/node_modules/lodash/identity.js +21 -0
  2886. data/node_modules/lodash/inRange.js +55 -0
  2887. data/node_modules/lodash/includes.js +53 -0
  2888. data/node_modules/lodash/index.js +1 -0
  2889. data/node_modules/lodash/indexOf.js +42 -0
  2890. data/node_modules/lodash/initial.js +22 -0
  2891. data/node_modules/lodash/intersection.js +30 -0
  2892. data/node_modules/lodash/intersectionBy.js +45 -0
  2893. data/node_modules/lodash/intersectionWith.js +41 -0
  2894. data/node_modules/lodash/invert.js +27 -0
  2895. data/node_modules/lodash/invertBy.js +44 -0
  2896. data/node_modules/lodash/invoke.js +24 -0
  2897. data/node_modules/lodash/invokeMap.js +44 -0
  2898. data/node_modules/lodash/isArguments.js +36 -0
  2899. data/node_modules/lodash/isArray.js +26 -0
  2900. data/node_modules/lodash/isArrayBuffer.js +27 -0
  2901. data/node_modules/lodash/isArrayLike.js +33 -0
  2902. data/node_modules/lodash/isArrayLikeObject.js +33 -0
  2903. data/node_modules/lodash/isBoolean.js +29 -0
  2904. data/node_modules/lodash/isBuffer.js +38 -0
  2905. data/node_modules/lodash/isDate.js +27 -0
  2906. data/node_modules/lodash/isElement.js +25 -0
  2907. data/node_modules/lodash/isEmpty.js +77 -0
  2908. data/node_modules/lodash/isEqual.js +35 -0
  2909. data/node_modules/lodash/isEqualWith.js +41 -0
  2910. data/node_modules/lodash/isError.js +36 -0
  2911. data/node_modules/lodash/isFinite.js +36 -0
  2912. data/node_modules/lodash/isFunction.js +37 -0
  2913. data/node_modules/lodash/isInteger.js +33 -0
  2914. data/node_modules/lodash/isLength.js +35 -0
  2915. data/node_modules/lodash/isMap.js +27 -0
  2916. data/node_modules/lodash/isMatch.js +36 -0
  2917. data/node_modules/lodash/isMatchWith.js +41 -0
  2918. data/node_modules/lodash/isNaN.js +38 -0
  2919. data/node_modules/lodash/isNative.js +40 -0
  2920. data/node_modules/lodash/isNil.js +25 -0
  2921. data/node_modules/lodash/isNull.js +22 -0
  2922. data/node_modules/lodash/isNumber.js +38 -0
  2923. data/node_modules/lodash/isObject.js +31 -0
  2924. data/node_modules/lodash/isObjectLike.js +29 -0
  2925. data/node_modules/lodash/isPlainObject.js +62 -0
  2926. data/node_modules/lodash/isRegExp.js +27 -0
  2927. data/node_modules/lodash/isSafeInteger.js +37 -0
  2928. data/node_modules/lodash/isSet.js +27 -0
  2929. data/node_modules/lodash/isString.js +30 -0
  2930. data/node_modules/lodash/isSymbol.js +29 -0
  2931. data/node_modules/lodash/isTypedArray.js +27 -0
  2932. data/node_modules/lodash/isUndefined.js +22 -0
  2933. data/node_modules/lodash/isWeakMap.js +28 -0
  2934. data/node_modules/lodash/isWeakSet.js +28 -0
  2935. data/node_modules/lodash/iteratee.js +50 -0
  2936. data/node_modules/lodash/join.js +26 -0
  2937. data/node_modules/lodash/kebabCase.js +28 -0
  2938. data/node_modules/lodash/keyBy.js +36 -0
  2939. data/node_modules/lodash/keys.js +37 -0
  2940. data/node_modules/lodash/keysIn.js +32 -0
  2941. data/node_modules/lodash/lang.js +58 -0
  2942. data/node_modules/lodash/last.js +20 -0
  2943. data/node_modules/lodash/lastIndexOf.js +46 -0
  2944. data/node_modules/lodash/lodash.js +17018 -0
  2945. data/node_modules/lodash/lodash.min.js +135 -0
  2946. data/node_modules/lodash/lowerCase.js +27 -0
  2947. data/node_modules/lodash/lowerFirst.js +22 -0
  2948. data/node_modules/lodash/lt.js +29 -0
  2949. data/node_modules/lodash/lte.js +30 -0
  2950. data/node_modules/lodash/map.js +53 -0
  2951. data/node_modules/lodash/mapKeys.js +36 -0
  2952. data/node_modules/lodash/mapValues.js +43 -0
  2953. data/node_modules/lodash/matches.js +36 -0
  2954. data/node_modules/lodash/matchesProperty.js +34 -0
  2955. data/node_modules/lodash/math.js +17 -0
  2956. data/node_modules/lodash/max.js +29 -0
  2957. data/node_modules/lodash/maxBy.js +34 -0
  2958. data/node_modules/lodash/mean.js +22 -0
  2959. data/node_modules/lodash/meanBy.js +31 -0
  2960. data/node_modules/lodash/memoize.js +73 -0
  2961. data/node_modules/lodash/merge.js +39 -0
  2962. data/node_modules/lodash/mergeWith.js +39 -0
  2963. data/node_modules/lodash/method.js +34 -0
  2964. data/node_modules/lodash/methodOf.js +33 -0
  2965. data/node_modules/lodash/min.js +29 -0
  2966. data/node_modules/lodash/minBy.js +34 -0
  2967. data/node_modules/lodash/mixin.js +74 -0
  2968. data/node_modules/lodash/multiply.js +22 -0
  2969. data/node_modules/lodash/negate.js +40 -0
  2970. data/node_modules/lodash/next.js +35 -0
  2971. data/node_modules/lodash/noop.js +17 -0
  2972. data/node_modules/lodash/now.js +23 -0
  2973. data/node_modules/lodash/nth.js +29 -0
  2974. data/node_modules/lodash/nthArg.js +32 -0
  2975. data/node_modules/lodash/number.js +5 -0
  2976. data/node_modules/lodash/object.js +49 -0
  2977. data/node_modules/lodash/omit.js +35 -0
  2978. data/node_modules/lodash/omitBy.js +29 -0
  2979. data/node_modules/lodash/once.js +25 -0
  2980. data/node_modules/lodash/orderBy.js +47 -0
  2981. data/node_modules/lodash/over.js +24 -0
  2982. data/node_modules/lodash/overArgs.js +61 -0
  2983. data/node_modules/lodash/overEvery.js +30 -0
  2984. data/node_modules/lodash/overSome.js +30 -0
  2985. data/node_modules/lodash/package.json +18 -0
  2986. data/node_modules/lodash/pad.js +49 -0
  2987. data/node_modules/lodash/padEnd.js +39 -0
  2988. data/node_modules/lodash/padStart.js +39 -0
  2989. data/node_modules/lodash/parseInt.js +43 -0
  2990. data/node_modules/lodash/partial.js +50 -0
  2991. data/node_modules/lodash/partialRight.js +49 -0
  2992. data/node_modules/lodash/partition.js +43 -0
  2993. data/node_modules/lodash/pick.js +27 -0
  2994. data/node_modules/lodash/pickBy.js +27 -0
  2995. data/node_modules/lodash/plant.js +48 -0
  2996. data/node_modules/lodash/property.js +32 -0
  2997. data/node_modules/lodash/propertyOf.js +30 -0
  2998. data/node_modules/lodash/pull.js +29 -0
  2999. data/node_modules/lodash/pullAll.js +29 -0
  3000. data/node_modules/lodash/pullAllBy.js +33 -0
  3001. data/node_modules/lodash/pullAllWith.js +32 -0
  3002. data/node_modules/lodash/pullAt.js +43 -0
  3003. data/node_modules/lodash/random.js +82 -0
  3004. data/node_modules/lodash/range.js +46 -0
  3005. data/node_modules/lodash/rangeRight.js +41 -0
  3006. data/node_modules/lodash/rearg.js +33 -0
  3007. data/node_modules/lodash/reduce.js +51 -0
  3008. data/node_modules/lodash/reduceRight.js +36 -0
  3009. data/node_modules/lodash/reject.js +46 -0
  3010. data/node_modules/lodash/remove.js +53 -0
  3011. data/node_modules/lodash/repeat.js +37 -0
  3012. data/node_modules/lodash/replace.js +29 -0
  3013. data/node_modules/lodash/rest.js +40 -0
  3014. data/node_modules/lodash/result.js +57 -0
  3015. data/node_modules/lodash/reverse.js +34 -0
  3016. data/node_modules/lodash/round.js +26 -0
  3017. data/node_modules/lodash/sample.js +24 -0
  3018. data/node_modules/lodash/sampleSize.js +37 -0
  3019. data/node_modules/lodash/seq.js +16 -0
  3020. data/node_modules/lodash/set.js +35 -0
  3021. data/node_modules/lodash/setWith.js +32 -0
  3022. data/node_modules/lodash/shuffle.js +25 -0
  3023. data/node_modules/lodash/size.js +46 -0
  3024. data/node_modules/lodash/slice.js +37 -0
  3025. data/node_modules/lodash/snakeCase.js +28 -0
  3026. data/node_modules/lodash/some.js +51 -0
  3027. data/node_modules/lodash/sortBy.js +48 -0
  3028. data/node_modules/lodash/sortedIndex.js +24 -0
  3029. data/node_modules/lodash/sortedIndexBy.js +33 -0
  3030. data/node_modules/lodash/sortedIndexOf.js +31 -0
  3031. data/node_modules/lodash/sortedLastIndex.js +25 -0
  3032. data/node_modules/lodash/sortedLastIndexBy.js +33 -0
  3033. data/node_modules/lodash/sortedLastIndexOf.js +31 -0
  3034. data/node_modules/lodash/sortedUniq.js +24 -0
  3035. data/node_modules/lodash/sortedUniqBy.js +26 -0
  3036. data/node_modules/lodash/split.js +52 -0
  3037. data/node_modules/lodash/spread.js +63 -0
  3038. data/node_modules/lodash/startCase.js +29 -0
  3039. data/node_modules/lodash/startsWith.js +36 -0
  3040. data/node_modules/lodash/string.js +33 -0
  3041. data/node_modules/lodash/stubArray.js +23 -0
  3042. data/node_modules/lodash/stubFalse.js +18 -0
  3043. data/node_modules/lodash/stubObject.js +23 -0
  3044. data/node_modules/lodash/stubString.js +18 -0
  3045. data/node_modules/lodash/stubTrue.js +18 -0
  3046. data/node_modules/lodash/subtract.js +22 -0
  3047. data/node_modules/lodash/sum.js +24 -0
  3048. data/node_modules/lodash/sumBy.js +33 -0
  3049. data/node_modules/lodash/tail.js +22 -0
  3050. data/node_modules/lodash/take.js +37 -0
  3051. data/node_modules/lodash/takeRight.js +39 -0
  3052. data/node_modules/lodash/takeRightWhile.js +45 -0
  3053. data/node_modules/lodash/takeWhile.js +45 -0
  3054. data/node_modules/lodash/tap.js +29 -0
  3055. data/node_modules/lodash/template.js +238 -0
  3056. data/node_modules/lodash/templateSettings.js +67 -0
  3057. data/node_modules/lodash/throttle.js +69 -0
  3058. data/node_modules/lodash/thru.js +28 -0
  3059. data/node_modules/lodash/times.js +51 -0
  3060. data/node_modules/lodash/toArray.js +58 -0
  3061. data/node_modules/lodash/toFinite.js +42 -0
  3062. data/node_modules/lodash/toInteger.js +36 -0
  3063. data/node_modules/lodash/toIterator.js +23 -0
  3064. data/node_modules/lodash/toJSON.js +1 -0
  3065. data/node_modules/lodash/toLength.js +38 -0
  3066. data/node_modules/lodash/toLower.js +28 -0
  3067. data/node_modules/lodash/toNumber.js +66 -0
  3068. data/node_modules/lodash/toPairs.js +30 -0
  3069. data/node_modules/lodash/toPairsIn.js +30 -0
  3070. data/node_modules/lodash/toPath.js +32 -0
  3071. data/node_modules/lodash/toPlainObject.js +32 -0
  3072. data/node_modules/lodash/toSafeInteger.js +35 -0
  3073. data/node_modules/lodash/toString.js +28 -0
  3074. data/node_modules/lodash/toUpper.js +28 -0
  3075. data/node_modules/lodash/transform.js +65 -0
  3076. data/node_modules/lodash/trim.js +49 -0
  3077. data/node_modules/lodash/trimEnd.js +43 -0
  3078. data/node_modules/lodash/trimStart.js +43 -0
  3079. data/node_modules/lodash/truncate.js +111 -0
  3080. data/node_modules/lodash/unary.js +22 -0
  3081. data/node_modules/lodash/unescape.js +34 -0
  3082. data/node_modules/lodash/union.js +26 -0
  3083. data/node_modules/lodash/unionBy.js +39 -0
  3084. data/node_modules/lodash/unionWith.js +34 -0
  3085. data/node_modules/lodash/uniq.js +25 -0
  3086. data/node_modules/lodash/uniqBy.js +31 -0
  3087. data/node_modules/lodash/uniqWith.js +28 -0
  3088. data/node_modules/lodash/uniqueId.js +28 -0
  3089. data/node_modules/lodash/unset.js +34 -0
  3090. data/node_modules/lodash/unzip.js +45 -0
  3091. data/node_modules/lodash/unzipWith.js +39 -0
  3092. data/node_modules/lodash/update.js +35 -0
  3093. data/node_modules/lodash/updateWith.js +33 -0
  3094. data/node_modules/lodash/upperCase.js +27 -0
  3095. data/node_modules/lodash/upperFirst.js +22 -0
  3096. data/node_modules/lodash/util.js +34 -0
  3097. data/node_modules/lodash/value.js +1 -0
  3098. data/node_modules/lodash/valueOf.js +1 -0
  3099. data/node_modules/lodash/values.js +34 -0
  3100. data/node_modules/lodash/valuesIn.js +32 -0
  3101. data/node_modules/lodash/without.js +31 -0
  3102. data/node_modules/lodash/words.js +35 -0
  3103. data/node_modules/lodash/wrap.js +30 -0
  3104. data/node_modules/lodash/wrapperAt.js +48 -0
  3105. data/node_modules/lodash/wrapperChain.js +34 -0
  3106. data/node_modules/lodash/wrapperLodash.js +147 -0
  3107. data/node_modules/lodash/wrapperReverse.js +44 -0
  3108. data/node_modules/lodash/wrapperValue.js +21 -0
  3109. data/node_modules/lodash/xor.js +28 -0
  3110. data/node_modules/lodash/xorBy.js +39 -0
  3111. data/node_modules/lodash/xorWith.js +34 -0
  3112. data/node_modules/lodash/zip.js +22 -0
  3113. data/node_modules/lodash/zipObject.js +24 -0
  3114. data/node_modules/lodash/zipObjectDeep.js +23 -0
  3115. data/node_modules/lodash/zipWith.js +32 -0
  3116. data/node_modules/merge/.npmignore +1 -0
  3117. data/node_modules/merge/LICENSE +21 -0
  3118. data/node_modules/merge/README.md +58 -0
  3119. data/node_modules/merge/bower.json +22 -0
  3120. data/node_modules/merge/merge.js +175 -0
  3121. data/node_modules/merge/merge.min.js +3 -0
  3122. data/node_modules/merge/package.json +24 -0
  3123. data/node_modules/minimatch/LICENSE +15 -0
  3124. data/node_modules/minimatch/README.md +209 -0
  3125. data/node_modules/minimatch/minimatch.js +923 -0
  3126. data/node_modules/minimatch/package.json +29 -0
  3127. data/node_modules/minimist/.travis.yml +8 -0
  3128. data/node_modules/minimist/LICENSE +18 -0
  3129. data/node_modules/minimist/example/parse.js +2 -0
  3130. data/node_modules/minimist/index.js +230 -0
  3131. data/node_modules/minimist/package.json +45 -0
  3132. data/node_modules/minimist/readme.markdown +91 -0
  3133. data/node_modules/minimist/test/all_bool.js +32 -0
  3134. data/node_modules/minimist/test/bool.js +166 -0
  3135. data/node_modules/minimist/test/dash.js +31 -0
  3136. data/node_modules/minimist/test/default_bool.js +35 -0
  3137. data/node_modules/minimist/test/dotted.js +22 -0
  3138. data/node_modules/minimist/test/long.js +31 -0
  3139. data/node_modules/minimist/test/num.js +36 -0
  3140. data/node_modules/minimist/test/parse.js +197 -0
  3141. data/node_modules/minimist/test/parse_modified.js +9 -0
  3142. data/node_modules/minimist/test/short.js +67 -0
  3143. data/node_modules/minimist/test/stop_early.js +15 -0
  3144. data/node_modules/minimist/test/unknown.js +102 -0
  3145. data/node_modules/minimist/test/whitespace.js +8 -0
  3146. data/node_modules/mkdirp/.travis.yml +8 -0
  3147. data/node_modules/mkdirp/LICENSE +21 -0
  3148. data/node_modules/mkdirp/bin/cmd.js +33 -0
  3149. data/node_modules/mkdirp/bin/usage.txt +12 -0
  3150. data/node_modules/mkdirp/examples/pow.js +6 -0
  3151. data/node_modules/mkdirp/index.js +98 -0
  3152. data/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  3153. data/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  3154. data/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  3155. data/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  3156. data/node_modules/mkdirp/node_modules/minimist/package.json +40 -0
  3157. data/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  3158. data/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
  3159. data/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
  3160. data/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
  3161. data/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
  3162. data/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
  3163. data/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
  3164. data/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
  3165. data/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
  3166. data/node_modules/mkdirp/package.json +27 -0
  3167. data/node_modules/mkdirp/readme.markdown +100 -0
  3168. data/node_modules/mkdirp/test/chmod.js +41 -0
  3169. data/node_modules/mkdirp/test/clobber.js +38 -0
  3170. data/node_modules/mkdirp/test/mkdirp.js +28 -0
  3171. data/node_modules/mkdirp/test/opts_fs.js +29 -0
  3172. data/node_modules/mkdirp/test/opts_fs_sync.js +27 -0
  3173. data/node_modules/mkdirp/test/perm.js +32 -0
  3174. data/node_modules/mkdirp/test/perm_sync.js +36 -0
  3175. data/node_modules/mkdirp/test/race.js +37 -0
  3176. data/node_modules/mkdirp/test/rel.js +32 -0
  3177. data/node_modules/mkdirp/test/return.js +25 -0
  3178. data/node_modules/mkdirp/test/return_sync.js +24 -0
  3179. data/node_modules/mkdirp/test/root.js +19 -0
  3180. data/node_modules/mkdirp/test/sync.js +32 -0
  3181. data/node_modules/mkdirp/test/umask.js +28 -0
  3182. data/node_modules/mkdirp/test/umask_sync.js +32 -0
  3183. data/node_modules/ms/LICENSE.md +21 -0
  3184. data/node_modules/ms/README.md +52 -0
  3185. data/node_modules/ms/index.js +149 -0
  3186. data/node_modules/ms/package.json +36 -0
  3187. data/node_modules/mute-stream/LICENSE +15 -0
  3188. data/node_modules/mute-stream/README.md +68 -0
  3189. data/node_modules/mute-stream/mute.js +140 -0
  3190. data/node_modules/mute-stream/package.json +26 -0
  3191. data/node_modules/mute-stream/test/basic.js +207 -0
  3192. data/node_modules/number-is-nan/index.js +4 -0
  3193. data/node_modules/number-is-nan/license +21 -0
  3194. data/node_modules/number-is-nan/package.json +35 -0
  3195. data/node_modules/number-is-nan/readme.md +28 -0
  3196. data/node_modules/object-assign/index.js +90 -0
  3197. data/node_modules/object-assign/license +21 -0
  3198. data/node_modules/object-assign/package.json +42 -0
  3199. data/node_modules/object-assign/readme.md +61 -0
  3200. data/node_modules/once/LICENSE +15 -0
  3201. data/node_modules/once/README.md +79 -0
  3202. data/node_modules/once/once.js +42 -0
  3203. data/node_modules/once/package.json +33 -0
  3204. data/node_modules/onetime/index.js +31 -0
  3205. data/node_modules/onetime/license +21 -0
  3206. data/node_modules/onetime/package.json +33 -0
  3207. data/node_modules/onetime/readme.md +52 -0
  3208. data/node_modules/optionator/CHANGELOG.md +52 -0
  3209. data/node_modules/optionator/LICENSE +22 -0
  3210. data/node_modules/optionator/README.md +236 -0
  3211. data/node_modules/optionator/lib/help.js +247 -0
  3212. data/node_modules/optionator/lib/index.js +465 -0
  3213. data/node_modules/optionator/lib/util.js +54 -0
  3214. data/node_modules/optionator/package.json +44 -0
  3215. data/node_modules/os-homedir/index.js +24 -0
  3216. data/node_modules/os-homedir/license +21 -0
  3217. data/node_modules/os-homedir/package.json +41 -0
  3218. data/node_modules/os-homedir/readme.md +31 -0
  3219. data/node_modules/path-is-absolute/index.js +20 -0
  3220. data/node_modules/path-is-absolute/license +21 -0
  3221. data/node_modules/path-is-absolute/package.json +43 -0
  3222. data/node_modules/path-is-absolute/readme.md +59 -0
  3223. data/node_modules/path-is-inside/LICENSE.txt +47 -0
  3224. data/node_modules/path-is-inside/lib/path-is-inside.js +28 -0
  3225. data/node_modules/path-is-inside/package.json +21 -0
  3226. data/node_modules/pify/index.js +68 -0
  3227. data/node_modules/pify/license +21 -0
  3228. data/node_modules/pify/package.json +48 -0
  3229. data/node_modules/pify/readme.md +119 -0
  3230. data/node_modules/pinkie-promise/index.js +3 -0
  3231. data/node_modules/pinkie-promise/license +21 -0
  3232. data/node_modules/pinkie-promise/package.json +35 -0
  3233. data/node_modules/pinkie-promise/readme.md +28 -0
  3234. data/node_modules/pinkie/index.js +292 -0
  3235. data/node_modules/pinkie/license +21 -0
  3236. data/node_modules/pinkie/package.json +36 -0
  3237. data/node_modules/pinkie/readme.md +83 -0
  3238. data/node_modules/pluralize/LICENSE +21 -0
  3239. data/node_modules/pluralize/Readme.md +78 -0
  3240. data/node_modules/pluralize/package.json +38 -0
  3241. data/node_modules/pluralize/pluralize.js +433 -0
  3242. data/node_modules/prelude-ls/CHANGELOG.md +99 -0
  3243. data/node_modules/prelude-ls/LICENSE +22 -0
  3244. data/node_modules/prelude-ls/README.md +15 -0
  3245. data/node_modules/prelude-ls/lib/Func.js +65 -0
  3246. data/node_modules/prelude-ls/lib/List.js +686 -0
  3247. data/node_modules/prelude-ls/lib/Num.js +130 -0
  3248. data/node_modules/prelude-ls/lib/Obj.js +154 -0
  3249. data/node_modules/prelude-ls/lib/Str.js +92 -0
  3250. data/node_modules/prelude-ls/lib/index.js +178 -0
  3251. data/node_modules/prelude-ls/package.json +52 -0
  3252. data/node_modules/process-nextick-args/.travis.yml +12 -0
  3253. data/node_modules/process-nextick-args/index.js +43 -0
  3254. data/node_modules/process-nextick-args/license.md +19 -0
  3255. data/node_modules/process-nextick-args/package.json +22 -0
  3256. data/node_modules/process-nextick-args/readme.md +18 -0
  3257. data/node_modules/process-nextick-args/test.js +24 -0
  3258. data/node_modules/progress/.npmignore +4 -0
  3259. data/node_modules/progress/History.md +77 -0
  3260. data/node_modules/progress/LICENSE +22 -0
  3261. data/node_modules/progress/Makefile +8 -0
  3262. data/node_modules/progress/Readme.md +103 -0
  3263. data/node_modules/progress/index.js +1 -0
  3264. data/node_modules/progress/lib/node-progress.js +180 -0
  3265. data/node_modules/progress/package.json +21 -0
  3266. data/node_modules/readable-stream/.npmignore +9 -0
  3267. data/node_modules/readable-stream/.travis.yml +49 -0
  3268. data/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  3269. data/node_modules/readable-stream/GOVERNANCE.md +136 -0
  3270. data/node_modules/readable-stream/LICENSE +47 -0
  3271. data/node_modules/readable-stream/README.md +57 -0
  3272. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  3273. data/node_modules/readable-stream/duplex.js +1 -0
  3274. data/node_modules/readable-stream/lib/_stream_duplex.js +75 -0
  3275. data/node_modules/readable-stream/lib/_stream_passthrough.js +26 -0
  3276. data/node_modules/readable-stream/lib/_stream_readable.js +941 -0
  3277. data/node_modules/readable-stream/lib/_stream_transform.js +182 -0
  3278. data/node_modules/readable-stream/lib/_stream_writable.js +551 -0
  3279. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  3280. data/node_modules/readable-stream/node_modules/inherits/LICENSE +16 -0
  3281. data/node_modules/readable-stream/node_modules/inherits/README.md +42 -0
  3282. data/node_modules/readable-stream/node_modules/inherits/inherits.js +7 -0
  3283. data/node_modules/readable-stream/node_modules/inherits/inherits_browser.js +23 -0
  3284. data/node_modules/readable-stream/node_modules/inherits/package.json +29 -0
  3285. data/node_modules/readable-stream/package.json +53 -0
  3286. data/node_modules/readable-stream/passthrough.js +1 -0
  3287. data/node_modules/readable-stream/readable.js +16 -0
  3288. data/node_modules/readable-stream/transform.js +1 -0
  3289. data/node_modules/readable-stream/writable.js +1 -0
  3290. data/node_modules/readline2/README.md +33 -0
  3291. data/node_modules/readline2/index.js +126 -0
  3292. data/node_modules/readline2/package.json +31 -0
  3293. data/node_modules/require-uncached/index.js +29 -0
  3294. data/node_modules/require-uncached/license +21 -0
  3295. data/node_modules/require-uncached/package.json +45 -0
  3296. data/node_modules/require-uncached/readme.md +47 -0
  3297. data/node_modules/resolve-from/index.js +19 -0
  3298. data/node_modules/resolve-from/license +21 -0
  3299. data/node_modules/resolve-from/package.json +34 -0
  3300. data/node_modules/resolve-from/readme.md +56 -0
  3301. data/node_modules/restore-cursor/index.js +9 -0
  3302. data/node_modules/restore-cursor/license +21 -0
  3303. data/node_modules/restore-cursor/package.json +44 -0
  3304. data/node_modules/restore-cursor/readme.md +25 -0
  3305. data/node_modules/rimraf/LICENSE +15 -0
  3306. data/node_modules/rimraf/README.md +101 -0
  3307. data/node_modules/rimraf/bin.js +50 -0
  3308. data/node_modules/rimraf/package.json +26 -0
  3309. data/node_modules/rimraf/rimraf.js +363 -0
  3310. data/node_modules/run-async/.editorconfig +12 -0
  3311. data/node_modules/run-async/.gitattributes +1 -0
  3312. data/node_modules/run-async/.jshintrc +20 -0
  3313. data/node_modules/run-async/.npmignore +1 -0
  3314. data/node_modules/run-async/.travis.yml +3 -0
  3315. data/node_modules/run-async/LICENSE +21 -0
  3316. data/node_modules/run-async/README.md +50 -0
  3317. data/node_modules/run-async/index.js +25 -0
  3318. data/node_modules/run-async/package.json +30 -0
  3319. data/node_modules/run-async/test.js +51 -0
  3320. data/node_modules/rx-lite/package.json +38 -0
  3321. data/node_modules/rx-lite/readme.md +174 -0
  3322. data/node_modules/rx-lite/rx.lite.js +6366 -0
  3323. data/node_modules/rx-lite/rx.lite.map +1 -0
  3324. data/node_modules/rx-lite/rx.lite.min.js +5 -0
  3325. data/node_modules/sass-lint/.editorconfig +21 -0
  3326. data/node_modules/sass-lint/.eslintrc +156 -0
  3327. data/node_modules/sass-lint/.github/ISSUE_TEMPLATE.md +21 -0
  3328. data/node_modules/sass-lint/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  3329. data/node_modules/sass-lint/.npmignore +32 -0
  3330. data/node_modules/sass-lint/.nvmrc +1 -0
  3331. data/node_modules/sass-lint/.travis.yml +9 -0
  3332. data/node_modules/sass-lint/CHANGELOG.md +586 -0
  3333. data/node_modules/sass-lint/CODE_OF_CONDUCT.md +10 -0
  3334. data/node_modules/sass-lint/CONTRIBUTING.md +91 -0
  3335. data/node_modules/sass-lint/LICENSE +22 -0
  3336. data/node_modules/sass-lint/README.md +294 -0
  3337. data/node_modules/sass-lint/appveyor.yml +29 -0
  3338. data/node_modules/sass-lint/bin/sass-lint.js +89 -0
  3339. data/node_modules/sass-lint/data/functions.yml +129 -0
  3340. data/node_modules/sass-lint/data/literals.yml +296 -0
  3341. data/node_modules/sass-lint/data/properties.yml +596 -0
  3342. data/node_modules/sass-lint/data/pseudoClasses.yml +36 -0
  3343. data/node_modules/sass-lint/data/pseudoElements.yml +6 -0
  3344. data/node_modules/sass-lint/docs/cli/readme.md +26 -0
  3345. data/node_modules/sass-lint/docs/options/cache-config.md +7 -0
  3346. data/node_modules/sass-lint/docs/options/config-file.md +71 -0
  3347. data/node_modules/sass-lint/docs/options/formatter.md +7 -0
  3348. data/node_modules/sass-lint/docs/options/max-warnings.md +30 -0
  3349. data/node_modules/sass-lint/docs/options/merge-default-rules.md +89 -0
  3350. data/node_modules/sass-lint/docs/options/output-file.md +3 -0
  3351. data/node_modules/sass-lint/docs/rules/attribute-quotes.md +61 -0
  3352. data/node_modules/sass-lint/docs/rules/bem-depth.md +26 -0
  3353. data/node_modules/sass-lint/docs/rules/border-zero.md +49 -0
  3354. data/node_modules/sass-lint/docs/rules/brace-style.md +104 -0
  3355. data/node_modules/sass-lint/docs/rules/class-name-format.md +281 -0
  3356. data/node_modules/sass-lint/docs/rules/clean-import-paths.md +44 -0
  3357. data/node_modules/sass-lint/docs/rules/declarations-before-nesting.md +29 -0
  3358. data/node_modules/sass-lint/docs/rules/empty-args.md +33 -0
  3359. data/node_modules/sass-lint/docs/rules/empty-line-between-blocks.md +54 -0
  3360. data/node_modules/sass-lint/docs/rules/extends-before-declarations.md +23 -0
  3361. data/node_modules/sass-lint/docs/rules/extends-before-mixins.md +23 -0
  3362. data/node_modules/sass-lint/docs/rules/final-newline.md +28 -0
  3363. data/node_modules/sass-lint/docs/rules/force-attribute-nesting.md +47 -0
  3364. data/node_modules/sass-lint/docs/rules/force-element-nesting.md +47 -0
  3365. data/node_modules/sass-lint/docs/rules/force-pseudo-nesting.md +59 -0
  3366. data/node_modules/sass-lint/docs/rules/function-name-format.md +253 -0
  3367. data/node_modules/sass-lint/docs/rules/hex-length.md +47 -0
  3368. data/node_modules/sass-lint/docs/rules/hex-notation.md +45 -0
  3369. data/node_modules/sass-lint/docs/rules/id-name-format.md +205 -0
  3370. data/node_modules/sass-lint/docs/rules/indentation.md +43 -0
  3371. data/node_modules/sass-lint/docs/rules/leading-zero.md +25 -0
  3372. data/node_modules/sass-lint/docs/rules/max-file-line-count.md +27 -0
  3373. data/node_modules/sass-lint/docs/rules/max-line-length.md +24 -0
  3374. data/node_modules/sass-lint/docs/rules/mixin-name-format.md +255 -0
  3375. data/node_modules/sass-lint/docs/rules/mixins-before-declarations.md +35 -0
  3376. data/node_modules/sass-lint/docs/rules/nesting-depth.md +29 -0
  3377. data/node_modules/sass-lint/docs/rules/no-attribute-selectors.md +37 -0
  3378. data/node_modules/sass-lint/docs/rules/no-color-hex.md +33 -0
  3379. data/node_modules/sass-lint/docs/rules/no-color-keywords.md +26 -0
  3380. data/node_modules/sass-lint/docs/rules/no-color-literals.md +237 -0
  3381. data/node_modules/sass-lint/docs/rules/no-combinators.md +25 -0
  3382. data/node_modules/sass-lint/docs/rules/no-css-comments.md +37 -0
  3383. data/node_modules/sass-lint/docs/rules/no-debug.md +11 -0
  3384. data/node_modules/sass-lint/docs/rules/no-disallowed-properties.md +30 -0
  3385. data/node_modules/sass-lint/docs/rules/no-duplicate-properties.md +51 -0
  3386. data/node_modules/sass-lint/docs/rules/no-empty-rulesets.md +21 -0
  3387. data/node_modules/sass-lint/docs/rules/no-extends.md +15 -0
  3388. data/node_modules/sass-lint/docs/rules/no-ids.md +13 -0
  3389. data/node_modules/sass-lint/docs/rules/no-important.md +13 -0
  3390. data/node_modules/sass-lint/docs/rules/no-invalid-hex.md +34 -0
  3391. data/node_modules/sass-lint/docs/rules/no-mergeable-selectors.md +72 -0
  3392. data/node_modules/sass-lint/docs/rules/no-misspelled-properties.md +71 -0
  3393. data/node_modules/sass-lint/docs/rules/no-qualifying-elements.md +69 -0
  3394. data/node_modules/sass-lint/docs/rules/no-trailing-whitespace.md +21 -0
  3395. data/node_modules/sass-lint/docs/rules/no-trailing-zero.md +25 -0
  3396. data/node_modules/sass-lint/docs/rules/no-transition-all.md +21 -0
  3397. data/node_modules/sass-lint/docs/rules/no-universal-selectors.md +30 -0
  3398. data/node_modules/sass-lint/docs/rules/no-url-domains.md +37 -0
  3399. data/node_modules/sass-lint/docs/rules/no-url-protocols.md +77 -0
  3400. data/node_modules/sass-lint/docs/rules/no-vendor-prefixes.md +126 -0
  3401. data/node_modules/sass-lint/docs/rules/no-warn.md +11 -0
  3402. data/node_modules/sass-lint/docs/rules/one-declaration-per-line.md +24 -0
  3403. data/node_modules/sass-lint/docs/rules/placeholder-in-extend.md +23 -0
  3404. data/node_modules/sass-lint/docs/rules/placeholder-name-format.md +254 -0
  3405. data/node_modules/sass-lint/docs/rules/property-sort-order.md +101 -0
  3406. data/node_modules/sass-lint/docs/rules/property-units.md +49 -0
  3407. data/node_modules/sass-lint/docs/rules/pseudo-element.md +32 -0
  3408. data/node_modules/sass-lint/docs/rules/quotes.md +25 -0
  3409. data/node_modules/sass-lint/docs/rules/shorthand-values.md +91 -0
  3410. data/node_modules/sass-lint/docs/rules/single-line-per-selector.md +22 -0
  3411. data/node_modules/sass-lint/docs/rules/space-after-bang.md +25 -0
  3412. data/node_modules/sass-lint/docs/rules/space-after-colon.md +25 -0
  3413. data/node_modules/sass-lint/docs/rules/space-after-comma.md +29 -0
  3414. data/node_modules/sass-lint/docs/rules/space-around-operator.md +72 -0
  3415. data/node_modules/sass-lint/docs/rules/space-before-bang.md +25 -0
  3416. data/node_modules/sass-lint/docs/rules/space-before-brace.md +41 -0
  3417. data/node_modules/sass-lint/docs/rules/space-before-colon.md +25 -0
  3418. data/node_modules/sass-lint/docs/rules/space-between-parens.md +45 -0
  3419. data/node_modules/sass-lint/docs/rules/trailing-semicolon.md +35 -0
  3420. data/node_modules/sass-lint/docs/rules/url-quotes.md +31 -0
  3421. data/node_modules/sass-lint/docs/rules/variable-for-property.md +84 -0
  3422. data/node_modules/sass-lint/docs/rules/variable-name-format.md +204 -0
  3423. data/node_modules/sass-lint/docs/rules/zero-unit.md +33 -0
  3424. data/node_modules/sass-lint/docs/sass-lint.yml +55 -0
  3425. data/node_modules/sass-lint/docs/toggle-rules-in-src.md +71 -0
  3426. data/node_modules/sass-lint/index.js +325 -0
  3427. data/node_modules/sass-lint/lib/config-helpers.js +107 -0
  3428. data/node_modules/sass-lint/lib/config.js +109 -0
  3429. data/node_modules/sass-lint/lib/config/property-sort-orders/concentric.yml +156 -0
  3430. data/node_modules/sass-lint/lib/config/property-sort-orders/recess.yml +164 -0
  3431. data/node_modules/sass-lint/lib/config/property-sort-orders/smacss.yml +164 -0
  3432. data/node_modules/sass-lint/lib/config/sass-lint.yml +95 -0
  3433. data/node_modules/sass-lint/lib/exceptions.js +19 -0
  3434. data/node_modules/sass-lint/lib/groot.js +44 -0
  3435. data/node_modules/sass-lint/lib/helpers.js +417 -0
  3436. data/node_modules/sass-lint/lib/ruleToggler.js +249 -0
  3437. data/node_modules/sass-lint/lib/rules.js +67 -0
  3438. data/node_modules/sass-lint/lib/rules/attribute-quotes.js +36 -0
  3439. data/node_modules/sass-lint/lib/rules/bem-depth.js +74 -0
  3440. data/node_modules/sass-lint/lib/rules/border-zero.js +66 -0
  3441. data/node_modules/sass-lint/lib/rules/brace-style.js +338 -0
  3442. data/node_modules/sass-lint/lib/rules/class-name-format.js +90 -0
  3443. data/node_modules/sass-lint/lib/rules/clean-import-paths.js +129 -0
  3444. data/node_modules/sass-lint/lib/rules/declarations-before-nesting.js +55 -0
  3445. data/node_modules/sass-lint/lib/rules/empty-args.js +46 -0
  3446. data/node_modules/sass-lint/lib/rules/empty-line-between-blocks.js +200 -0
  3447. data/node_modules/sass-lint/lib/rules/extends-before-declarations.js +48 -0
  3448. data/node_modules/sass-lint/lib/rules/extends-before-mixins.js +47 -0
  3449. data/node_modules/sass-lint/lib/rules/final-newline.js +65 -0
  3450. data/node_modules/sass-lint/lib/rules/force-attribute-nesting.js +52 -0
  3451. data/node_modules/sass-lint/lib/rules/force-element-nesting.js +54 -0
  3452. data/node_modules/sass-lint/lib/rules/force-pseudo-nesting.js +59 -0
  3453. data/node_modules/sass-lint/lib/rules/function-name-format.js +92 -0
  3454. data/node_modules/sass-lint/lib/rules/hex-length.js +48 -0
  3455. data/node_modules/sass-lint/lib/rules/hex-notation.js +42 -0
  3456. data/node_modules/sass-lint/lib/rules/id-name-format.js +80 -0
  3457. data/node_modules/sass-lint/lib/rules/indentation.js +211 -0
  3458. data/node_modules/sass-lint/lib/rules/leading-zero.js +45 -0
  3459. data/node_modules/sass-lint/lib/rules/max-file-line-count.js +25 -0
  3460. data/node_modules/sass-lint/lib/rules/max-line-length.js +32 -0
  3461. data/node_modules/sass-lint/lib/rules/mixin-name-format.js +104 -0
  3462. data/node_modules/sass-lint/lib/rules/mixins-before-declarations.js +53 -0
  3463. data/node_modules/sass-lint/lib/rules/nesting-depth.js +68 -0
  3464. data/node_modules/sass-lint/lib/rules/no-attribute-selectors.js +23 -0
  3465. data/node_modules/sass-lint/lib/rules/no-color-hex.js +22 -0
  3466. data/node_modules/sass-lint/lib/rules/no-color-keywords.js +51 -0
  3467. data/node_modules/sass-lint/lib/rules/no-color-literals.js +212 -0
  3468. data/node_modules/sass-lint/lib/rules/no-combinators.js +57 -0
  3469. data/node_modules/sass-lint/lib/rules/no-css-comments.js +24 -0
  3470. data/node_modules/sass-lint/lib/rules/no-debug.js +27 -0
  3471. data/node_modules/sass-lint/lib/rules/no-disallowed-properties.js +28 -0
  3472. data/node_modules/sass-lint/lib/rules/no-duplicate-properties.js +68 -0
  3473. data/node_modules/sass-lint/lib/rules/no-empty-rulesets.js +45 -0
  3474. data/node_modules/sass-lint/lib/rules/no-extends.js +27 -0
  3475. data/node_modules/sass-lint/lib/rules/no-ids.js +23 -0
  3476. data/node_modules/sass-lint/lib/rules/no-important.js +23 -0
  3477. data/node_modules/sass-lint/lib/rules/no-invalid-hex.js +24 -0
  3478. data/node_modules/sass-lint/lib/rules/no-mergeable-selectors.js +190 -0
  3479. data/node_modules/sass-lint/lib/rules/no-misspelled-properties.js +58 -0
  3480. data/node_modules/sass-lint/lib/rules/no-qualifying-elements.js +53 -0
  3481. data/node_modules/sass-lint/lib/rules/no-trailing-whitespace.js +38 -0
  3482. data/node_modules/sass-lint/lib/rules/no-trailing-zero.js +30 -0
  3483. data/node_modules/sass-lint/lib/rules/no-transition-all.js +41 -0
  3484. data/node_modules/sass-lint/lib/rules/no-universal-selectors.js +27 -0
  3485. data/node_modules/sass-lint/lib/rules/no-url-domains.js +33 -0
  3486. data/node_modules/sass-lint/lib/rules/no-url-protocols.js +41 -0
  3487. data/node_modules/sass-lint/lib/rules/no-vendor-prefixes.js +117 -0
  3488. data/node_modules/sass-lint/lib/rules/no-warn.js +27 -0
  3489. data/node_modules/sass-lint/lib/rules/one-declaration-per-line.js +32 -0
  3490. data/node_modules/sass-lint/lib/rules/placeholder-in-extend.js +40 -0
  3491. data/node_modules/sass-lint/lib/rules/placeholder-name-format.js +82 -0
  3492. data/node_modules/sass-lint/lib/rules/property-sort-order.js +147 -0
  3493. data/node_modules/sass-lint/lib/rules/property-units.js +56 -0
  3494. data/node_modules/sass-lint/lib/rules/pseudo-element.js +77 -0
  3495. data/node_modules/sass-lint/lib/rules/quotes.js +49 -0
  3496. data/node_modules/sass-lint/lib/rules/shorthand-values.js +210 -0
  3497. data/node_modules/sass-lint/lib/rules/single-line-per-selector.js +54 -0
  3498. data/node_modules/sass-lint/lib/rules/space-after-bang.js +39 -0
  3499. data/node_modules/sass-lint/lib/rules/space-after-colon.js +44 -0
  3500. data/node_modules/sass-lint/lib/rules/space-after-comma.js +58 -0
  3501. data/node_modules/sass-lint/lib/rules/space-around-operator.js +326 -0
  3502. data/node_modules/sass-lint/lib/rules/space-before-bang.js +42 -0
  3503. data/node_modules/sass-lint/lib/rules/space-before-brace.js +78 -0
  3504. data/node_modules/sass-lint/lib/rules/space-before-colon.js +44 -0
  3505. data/node_modules/sass-lint/lib/rules/space-between-parens.js +74 -0
  3506. data/node_modules/sass-lint/lib/rules/trailing-semicolon.js +66 -0
  3507. data/node_modules/sass-lint/lib/rules/url-quotes.js +31 -0
  3508. data/node_modules/sass-lint/lib/rules/variable-for-property.js +73 -0
  3509. data/node_modules/sass-lint/lib/rules/variable-name-format.js +83 -0
  3510. data/node_modules/sass-lint/lib/rules/zero-unit.js +66 -0
  3511. data/node_modules/sass-lint/lib/selector-helpers.js +142 -0
  3512. data/node_modules/sass-lint/node_modules/.bin/eslint +1 -0
  3513. data/node_modules/sass-lint/node_modules/.bin/gonzales +1 -0
  3514. data/node_modules/sass-lint/node_modules/.bin/js-yaml +1 -0
  3515. data/node_modules/sass-lint/package.json +52 -0
  3516. data/node_modules/sass-lint/tests/bom-utf8/starts-with-mixin-utf8-bom.scss +5 -0
  3517. data/node_modules/sass-lint/tests/bom-utf8/var-utf8-bom.scss +5 -0
  3518. data/node_modules/sass-lint/tests/cli.js +514 -0
  3519. data/node_modules/sass-lint/tests/cli/cli-clean.scss +5 -0
  3520. data/node_modules/sass-lint/tests/cli/cli-error.sass +2 -0
  3521. data/node_modules/sass-lint/tests/cli/cli-error.scss +3 -0
  3522. data/node_modules/sass-lint/tests/cli/cli.scss +3 -0
  3523. data/node_modules/sass-lint/tests/cli/cli.txt +3 -0
  3524. data/node_modules/sass-lint/tests/config-helpers.js +121 -0
  3525. data/node_modules/sass-lint/tests/config.js +196 -0
  3526. data/node_modules/sass-lint/tests/dir-test/dir.scss/test.scss +3 -0
  3527. data/node_modules/sass-lint/tests/failures.js +90 -0
  3528. data/node_modules/sass-lint/tests/helpers/addUnique.js +75 -0
  3529. data/node_modules/sass-lint/tests/helpers/attemptTraversal.js +78 -0
  3530. data/node_modules/sass-lint/tests/helpers/collectSuffixExtensions.js +123 -0
  3531. data/node_modules/sass-lint/tests/helpers/hasEOL.js +27 -0
  3532. data/node_modules/sass-lint/tests/helpers/helpers.js +18 -0
  3533. data/node_modules/sass-lint/tests/helpers/isCamelCase.js +51 -0
  3534. data/node_modules/sass-lint/tests/helpers/isEmptyLine.js +43 -0
  3535. data/node_modules/sass-lint/tests/helpers/isEqual.js +113 -0
  3536. data/node_modules/sass-lint/tests/helpers/isHyphenatedBEM.js +91 -0
  3537. data/node_modules/sass-lint/tests/helpers/isHyphenatedLowerCase.js +75 -0
  3538. data/node_modules/sass-lint/tests/helpers/isLowerCase.js +43 -0
  3539. data/node_modules/sass-lint/tests/helpers/isNestable.js +35 -0
  3540. data/node_modules/sass-lint/tests/helpers/isNewLine.js +119 -0
  3541. data/node_modules/sass-lint/tests/helpers/isNumber.js +44 -0
  3542. data/node_modules/sass-lint/tests/helpers/isPartialStringMatch.js +59 -0
  3543. data/node_modules/sass-lint/tests/helpers/isPascalCase.js +51 -0
  3544. data/node_modules/sass-lint/tests/helpers/isSnakeCase.js +59 -0
  3545. data/node_modules/sass-lint/tests/helpers/isSpace.js +87 -0
  3546. data/node_modules/sass-lint/tests/helpers/isStrictBEM.js +115 -0
  3547. data/node_modules/sass-lint/tests/helpers/isUnique.js +74 -0
  3548. data/node_modules/sass-lint/tests/helpers/isUpperCase.js +44 -0
  3549. data/node_modules/sass-lint/tests/helpers/isValidHex.js +115 -0
  3550. data/node_modules/sass-lint/tests/helpers/loadConfigFile.js +20 -0
  3551. data/node_modules/sass-lint/tests/helpers/propertySearch.js +51 -0
  3552. data/node_modules/sass-lint/tests/helpers/sortDetects.js +66 -0
  3553. data/node_modules/sass-lint/tests/helpers/stripBom.js +28 -0
  3554. data/node_modules/sass-lint/tests/helpers/stripLastSpace.js +43 -0
  3555. data/node_modules/sass-lint/tests/helpers/stripPrefix.js +51 -0
  3556. data/node_modules/sass-lint/tests/helpers/stripQuotes.js +27 -0
  3557. data/node_modules/sass-lint/tests/main.js +343 -0
  3558. data/node_modules/sass-lint/tests/output.js +78 -0
  3559. data/node_modules/sass-lint/tests/ruleToggler.js +326 -0
  3560. data/node_modules/sass-lint/tests/rules/_lint.js +37 -0
  3561. data/node_modules/sass-lint/tests/rules/attribute-quotes.js +63 -0
  3562. data/node_modules/sass-lint/tests/rules/bem-depth.js +91 -0
  3563. data/node_modules/sass-lint/tests/rules/border-zero.js +121 -0
  3564. data/node_modules/sass-lint/tests/rules/brace-style.js +94 -0
  3565. data/node_modules/sass-lint/tests/rules/class-name-format.js +265 -0
  3566. data/node_modules/sass-lint/tests/rules/clean-import-paths.js +121 -0
  3567. data/node_modules/sass-lint/tests/rules/declarations-before-nesting.js +35 -0
  3568. data/node_modules/sass-lint/tests/rules/empty-args.js +63 -0
  3569. data/node_modules/sass-lint/tests/rules/empty-line-between-blocks.js +266 -0
  3570. data/node_modules/sass-lint/tests/rules/extends-before-declarations.js +35 -0
  3571. data/node_modules/sass-lint/tests/rules/extends-before-mixins.js +35 -0
  3572. data/node_modules/sass-lint/tests/rules/final-newline.js +287 -0
  3573. data/node_modules/sass-lint/tests/rules/force-attribute-nesting.js +35 -0
  3574. data/node_modules/sass-lint/tests/rules/force-element-nesting.js +35 -0
  3575. data/node_modules/sass-lint/tests/rules/force-pseudo-nesting.js +36 -0
  3576. data/node_modules/sass-lint/tests/rules/function-name-format.js +227 -0
  3577. data/node_modules/sass-lint/tests/rules/hex-length.js +63 -0
  3578. data/node_modules/sass-lint/tests/rules/hex-notation.js +63 -0
  3579. data/node_modules/sass-lint/tests/rules/id-name-format.js +209 -0
  3580. data/node_modules/sass-lint/tests/rules/indentation.js +67 -0
  3581. data/node_modules/sass-lint/tests/rules/leading-zero.js +63 -0
  3582. data/node_modules/sass-lint/tests/rules/max-file-line-count.js +63 -0
  3583. data/node_modules/sass-lint/tests/rules/max-line-length.js +63 -0
  3584. data/node_modules/sass-lint/tests/rules/mixin-name-format.js +227 -0
  3585. data/node_modules/sass-lint/tests/rules/mixins-before-declarations.js +120 -0
  3586. data/node_modules/sass-lint/tests/rules/nesting-depth.js +63 -0
  3587. data/node_modules/sass-lint/tests/rules/no-attribute-selectors.js +35 -0
  3588. data/node_modules/sass-lint/tests/rules/no-color-hex.js +35 -0
  3589. data/node_modules/sass-lint/tests/rules/no-color-keywords.js +35 -0
  3590. data/node_modules/sass-lint/tests/rules/no-color-literals.js +151 -0
  3591. data/node_modules/sass-lint/tests/rules/no-combinators.js +35 -0
  3592. data/node_modules/sass-lint/tests/rules/no-css-comments.js +35 -0
  3593. data/node_modules/sass-lint/tests/rules/no-debug.js +35 -0
  3594. data/node_modules/sass-lint/tests/rules/no-disallowed-properties.js +83 -0
  3595. data/node_modules/sass-lint/tests/rules/no-duplicate-properties.js +101 -0
  3596. data/node_modules/sass-lint/tests/rules/no-empty-rulesets.js +19 -0
  3597. data/node_modules/sass-lint/tests/rules/no-extends.js +35 -0
  3598. data/node_modules/sass-lint/tests/rules/no-ids.js +35 -0
  3599. data/node_modules/sass-lint/tests/rules/no-important.js +35 -0
  3600. data/node_modules/sass-lint/tests/rules/no-invalid-hex.js +35 -0
  3601. data/node_modules/sass-lint/tests/rules/no-mergeable-selectors.js +64 -0
  3602. data/node_modules/sass-lint/tests/rules/no-misspelled-properties.js +101 -0
  3603. data/node_modules/sass-lint/tests/rules/no-qualifying-elements.js +181 -0
  3604. data/node_modules/sass-lint/tests/rules/no-trailing-whitespace.js +35 -0
  3605. data/node_modules/sass-lint/tests/rules/no-trailing-zero.js +35 -0
  3606. data/node_modules/sass-lint/tests/rules/no-transition-all.js +35 -0
  3607. data/node_modules/sass-lint/tests/rules/no-universal-selectors.js +35 -0
  3608. data/node_modules/sass-lint/tests/rules/no-url-domains.js +35 -0
  3609. data/node_modules/sass-lint/tests/rules/no-url-protocols.js +64 -0
  3610. data/node_modules/sass-lint/tests/rules/no-vendor-prefixes.js +241 -0
  3611. data/node_modules/sass-lint/tests/rules/no-warn.js +35 -0
  3612. data/node_modules/sass-lint/tests/rules/one-declaration-per-line.js +19 -0
  3613. data/node_modules/sass-lint/tests/rules/placeholder-in-extend.js +35 -0
  3614. data/node_modules/sass-lint/tests/rules/placeholder-name-format.js +235 -0
  3615. data/node_modules/sass-lint/tests/rules/property-sort-order.js +267 -0
  3616. data/node_modules/sass-lint/tests/rules/property-units.js +205 -0
  3617. data/node_modules/sass-lint/tests/rules/pseudo-element.js +73 -0
  3618. data/node_modules/sass-lint/tests/rules/quotes.js +63 -0
  3619. data/node_modules/sass-lint/tests/rules/shorthand-values.js +300 -0
  3620. data/node_modules/sass-lint/tests/rules/single-line-per-selector.js +35 -0
  3621. data/node_modules/sass-lint/tests/rules/space-after-bang.js +63 -0
  3622. data/node_modules/sass-lint/tests/rules/space-after-colon.js +63 -0
  3623. data/node_modules/sass-lint/tests/rules/space-after-comma.js +63 -0
  3624. data/node_modules/sass-lint/tests/rules/space-around-operator.js +63 -0
  3625. data/node_modules/sass-lint/tests/rules/space-before-bang.js +63 -0
  3626. data/node_modules/sass-lint/tests/rules/space-before-brace.js +33 -0
  3627. data/node_modules/sass-lint/tests/rules/space-before-colon.js +63 -0
  3628. data/node_modules/sass-lint/tests/rules/space-between-parens.js +63 -0
  3629. data/node_modules/sass-lint/tests/rules/trailing-semicolon.js +33 -0
  3630. data/node_modules/sass-lint/tests/rules/url-quotes.js +35 -0
  3631. data/node_modules/sass-lint/tests/rules/variable-for-property.js +103 -0
  3632. data/node_modules/sass-lint/tests/rules/variable-name-format.js +235 -0
  3633. data/node_modules/sass-lint/tests/rules/zero-unit.js +63 -0
  3634. data/node_modules/sass-lint/tests/sass/attribute-quotes.sass +62 -0
  3635. data/node_modules/sass-lint/tests/sass/attribute-quotes.scss +75 -0
  3636. data/node_modules/sass-lint/tests/sass/bem-depth.sass +35 -0
  3637. data/node_modules/sass-lint/tests/sass/bem-depth.scss +55 -0
  3638. data/node_modules/sass-lint/tests/sass/border-zero.sass +22 -0
  3639. data/node_modules/sass-lint/tests/sass/border-zero.scss +29 -0
  3640. data/node_modules/sass-lint/tests/sass/brace-style.scss +540 -0
  3641. data/node_modules/sass-lint/tests/sass/class-name-format.sass +96 -0
  3642. data/node_modules/sass-lint/tests/sass/class-name-format.scss +135 -0
  3643. data/node_modules/sass-lint/tests/sass/clean-import-paths.sass +26 -0
  3644. data/node_modules/sass-lint/tests/sass/clean-import-paths.scss +30 -0
  3645. data/node_modules/sass-lint/tests/sass/declarations-before-nesting.sass +34 -0
  3646. data/node_modules/sass-lint/tests/sass/declarations-before-nesting.scss +44 -0
  3647. data/node_modules/sass-lint/tests/sass/empty-args.sass +42 -0
  3648. data/node_modules/sass-lint/tests/sass/empty-args.scss +43 -0
  3649. data/node_modules/sass-lint/tests/sass/empty-file.sass +0 -0
  3650. data/node_modules/sass-lint/tests/sass/empty-file.scss +0 -0
  3651. data/node_modules/sass-lint/tests/sass/empty-line-between-blocks.sass +90 -0
  3652. data/node_modules/sass-lint/tests/sass/empty-line-between-blocks.scss +113 -0
  3653. data/node_modules/sass-lint/tests/sass/empty-line-with-comments.sass +185 -0
  3654. data/node_modules/sass-lint/tests/sass/empty-line-with-comments.scss +228 -0
  3655. data/node_modules/sass-lint/tests/sass/extends-before-declarations.sass +34 -0
  3656. data/node_modules/sass-lint/tests/sass/extends-before-declarations.scss +35 -0
  3657. data/node_modules/sass-lint/tests/sass/extends-before-mixins.sass +15 -0
  3658. data/node_modules/sass-lint/tests/sass/extends-before-mixins.scss +15 -0
  3659. data/node_modules/sass-lint/tests/sass/final-newline--import.sass +1 -0
  3660. data/node_modules/sass-lint/tests/sass/final-newline--import.scss +1 -0
  3661. data/node_modules/sass-lint/tests/sass/final-newline--nested.sass +3 -0
  3662. data/node_modules/sass-lint/tests/sass/final-newline--nested.scss +5 -0
  3663. data/node_modules/sass-lint/tests/sass/final-newline--none.sass +2 -0
  3664. data/node_modules/sass-lint/tests/sass/final-newline--none.scss +3 -0
  3665. data/node_modules/sass-lint/tests/sass/final-newline--return.sass +2 -0
  3666. data/node_modules/sass-lint/tests/sass/final-newline--return.scss +3 -0
  3667. data/node_modules/sass-lint/tests/sass/final-newline--space.sass +2 -0
  3668. data/node_modules/sass-lint/tests/sass/final-newline--space.scss +3 -0
  3669. data/node_modules/sass-lint/tests/sass/force-attribute-nesting.sass +25 -0
  3670. data/node_modules/sass-lint/tests/sass/force-attribute-nesting.scss +34 -0
  3671. data/node_modules/sass-lint/tests/sass/force-element-nesting.sass +56 -0
  3672. data/node_modules/sass-lint/tests/sass/force-element-nesting.scss +76 -0
  3673. data/node_modules/sass-lint/tests/sass/force-pseudo-nesting.sass +41 -0
  3674. data/node_modules/sass-lint/tests/sass/force-pseudo-nesting.scss +61 -0
  3675. data/node_modules/sass-lint/tests/sass/front-matter/front-matter.scss +7 -0
  3676. data/node_modules/sass-lint/tests/sass/function-name-format.sass +57 -0
  3677. data/node_modules/sass-lint/tests/sass/function-name-format.scss +74 -0
  3678. data/node_modules/sass-lint/tests/sass/hex-length.sass +28 -0
  3679. data/node_modules/sass-lint/tests/sass/hex-length.scss +28 -0
  3680. data/node_modules/sass-lint/tests/sass/hex-notation.sass +31 -0
  3681. data/node_modules/sass-lint/tests/sass/hex-notation.scss +33 -0
  3682. data/node_modules/sass-lint/tests/sass/id-name-format.sass +44 -0
  3683. data/node_modules/sass-lint/tests/sass/id-name-format.scss +58 -0
  3684. data/node_modules/sass-lint/tests/sass/indentation/indentation-spaces.sass +107 -0
  3685. data/node_modules/sass-lint/tests/sass/indentation/indentation-spaces.scss +175 -0
  3686. data/node_modules/sass-lint/tests/sass/indentation/indentation-tabs.sass +107 -0
  3687. data/node_modules/sass-lint/tests/sass/indentation/indentation-tabs.scss +175 -0
  3688. data/node_modules/sass-lint/tests/sass/leading-zero.sass +8 -0
  3689. data/node_modules/sass-lint/tests/sass/leading-zero.scss +9 -0
  3690. data/node_modules/sass-lint/tests/sass/max-file-line-count.sass +301 -0
  3691. data/node_modules/sass-lint/tests/sass/max-file-line-count.scss +301 -0
  3692. data/node_modules/sass-lint/tests/sass/max-line-length.sass +20 -0
  3693. data/node_modules/sass-lint/tests/sass/max-line-length.scss +22 -0
  3694. data/node_modules/sass-lint/tests/sass/mixin-name-format.sass +74 -0
  3695. data/node_modules/sass-lint/tests/sass/mixin-name-format.scss +91 -0
  3696. data/node_modules/sass-lint/tests/sass/mixins-before-declarations.sass +69 -0
  3697. data/node_modules/sass-lint/tests/sass/mixins-before-declarations.scss +77 -0
  3698. data/node_modules/sass-lint/tests/sass/nesting-depth.sass +29 -0
  3699. data/node_modules/sass-lint/tests/sass/nesting-depth.scss +39 -0
  3700. data/node_modules/sass-lint/tests/sass/no-attribute-selectors.sass +77 -0
  3701. data/node_modules/sass-lint/tests/sass/no-attribute-selectors.scss +98 -0
  3702. data/node_modules/sass-lint/tests/sass/no-color-hex.sass +25 -0
  3703. data/node_modules/sass-lint/tests/sass/no-color-hex.scss +26 -0
  3704. data/node_modules/sass-lint/tests/sass/no-color-keywords.sass +33 -0
  3705. data/node_modules/sass-lint/tests/sass/no-color-keywords.scss +44 -0
  3706. data/node_modules/sass-lint/tests/sass/no-color-literals.sass +115 -0
  3707. data/node_modules/sass-lint/tests/sass/no-color-literals.scss +124 -0
  3708. data/node_modules/sass-lint/tests/sass/no-combinators.sass +115 -0
  3709. data/node_modules/sass-lint/tests/sass/no-combinators.scss +155 -0
  3710. data/node_modules/sass-lint/tests/sass/no-css-comments.sass +58 -0
  3711. data/node_modules/sass-lint/tests/sass/no-css-comments.scss +59 -0
  3712. data/node_modules/sass-lint/tests/sass/no-debug.sass +8 -0
  3713. data/node_modules/sass-lint/tests/sass/no-debug.scss +9 -0
  3714. data/node_modules/sass-lint/tests/sass/no-disallowed-properties.sass +25 -0
  3715. data/node_modules/sass-lint/tests/sass/no-disallowed-properties.scss +36 -0
  3716. data/node_modules/sass-lint/tests/sass/no-duplicate-properties.sass +47 -0
  3717. data/node_modules/sass-lint/tests/sass/no-duplicate-properties.scss +56 -0
  3718. data/node_modules/sass-lint/tests/sass/no-empty-rulesets.scss +11 -0
  3719. data/node_modules/sass-lint/tests/sass/no-extends.sass +7 -0
  3720. data/node_modules/sass-lint/tests/sass/no-extends.scss +8 -0
  3721. data/node_modules/sass-lint/tests/sass/no-ids.sass +6 -0
  3722. data/node_modules/sass-lint/tests/sass/no-ids.scss +7 -0
  3723. data/node_modules/sass-lint/tests/sass/no-important.sass +2 -0
  3724. data/node_modules/sass-lint/tests/sass/no-important.scss +3 -0
  3725. data/node_modules/sass-lint/tests/sass/no-invalid-hex.sass +45 -0
  3726. data/node_modules/sass-lint/tests/sass/no-invalid-hex.scss +52 -0
  3727. data/node_modules/sass-lint/tests/sass/no-mergeable-selectors.sass +253 -0
  3728. data/node_modules/sass-lint/tests/sass/no-mergeable-selectors.scss +362 -0
  3729. data/node_modules/sass-lint/tests/sass/no-misspelled-properties.sass +48 -0
  3730. data/node_modules/sass-lint/tests/sass/no-misspelled-properties.scss +65 -0
  3731. data/node_modules/sass-lint/tests/sass/no-qualifying-elements.sass +42 -0
  3732. data/node_modules/sass-lint/tests/sass/no-qualifying-elements.scss +43 -0
  3733. data/node_modules/sass-lint/tests/sass/no-trailing-whitespace.sass +24 -0
  3734. data/node_modules/sass-lint/tests/sass/no-trailing-whitespace.scss +29 -0
  3735. data/node_modules/sass-lint/tests/sass/no-trailing-zero.sass +41 -0
  3736. data/node_modules/sass-lint/tests/sass/no-trailing-zero.scss +47 -0
  3737. data/node_modules/sass-lint/tests/sass/no-transition-all.sass +25 -0
  3738. data/node_modules/sass-lint/tests/sass/no-transition-all.scss +31 -0
  3739. data/node_modules/sass-lint/tests/sass/no-universal-selectors.sass +15 -0
  3740. data/node_modules/sass-lint/tests/sass/no-universal-selectors.scss +20 -0
  3741. data/node_modules/sass-lint/tests/sass/no-url-domains.sass +25 -0
  3742. data/node_modules/sass-lint/tests/sass/no-url-domains.scss +27 -0
  3743. data/node_modules/sass-lint/tests/sass/no-url-protocols.sass +25 -0
  3744. data/node_modules/sass-lint/tests/sass/no-url-protocols.scss +27 -0
  3745. data/node_modules/sass-lint/tests/sass/no-vendor-prefixes.sass +38 -0
  3746. data/node_modules/sass-lint/tests/sass/no-vendor-prefixes.scss +41 -0
  3747. data/node_modules/sass-lint/tests/sass/no-warn.sass +8 -0
  3748. data/node_modules/sass-lint/tests/sass/no-warn.scss +9 -0
  3749. data/node_modules/sass-lint/tests/sass/one-declaration-per-line.scss +25 -0
  3750. data/node_modules/sass-lint/tests/sass/parse.scss +7 -0
  3751. data/node_modules/sass-lint/tests/sass/placeholder-in-extend.sass +3 -0
  3752. data/node_modules/sass-lint/tests/sass/placeholder-in-extend.scss +5 -0
  3753. data/node_modules/sass-lint/tests/sass/placeholder-name-format.sass +58 -0
  3754. data/node_modules/sass-lint/tests/sass/placeholder-name-format.scss +77 -0
  3755. data/node_modules/sass-lint/tests/sass/property-sort-order.sass +51 -0
  3756. data/node_modules/sass-lint/tests/sass/property-sort-order.scss +55 -0
  3757. data/node_modules/sass-lint/tests/sass/property-units.sass +24 -0
  3758. data/node_modules/sass-lint/tests/sass/property-units.scss +37 -0
  3759. data/node_modules/sass-lint/tests/sass/pseudo-element.sass +236 -0
  3760. data/node_modules/sass-lint/tests/sass/pseudo-element.scss +238 -0
  3761. data/node_modules/sass-lint/tests/sass/quotes.sass +14 -0
  3762. data/node_modules/sass-lint/tests/sass/quotes.scss +15 -0
  3763. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-block.sass +2 -0
  3764. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-block.scss +3 -0
  3765. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-line.sass +2 -0
  3766. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-line.scss +3 -0
  3767. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-rule.sass +1 -0
  3768. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-a-rule.scss +1 -0
  3769. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-all-then-reenable.sass +3 -0
  3770. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-all-then-reenable.scss +3 -0
  3771. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-all.sass +1 -0
  3772. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-all.scss +1 -0
  3773. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-multiple-rules.sass +1 -0
  3774. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-multiple-rules.scss +1 -0
  3775. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-then-enable.sass +5 -0
  3776. data/node_modules/sass-lint/tests/sass/ruleToggler-disable-then-enable.scss +6 -0
  3777. data/node_modules/sass-lint/tests/sass/ruleToggler-empty-comment.sass +2 -0
  3778. data/node_modules/sass-lint/tests/sass/ruleToggler-empty-comment.scss +3 -0
  3779. data/node_modules/sass-lint/tests/sass/ruleToggler-guarantee-order.sass +17 -0
  3780. data/node_modules/sass-lint/tests/sass/ruleToggler-guarantee-order.scss +17 -0
  3781. data/node_modules/sass-lint/tests/sass/ruleToggler-ignore-unknown.sass +2 -0
  3782. data/node_modules/sass-lint/tests/sass/ruleToggler-ignore-unknown.scss +3 -0
  3783. data/node_modules/sass-lint/tests/sass/selector-helpers/selector-helpers.scss +68 -0
  3784. data/node_modules/sass-lint/tests/sass/shorthand-values.sass +314 -0
  3785. data/node_modules/sass-lint/tests/sass/shorthand-values.scss +380 -0
  3786. data/node_modules/sass-lint/tests/sass/single-line-per-selector.sass +59 -0
  3787. data/node_modules/sass-lint/tests/sass/single-line-per-selector.scss +66 -0
  3788. data/node_modules/sass-lint/tests/sass/space-after-bang.sass +52 -0
  3789. data/node_modules/sass-lint/tests/sass/space-after-bang.scss +56 -0
  3790. data/node_modules/sass-lint/tests/sass/space-after-colon.sass +16 -0
  3791. data/node_modules/sass-lint/tests/sass/space-after-colon.scss +16 -0
  3792. data/node_modules/sass-lint/tests/sass/space-after-comma.sass +49 -0
  3793. data/node_modules/sass-lint/tests/sass/space-after-comma.scss +50 -0
  3794. data/node_modules/sass-lint/tests/sass/space-around-operator.sass +512 -0
  3795. data/node_modules/sass-lint/tests/sass/space-around-operator.scss +540 -0
  3796. data/node_modules/sass-lint/tests/sass/space-before-bang.sass +27 -0
  3797. data/node_modules/sass-lint/tests/sass/space-before-bang.scss +27 -0
  3798. data/node_modules/sass-lint/tests/sass/space-before-brace.scss +56 -0
  3799. data/node_modules/sass-lint/tests/sass/space-before-colon.sass +16 -0
  3800. data/node_modules/sass-lint/tests/sass/space-before-colon.scss +16 -0
  3801. data/node_modules/sass-lint/tests/sass/space-between-parens.sass +46 -0
  3802. data/node_modules/sass-lint/tests/sass/space-between-parens.scss +47 -0
  3803. data/node_modules/sass-lint/tests/sass/success.scss +3 -0
  3804. data/node_modules/sass-lint/tests/sass/trailing-semicolon.scss +40 -0
  3805. data/node_modules/sass-lint/tests/sass/url-quotes.sass +20 -0
  3806. data/node_modules/sass-lint/tests/sass/url-quotes.scss +21 -0
  3807. data/node_modules/sass-lint/tests/sass/variable-for-property.sass +37 -0
  3808. data/node_modules/sass-lint/tests/sass/variable-for-property.scss +41 -0
  3809. data/node_modules/sass-lint/tests/sass/variable-name-format.sass +25 -0
  3810. data/node_modules/sass-lint/tests/sass/variable-name-format.scss +27 -0
  3811. data/node_modules/sass-lint/tests/sass/zero-unit.sass +23 -0
  3812. data/node_modules/sass-lint/tests/sass/zero-unit.scss +25 -0
  3813. data/node_modules/sass-lint/tests/selector-helpers/selectorHelpers.js +137 -0
  3814. data/node_modules/sass-lint/tests/testFile.txt +1 -0
  3815. data/node_modules/sass-lint/tests/yml/.blank.yml +0 -0
  3816. data/node_modules/sass-lint/tests/yml/.color-keyword-errors.yml +59 -0
  3817. data/node_modules/sass-lint/tests/yml/.error-output.yml +9 -0
  3818. data/node_modules/sass-lint/tests/yml/.extend-a1.yml +4 -0
  3819. data/node_modules/sass-lint/tests/yml/.extend-a2.yml +4 -0
  3820. data/node_modules/sass-lint/tests/yml/.ignore-file.yml +9 -0
  3821. data/node_modules/sass-lint/tests/yml/.indentation-error.yml +2 -0
  3822. data/node_modules/sass-lint/tests/yml/.indentation-warn.yml +2 -0
  3823. data/node_modules/sass-lint/tests/yml/.json-lint.yml +59 -0
  3824. data/node_modules/sass-lint/tests/yml/.max-0-warnings.yml +2 -0
  3825. data/node_modules/sass-lint/tests/yml/.max-10-warnings.yml +2 -0
  3826. data/node_modules/sass-lint/tests/yml/.max-100-warnings.yml +2 -0
  3827. data/node_modules/sass-lint/tests/yml/.multiple-ignore-strings.yml +60 -0
  3828. data/node_modules/sass-lint/tests/yml/.multiple-ignores.yml +64 -0
  3829. data/node_modules/sass-lint/tests/yml/.multiple-inputs.yml +61 -0
  3830. data/node_modules/sass-lint/tests/yml/.no-merge-default.yml +59 -0
  3831. data/node_modules/sass-lint/tests/yml/.single-input-include-string.yml +59 -0
  3832. data/node_modules/sass-lint/tests/yml/.stylish-errors.yml +59 -0
  3833. data/node_modules/sass-lint/tests/yml/.stylish-output.yml +58 -0
  3834. data/node_modules/sass-lint/tests/yml/extend/.extend-b.yml +5 -0
  3835. data/node_modules/sass-lint/tests/yml/extend/.extend-c.yml +3 -0
  3836. data/node_modules/sass-lint/tests/yml/extend/find-file-test/.npmignore +0 -0
  3837. data/node_modules/shelljs/.npmignore +9 -0
  3838. data/node_modules/shelljs/LICENSE +26 -0
  3839. data/node_modules/shelljs/MAINTAINERS +3 -0
  3840. data/node_modules/shelljs/README.md +658 -0
  3841. data/node_modules/shelljs/bin/shjs +55 -0
  3842. data/node_modules/shelljs/global.js +3 -0
  3843. data/node_modules/shelljs/make.js +57 -0
  3844. data/node_modules/shelljs/package.json +40 -0
  3845. data/node_modules/shelljs/scripts/generate-docs.js +26 -0
  3846. data/node_modules/shelljs/scripts/run-tests.js +55 -0
  3847. data/node_modules/shelljs/shell.js +184 -0
  3848. data/node_modules/shelljs/src/cat.js +40 -0
  3849. data/node_modules/shelljs/src/cd.js +28 -0
  3850. data/node_modules/shelljs/src/chmod.js +215 -0
  3851. data/node_modules/shelljs/src/common.js +257 -0
  3852. data/node_modules/shelljs/src/cp.js +210 -0
  3853. data/node_modules/shelljs/src/dirs.js +191 -0
  3854. data/node_modules/shelljs/src/echo.js +20 -0
  3855. data/node_modules/shelljs/src/error.js +10 -0
  3856. data/node_modules/shelljs/src/exec.js +249 -0
  3857. data/node_modules/shelljs/src/find.js +51 -0
  3858. data/node_modules/shelljs/src/grep.js +52 -0
  3859. data/node_modules/shelljs/src/ln.js +69 -0
  3860. data/node_modules/shelljs/src/ls.js +168 -0
  3861. data/node_modules/shelljs/src/mkdir.js +68 -0
  3862. data/node_modules/shelljs/src/mv.js +82 -0
  3863. data/node_modules/shelljs/src/popd.js +1 -0
  3864. data/node_modules/shelljs/src/pushd.js +1 -0
  3865. data/node_modules/shelljs/src/pwd.js +11 -0
  3866. data/node_modules/shelljs/src/rm.js +163 -0
  3867. data/node_modules/shelljs/src/sed.js +64 -0
  3868. data/node_modules/shelljs/src/set.js +49 -0
  3869. data/node_modules/shelljs/src/tempdir.js +57 -0
  3870. data/node_modules/shelljs/src/test.js +85 -0
  3871. data/node_modules/shelljs/src/to.js +30 -0
  3872. data/node_modules/shelljs/src/toEnd.js +30 -0
  3873. data/node_modules/shelljs/src/touch.js +109 -0
  3874. data/node_modules/shelljs/src/which.js +98 -0
  3875. data/node_modules/slice-ansi/index.js +80 -0
  3876. data/node_modules/slice-ansi/license +22 -0
  3877. data/node_modules/slice-ansi/package.json +56 -0
  3878. data/node_modules/slice-ansi/readme.md +56 -0
  3879. data/node_modules/sprintf-js/.npmignore +1 -0
  3880. data/node_modules/sprintf-js/LICENSE +24 -0
  3881. data/node_modules/sprintf-js/README.md +88 -0
  3882. data/node_modules/sprintf-js/bower.json +14 -0
  3883. data/node_modules/sprintf-js/demo/angular.html +20 -0
  3884. data/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  3885. data/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  3886. data/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  3887. data/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  3888. data/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  3889. data/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  3890. data/node_modules/sprintf-js/gruntfile.js +36 -0
  3891. data/node_modules/sprintf-js/package.json +22 -0
  3892. data/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  3893. data/node_modules/sprintf-js/src/sprintf.js +208 -0
  3894. data/node_modules/sprintf-js/test/test.js +82 -0
  3895. data/node_modules/string-width/index.js +37 -0
  3896. data/node_modules/string-width/license +21 -0
  3897. data/node_modules/string-width/package.json +56 -0
  3898. data/node_modules/string-width/readme.md +42 -0
  3899. data/node_modules/string_decoder/.npmignore +2 -0
  3900. data/node_modules/string_decoder/LICENSE +20 -0
  3901. data/node_modules/string_decoder/README.md +7 -0
  3902. data/node_modules/string_decoder/index.js +221 -0
  3903. data/node_modules/string_decoder/package.json +25 -0
  3904. data/node_modules/strip-ansi/index.js +6 -0
  3905. data/node_modules/strip-ansi/license +21 -0
  3906. data/node_modules/strip-ansi/package.json +57 -0
  3907. data/node_modules/strip-ansi/readme.md +33 -0
  3908. data/node_modules/strip-json-comments/cli.js +41 -0
  3909. data/node_modules/strip-json-comments/license +21 -0
  3910. data/node_modules/strip-json-comments/package.json +46 -0
  3911. data/node_modules/strip-json-comments/readme.md +80 -0
  3912. data/node_modules/strip-json-comments/strip-json-comments.js +73 -0
  3913. data/node_modules/supports-color/index.js +50 -0
  3914. data/node_modules/supports-color/license +21 -0
  3915. data/node_modules/supports-color/package.json +49 -0
  3916. data/node_modules/supports-color/readme.md +36 -0
  3917. data/node_modules/table/LICENSE +24 -0
  3918. data/node_modules/table/README.md +652 -0
  3919. data/node_modules/table/dist/alignString.js +108 -0
  3920. data/node_modules/table/dist/alignTableData.js +40 -0
  3921. data/node_modules/table/dist/calculateCellHeight.js +49 -0
  3922. data/node_modules/table/dist/calculateCellWidthIndex.js +29 -0
  3923. data/node_modules/table/dist/calculateMaximumColumnWidthIndex.js +43 -0
  3924. data/node_modules/table/dist/calculateRowHeightIndex.js +50 -0
  3925. data/node_modules/table/dist/createStream.js +159 -0
  3926. data/node_modules/table/dist/drawBorder.js +104 -0
  3927. data/node_modules/table/dist/drawRow.js +23 -0
  3928. data/node_modules/table/dist/drawTable.js +63 -0
  3929. data/node_modules/table/dist/getBorderCharacters.js +128 -0
  3930. data/node_modules/table/dist/index.js +24 -0
  3931. data/node_modules/table/dist/makeConfig.js +101 -0
  3932. data/node_modules/table/dist/makeStreamConfig.js +109 -0
  3933. data/node_modules/table/dist/mapDataUsingRowHeightIndex.js +59 -0
  3934. data/node_modules/table/dist/padTableData.js +28 -0
  3935. data/node_modules/table/dist/schemas/config.json +114 -0
  3936. data/node_modules/table/dist/schemas/streamConfig.json +114 -0
  3937. data/node_modules/table/dist/stringifyTableData.js +25 -0
  3938. data/node_modules/table/dist/table.js +135 -0
  3939. data/node_modules/table/dist/truncateTableData.js +29 -0
  3940. data/node_modules/table/dist/validateConfig.js +756 -0
  3941. data/node_modules/table/dist/validateStreamConfig.js +742 -0
  3942. data/node_modules/table/dist/validateTableData.js +59 -0
  3943. data/node_modules/table/dist/wrapString.js +48 -0
  3944. data/node_modules/table/dist/wrapWord.js +58 -0
  3945. data/node_modules/table/node_modules/is-fullwidth-code-point/index.js +46 -0
  3946. data/node_modules/table/node_modules/is-fullwidth-code-point/license +21 -0
  3947. data/node_modules/table/node_modules/is-fullwidth-code-point/package.json +45 -0
  3948. data/node_modules/table/node_modules/is-fullwidth-code-point/readme.md +39 -0
  3949. data/node_modules/table/node_modules/string-width/index.js +35 -0
  3950. data/node_modules/table/node_modules/string-width/license +21 -0
  3951. data/node_modules/table/node_modules/string-width/package.json +58 -0
  3952. data/node_modules/table/node_modules/string-width/readme.md +42 -0
  3953. data/node_modules/table/package.json +69 -0
  3954. data/node_modules/table/test/README/usage/basic.js +25 -0
  3955. data/node_modules/table/test/README/usage/cell_content_alignment.js +45 -0
  3956. data/node_modules/table/test/README/usage/column_width.js +33 -0
  3957. data/node_modules/table/test/README/usage/custom_border.js +50 -0
  3958. data/node_modules/table/test/README/usage/draw_horizontal_line.js +41 -0
  3959. data/node_modules/table/test/README/usage/expectTable.js +13 -0
  3960. data/node_modules/table/test/README/usage/moon_mission.js +67 -0
  3961. data/node_modules/table/test/README/usage/padding_cell_content.js +39 -0
  3962. data/node_modules/table/test/README/usage/predefined_border_templates.js +91 -0
  3963. data/node_modules/table/test/README/usage/streaming.js +56 -0
  3964. data/node_modules/table/test/README/usage/text_truncating.js +32 -0
  3965. data/node_modules/table/test/README/usage/text_wrapping.js +67 -0
  3966. data/node_modules/table/test/alignString.js +102 -0
  3967. data/node_modules/table/test/calculateCellHeight.js +44 -0
  3968. data/node_modules/table/test/calculateCellWidthIndex.js +20 -0
  3969. data/node_modules/table/test/calculateMaximumColumnWidthIndex.js +59 -0
  3970. data/node_modules/table/test/calculateRowHeightIndex.js +78 -0
  3971. data/node_modules/table/test/config.js +43 -0
  3972. data/node_modules/table/test/configSamples.js +153 -0
  3973. data/node_modules/table/test/createStream.js +41 -0
  3974. data/node_modules/table/test/drawBorder.js +71 -0
  3975. data/node_modules/table/test/makeConfig.js +75 -0
  3976. data/node_modules/table/test/mapDataUsingRowHeightIndex.js +119 -0
  3977. data/node_modules/table/test/streamConfig.js +43 -0
  3978. data/node_modules/table/test/streamConfigSamples.js +151 -0
  3979. data/node_modules/table/test/validateTableData.js +65 -0
  3980. data/node_modules/table/test/wrapString.js +45 -0
  3981. data/node_modules/table/test/wrapWord.js +32 -0
  3982. data/node_modules/text-table/.travis.yml +4 -0
  3983. data/node_modules/text-table/LICENSE +18 -0
  3984. data/node_modules/text-table/example/align.js +8 -0
  3985. data/node_modules/text-table/example/center.js +8 -0
  3986. data/node_modules/text-table/example/dotalign.js +9 -0
  3987. data/node_modules/text-table/example/doubledot.js +11 -0
  3988. data/node_modules/text-table/example/table.js +6 -0
  3989. data/node_modules/text-table/index.js +86 -0
  3990. data/node_modules/text-table/package.json +44 -0
  3991. data/node_modules/text-table/readme.markdown +134 -0
  3992. data/node_modules/text-table/test/align.js +18 -0
  3993. data/node_modules/text-table/test/ansi-colors.js +32 -0
  3994. data/node_modules/text-table/test/center.js +18 -0
  3995. data/node_modules/text-table/test/dotalign.js +20 -0
  3996. data/node_modules/text-table/test/doubledot.js +24 -0
  3997. data/node_modules/text-table/test/table.js +14 -0
  3998. data/node_modules/through/.travis.yml +5 -0
  3999. data/node_modules/through/LICENSE.APACHE2 +15 -0
  4000. data/node_modules/through/LICENSE.MIT +24 -0
  4001. data/node_modules/through/index.js +108 -0
  4002. data/node_modules/through/package.json +36 -0
  4003. data/node_modules/through/readme.markdown +64 -0
  4004. data/node_modules/through/test/async.js +28 -0
  4005. data/node_modules/through/test/auto-destroy.js +30 -0
  4006. data/node_modules/through/test/buffering.js +71 -0
  4007. data/node_modules/through/test/end.js +45 -0
  4008. data/node_modules/through/test/index.js +133 -0
  4009. data/node_modules/tryit/README.md +56 -0
  4010. data/node_modules/tryit/package.json +27 -0
  4011. data/node_modules/tryit/tryit.js +14 -0
  4012. data/node_modules/type-check/LICENSE +22 -0
  4013. data/node_modules/type-check/README.md +210 -0
  4014. data/node_modules/type-check/lib/check.js +126 -0
  4015. data/node_modules/type-check/lib/index.js +16 -0
  4016. data/node_modules/type-check/lib/parse-type.js +196 -0
  4017. data/node_modules/type-check/package.json +40 -0
  4018. data/node_modules/typedarray/.travis.yml +4 -0
  4019. data/node_modules/typedarray/LICENSE +35 -0
  4020. data/node_modules/typedarray/example/tarray.js +4 -0
  4021. data/node_modules/typedarray/index.js +630 -0
  4022. data/node_modules/typedarray/package.json +55 -0
  4023. data/node_modules/typedarray/readme.markdown +61 -0
  4024. data/node_modules/typedarray/test/server/undef_globals.js +19 -0
  4025. data/node_modules/typedarray/test/tarray.js +10 -0
  4026. data/node_modules/user-home/index.js +2 -0
  4027. data/node_modules/user-home/license +21 -0
  4028. data/node_modules/user-home/package.json +43 -0
  4029. data/node_modules/user-home/readme.md +33 -0
  4030. data/node_modules/util-deprecate/History.md +16 -0
  4031. data/node_modules/util-deprecate/LICENSE +24 -0
  4032. data/node_modules/util-deprecate/README.md +53 -0
  4033. data/node_modules/util-deprecate/browser.js +67 -0
  4034. data/node_modules/util-deprecate/node.js +6 -0
  4035. data/node_modules/util-deprecate/package.json +27 -0
  4036. data/node_modules/util/.npmignore +1 -0
  4037. data/node_modules/util/.travis.yml +8 -0
  4038. data/node_modules/util/.zuul.yml +10 -0
  4039. data/node_modules/util/LICENSE +18 -0
  4040. data/node_modules/util/README.md +15 -0
  4041. data/node_modules/util/package.json +31 -0
  4042. data/node_modules/util/support/isBuffer.js +3 -0
  4043. data/node_modules/util/support/isBufferBrowser.js +6 -0
  4044. data/node_modules/util/test/browser/inspect.js +41 -0
  4045. data/node_modules/util/test/browser/is.js +91 -0
  4046. data/node_modules/util/test/node/debug.js +86 -0
  4047. data/node_modules/util/test/node/format.js +77 -0
  4048. data/node_modules/util/test/node/inspect.js +195 -0
  4049. data/node_modules/util/test/node/log.js +58 -0
  4050. data/node_modules/util/test/node/util.js +83 -0
  4051. data/node_modules/util/util.js +586 -0
  4052. data/node_modules/wordwrap/LICENSE +18 -0
  4053. data/node_modules/wordwrap/README.markdown +70 -0
  4054. data/node_modules/wordwrap/example/center.js +10 -0
  4055. data/node_modules/wordwrap/example/meat.js +3 -0
  4056. data/node_modules/wordwrap/index.js +76 -0
  4057. data/node_modules/wordwrap/package.json +34 -0
  4058. data/node_modules/wordwrap/test/break.js +32 -0
  4059. data/node_modules/wordwrap/test/idleness.txt +63 -0
  4060. data/node_modules/wordwrap/test/wrap.js +33 -0
  4061. data/node_modules/wrappy/LICENSE +15 -0
  4062. data/node_modules/wrappy/README.md +36 -0
  4063. data/node_modules/wrappy/package.json +29 -0
  4064. data/node_modules/wrappy/wrappy.js +33 -0
  4065. data/node_modules/write/LICENSE +21 -0
  4066. data/node_modules/write/README.md +101 -0
  4067. data/node_modules/write/index.js +93 -0
  4068. data/node_modules/write/node_modules/.bin/mkdirp +1 -0
  4069. data/node_modules/write/package.json +43 -0
  4070. data/node_modules/xtend/.jshintrc +30 -0
  4071. data/node_modules/xtend/.npmignore +1 -0
  4072. data/node_modules/xtend/LICENCE +19 -0
  4073. data/node_modules/xtend/Makefile +4 -0
  4074. data/node_modules/xtend/README.md +32 -0
  4075. data/node_modules/xtend/immutable.js +19 -0
  4076. data/node_modules/xtend/mutable.js +17 -0
  4077. data/node_modules/xtend/package.json +55 -0
  4078. data/node_modules/xtend/test.js +83 -0
  4079. metadata +4077 -4
  4080. data/lib/rubygems_plugin.rb +0 -3
File without changes
@@ -0,0 +1,3380 @@
1
+ // Reserved word lists for various dialects of the language
2
+
3
+ var reservedWords = {
4
+ 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
5
+ 5: "class enum extends super const export import",
6
+ 6: "enum",
7
+ strict: "implements interface let package private protected public static yield",
8
+ strictBind: "eval arguments"
9
+ }
10
+
11
+ // And the keywords
12
+
13
+ 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
+
15
+ var keywords = {
16
+ 5: ecma5AndLessKeywords,
17
+ 6: ecma5AndLessKeywords + " const class extends export import super"
18
+ }
19
+
20
+ // ## Character categories
21
+
22
+ // Big ugly regular expressions that match characters in the
23
+ // whitespace, identifier, and identifier-start categories. These
24
+ // are only applied when a character is found to actually have a
25
+ // code point above 128.
26
+ // Generated by `bin/generate-identifier-regex.js`.
27
+
28
+ 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\u0561-\u0587\u05d0-\u05ea\u05f0-\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\u08a0-\u08b4\u08b6-\u08bd\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\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\u0d05-\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\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\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-\u1877\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\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\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-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\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-\uab65\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"
29
+ 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\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\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\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\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\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\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\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\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\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\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\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\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"
30
+
31
+ var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]")
32
+ var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]")
33
+
34
+ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null
35
+
36
+ // These are a run-length and offset encoded representation of the
37
+ // >0xffff code points that are a valid part of identifiers. The
38
+ // offset starts at 0x10000, and each pair of numbers represents an
39
+ // offset to the next range, and then a size of the range. They were
40
+ // generated by bin/generate-identifier-regex.js
41
+ var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,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,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,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,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,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,4149,196,60,67,1213,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,42710,42,4148,12,221,3,5761,10591,541]
42
+ var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,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,2214,6,110,6,6,9,792487,239]
43
+
44
+ // This has a complexity linear to the value of the code. The
45
+ // assumption is that looking up astral identifier characters is
46
+ // rare.
47
+ function isInAstralSet(code, set) {
48
+ var pos = 0x10000
49
+ for (var i = 0; i < set.length; i += 2) {
50
+ pos += set[i]
51
+ if (pos > code) return false
52
+ pos += set[i + 1]
53
+ if (pos >= code) return true
54
+ }
55
+ }
56
+
57
+ // Test whether a given character code starts an identifier.
58
+
59
+ function isIdentifierStart(code, astral) {
60
+ if (code < 65) return code === 36
61
+ if (code < 91) return true
62
+ if (code < 97) return code === 95
63
+ if (code < 123) return true
64
+ if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))
65
+ if (astral === false) return false
66
+ return isInAstralSet(code, astralIdentifierStartCodes)
67
+ }
68
+
69
+ // Test whether a given character is part of an identifier.
70
+
71
+ function isIdentifierChar(code, astral) {
72
+ if (code < 48) return code === 36
73
+ if (code < 58) return true
74
+ if (code < 65) return false
75
+ if (code < 91) return true
76
+ if (code < 97) return code === 95
77
+ if (code < 123) return true
78
+ if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code))
79
+ if (astral === false) return false
80
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)
81
+ }
82
+
83
+ // ## Token types
84
+
85
+ // The assignment of fine-grained, information-carrying type objects
86
+ // allows the tokenizer to store the information it has about a
87
+ // token in a way that is very cheap for the parser to look up.
88
+
89
+ // All token type variables start with an underscore, to make them
90
+ // easy to recognize.
91
+
92
+ // The `beforeExpr` property is used to disambiguate between regular
93
+ // expressions and divisions. It is set on all token types that can
94
+ // be followed by an expression (thus, a slash after them would be a
95
+ // regular expression).
96
+ //
97
+ // The `startsExpr` property is used to check if the token ends a
98
+ // `yield` expression. It is set on all token types that either can
99
+ // directly start an expression (like a quotation mark) or can
100
+ // continue an expression (like the body of a string).
101
+ //
102
+ // `isLoop` marks a keyword as starting a loop, which is important
103
+ // to know when parsing a label, in order to allow or disallow
104
+ // continue jumps to that label.
105
+
106
+ var TokenType = function TokenType(label, conf) {
107
+ if ( conf === void 0 ) conf = {};
108
+
109
+ this.label = label
110
+ this.keyword = conf.keyword
111
+ this.beforeExpr = !!conf.beforeExpr
112
+ this.startsExpr = !!conf.startsExpr
113
+ this.isLoop = !!conf.isLoop
114
+ this.isAssign = !!conf.isAssign
115
+ this.prefix = !!conf.prefix
116
+ this.postfix = !!conf.postfix
117
+ this.binop = conf.binop || null
118
+ this.updateContext = null
119
+ };
120
+
121
+ function binop(name, prec) {
122
+ return new TokenType(name, {beforeExpr: true, binop: prec})
123
+ }
124
+ var beforeExpr = {beforeExpr: true};
125
+ var startsExpr = {startsExpr: true};
126
+ // Map keyword names to token types.
127
+
128
+ var keywordTypes = {}
129
+
130
+ // Succinct definitions of keyword token types
131
+ function kw(name, options) {
132
+ if ( options === void 0 ) options = {};
133
+
134
+ options.keyword = name
135
+ return keywordTypes[name] = new TokenType(name, options)
136
+ }
137
+
138
+ var tt = {
139
+ num: new TokenType("num", startsExpr),
140
+ regexp: new TokenType("regexp", startsExpr),
141
+ string: new TokenType("string", startsExpr),
142
+ name: new TokenType("name", startsExpr),
143
+ eof: new TokenType("eof"),
144
+
145
+ // Punctuation token types.
146
+ bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}),
147
+ bracketR: new TokenType("]"),
148
+ braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}),
149
+ braceR: new TokenType("}"),
150
+ parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}),
151
+ parenR: new TokenType(")"),
152
+ comma: new TokenType(",", beforeExpr),
153
+ semi: new TokenType(";", beforeExpr),
154
+ colon: new TokenType(":", beforeExpr),
155
+ dot: new TokenType("."),
156
+ question: new TokenType("?", beforeExpr),
157
+ arrow: new TokenType("=>", beforeExpr),
158
+ template: new TokenType("template"),
159
+ ellipsis: new TokenType("...", beforeExpr),
160
+ backQuote: new TokenType("`", startsExpr),
161
+ dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}),
162
+
163
+ // Operators. These carry several kinds of properties to help the
164
+ // parser use them properly (the presence of these properties is
165
+ // what categorizes them as operators).
166
+ //
167
+ // `binop`, when present, specifies that this operator is a binary
168
+ // operator, and will refer to its precedence.
169
+ //
170
+ // `prefix` and `postfix` mark the operator as a prefix or postfix
171
+ // unary operator.
172
+ //
173
+ // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
174
+ // binary operators with a very low precedence, that should result
175
+ // in AssignmentExpression nodes.
176
+
177
+ eq: new TokenType("=", {beforeExpr: true, isAssign: true}),
178
+ assign: new TokenType("_=", {beforeExpr: true, isAssign: true}),
179
+ incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}),
180
+ prefix: new TokenType("prefix", {beforeExpr: true, prefix: true, startsExpr: true}),
181
+ logicalOR: binop("||", 1),
182
+ logicalAND: binop("&&", 2),
183
+ bitwiseOR: binop("|", 3),
184
+ bitwiseXOR: binop("^", 4),
185
+ bitwiseAND: binop("&", 5),
186
+ equality: binop("==/!=", 6),
187
+ relational: binop("</>", 7),
188
+ bitShift: binop("<</>>", 8),
189
+ plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),
190
+ modulo: binop("%", 10),
191
+ star: binop("*", 10),
192
+ slash: binop("/", 10),
193
+ starstar: new TokenType("**", {beforeExpr: true}),
194
+
195
+ // Keyword token types.
196
+ _break: kw("break"),
197
+ _case: kw("case", beforeExpr),
198
+ _catch: kw("catch"),
199
+ _continue: kw("continue"),
200
+ _debugger: kw("debugger"),
201
+ _default: kw("default", beforeExpr),
202
+ _do: kw("do", {isLoop: true, beforeExpr: true}),
203
+ _else: kw("else", beforeExpr),
204
+ _finally: kw("finally"),
205
+ _for: kw("for", {isLoop: true}),
206
+ _function: kw("function", startsExpr),
207
+ _if: kw("if"),
208
+ _return: kw("return", beforeExpr),
209
+ _switch: kw("switch"),
210
+ _throw: kw("throw", beforeExpr),
211
+ _try: kw("try"),
212
+ _var: kw("var"),
213
+ _const: kw("const"),
214
+ _while: kw("while", {isLoop: true}),
215
+ _with: kw("with"),
216
+ _new: kw("new", {beforeExpr: true, startsExpr: true}),
217
+ _this: kw("this", startsExpr),
218
+ _super: kw("super", startsExpr),
219
+ _class: kw("class"),
220
+ _extends: kw("extends", beforeExpr),
221
+ _export: kw("export"),
222
+ _import: kw("import"),
223
+ _null: kw("null", startsExpr),
224
+ _true: kw("true", startsExpr),
225
+ _false: kw("false", startsExpr),
226
+ _in: kw("in", {beforeExpr: true, binop: 7}),
227
+ _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}),
228
+ _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}),
229
+ _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}),
230
+ _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true})
231
+ }
232
+
233
+ // Matches a whole line break (where CRLF is considered a single
234
+ // line break). Used to count lines.
235
+
236
+ var lineBreak = /\r\n?|\n|\u2028|\u2029/
237
+ var lineBreakG = new RegExp(lineBreak.source, "g")
238
+
239
+ function isNewLine(code) {
240
+ return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
241
+ }
242
+
243
+ var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/
244
+
245
+ var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g
246
+
247
+ function isArray(obj) {
248
+ return Object.prototype.toString.call(obj) === "[object Array]"
249
+ }
250
+
251
+ // Checks if an object has a property.
252
+
253
+ function has(obj, propName) {
254
+ return Object.prototype.hasOwnProperty.call(obj, propName)
255
+ }
256
+
257
+ // These are used when `options.locations` is on, for the
258
+ // `startLoc` and `endLoc` properties.
259
+
260
+ var Position = function Position(line, col) {
261
+ this.line = line
262
+ this.column = col
263
+ };
264
+
265
+ Position.prototype.offset = function offset (n) {
266
+ return new Position(this.line, this.column + n)
267
+ };
268
+
269
+ var SourceLocation = function SourceLocation(p, start, end) {
270
+ this.start = start
271
+ this.end = end
272
+ if (p.sourceFile !== null) this.source = p.sourceFile
273
+ };
274
+
275
+ // The `getLineInfo` function is mostly useful when the
276
+ // `locations` option is off (for performance reasons) and you
277
+ // want to find the line/column position for a given character
278
+ // offset. `input` should be the code string that the offset refers
279
+ // into.
280
+
281
+ function getLineInfo(input, offset) {
282
+ for (var line = 1, cur = 0;;) {
283
+ lineBreakG.lastIndex = cur
284
+ var match = lineBreakG.exec(input)
285
+ if (match && match.index < offset) {
286
+ ++line
287
+ cur = match.index + match[0].length
288
+ } else {
289
+ return new Position(line, offset - cur)
290
+ }
291
+ }
292
+ }
293
+
294
+ // A second optional argument can be given to further configure
295
+ // the parser process. These options are recognized:
296
+
297
+ var defaultOptions = {
298
+ // `ecmaVersion` indicates the ECMAScript version to parse. Must
299
+ // be either 3, 5, 6 (2015), 7 (2016), or 8 (2017). This influences support
300
+ // for strict mode, the set of reserved words, and support for
301
+ // new syntax features. The default is 7.
302
+ ecmaVersion: 7,
303
+ // `sourceType` indicates the mode the code should be parsed in.
304
+ // Can be either `"script"` or `"module"`. This influences global
305
+ // strict mode and parsing of `import` and `export` declarations.
306
+ sourceType: "script",
307
+ // `onInsertedSemicolon` can be a callback that will be called
308
+ // when a semicolon is automatically inserted. It will be passed
309
+ // th position of the comma as an offset, and if `locations` is
310
+ // enabled, it is given the location as a `{line, column}` object
311
+ // as second argument.
312
+ onInsertedSemicolon: null,
313
+ // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
314
+ // trailing commas.
315
+ onTrailingComma: null,
316
+ // By default, reserved words are only enforced if ecmaVersion >= 5.
317
+ // Set `allowReserved` to a boolean value to explicitly turn this on
318
+ // an off. When this option has the value "never", reserved words
319
+ // and keywords can also not be used as property names.
320
+ allowReserved: null,
321
+ // When enabled, a return at the top level is not considered an
322
+ // error.
323
+ allowReturnOutsideFunction: false,
324
+ // When enabled, import/export statements are not constrained to
325
+ // appearing at the top of the program.
326
+ allowImportExportEverywhere: false,
327
+ // When enabled, hashbang directive in the beginning of file
328
+ // is allowed and treated as a line comment.
329
+ allowHashBang: false,
330
+ // When `locations` is on, `loc` properties holding objects with
331
+ // `start` and `end` properties in `{line, column}` form (with
332
+ // line being 1-based and column 0-based) will be attached to the
333
+ // nodes.
334
+ locations: false,
335
+ // A function can be passed as `onToken` option, which will
336
+ // cause Acorn to call that function with object in the same
337
+ // format as tokens returned from `tokenizer().getToken()`. Note
338
+ // that you are not allowed to call the parser from the
339
+ // callback—that will corrupt its internal state.
340
+ onToken: null,
341
+ // A function can be passed as `onComment` option, which will
342
+ // cause Acorn to call that function with `(block, text, start,
343
+ // end)` parameters whenever a comment is skipped. `block` is a
344
+ // boolean indicating whether this is a block (`/* */`) comment,
345
+ // `text` is the content of the comment, and `start` and `end` are
346
+ // character offsets that denote the start and end of the comment.
347
+ // When the `locations` option is on, two more parameters are
348
+ // passed, the full `{line, column}` locations of the start and
349
+ // end of the comments. Note that you are not allowed to call the
350
+ // parser from the callback—that will corrupt its internal state.
351
+ onComment: null,
352
+ // Nodes have their start and end characters offsets recorded in
353
+ // `start` and `end` properties (directly on the node, rather than
354
+ // the `loc` object, which holds line/column data. To also add a
355
+ // [semi-standardized][range] `range` property holding a `[start,
356
+ // end]` array with the same numbers, set the `ranges` option to
357
+ // `true`.
358
+ //
359
+ // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
360
+ ranges: false,
361
+ // It is possible to parse multiple files into a single AST by
362
+ // passing the tree produced by parsing the first file as
363
+ // `program` option in subsequent parses. This will add the
364
+ // toplevel forms of the parsed file to the `Program` (top) node
365
+ // of an existing parse tree.
366
+ program: null,
367
+ // When `locations` is on, you can pass this to record the source
368
+ // file in every node's `loc` object.
369
+ sourceFile: null,
370
+ // This value, if given, is stored in every node, whether
371
+ // `locations` is on or off.
372
+ directSourceFile: null,
373
+ // When enabled, parenthesized expressions are represented by
374
+ // (non-standard) ParenthesizedExpression nodes
375
+ preserveParens: false,
376
+ plugins: {}
377
+ }
378
+
379
+ // Interpret and default an options object
380
+
381
+ function getOptions(opts) {
382
+ var options = {}
383
+
384
+ for (var opt in defaultOptions)
385
+ options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]
386
+
387
+ if (options.ecmaVersion >= 2015)
388
+ options.ecmaVersion -= 2009
389
+
390
+ if (options.allowReserved == null)
391
+ options.allowReserved = options.ecmaVersion < 5
392
+
393
+ if (isArray(options.onToken)) {
394
+ var tokens = options.onToken
395
+ options.onToken = function (token) { return tokens.push(token); }
396
+ }
397
+ if (isArray(options.onComment))
398
+ options.onComment = pushComment(options, options.onComment)
399
+
400
+ return options
401
+ }
402
+
403
+ function pushComment(options, array) {
404
+ return function (block, text, start, end, startLoc, endLoc) {
405
+ var comment = {
406
+ type: block ? 'Block' : 'Line',
407
+ value: text,
408
+ start: start,
409
+ end: end
410
+ }
411
+ if (options.locations)
412
+ comment.loc = new SourceLocation(this, startLoc, endLoc)
413
+ if (options.ranges)
414
+ comment.range = [start, end]
415
+ array.push(comment)
416
+ }
417
+ }
418
+
419
+ // Registered plugins
420
+ var plugins = {}
421
+
422
+ function keywordRegexp(words) {
423
+ return new RegExp("^(" + words.replace(/ /g, "|") + ")$")
424
+ }
425
+
426
+ var Parser = function Parser(options, input, startPos) {
427
+ this.options = options = getOptions(options)
428
+ this.sourceFile = options.sourceFile
429
+ this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5])
430
+ var reserved = ""
431
+ if (!options.allowReserved) {
432
+ for (var v = options.ecmaVersion;; v--)
433
+ if (reserved = reservedWords[v]) break
434
+ if (options.sourceType == "module") reserved += " await"
435
+ }
436
+ this.reservedWords = keywordRegexp(reserved)
437
+ var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict
438
+ this.reservedWordsStrict = keywordRegexp(reservedStrict)
439
+ this.reservedWordsStrictBind = keywordRegexp(reservedStrict + " " + reservedWords.strictBind)
440
+ this.input = String(input)
441
+
442
+ // Used to signal to callers of `readWord1` whether the word
443
+ // contained any escape sequences. This is needed because words with
444
+ // escape sequences must not be interpreted as keywords.
445
+ this.containsEsc = false
446
+
447
+ // Load plugins
448
+ this.loadPlugins(options.plugins)
449
+
450
+ // Set up token state
451
+
452
+ // The current position of the tokenizer in the input.
453
+ if (startPos) {
454
+ this.pos = startPos
455
+ this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1
456
+ this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length
457
+ } else {
458
+ this.pos = this.lineStart = 0
459
+ this.curLine = 1
460
+ }
461
+
462
+ // Properties of the current token:
463
+ // Its type
464
+ this.type = tt.eof
465
+ // For tokens that include more information than their type, the value
466
+ this.value = null
467
+ // Its start and end offset
468
+ this.start = this.end = this.pos
469
+ // And, if locations are used, the {line, column} object
470
+ // corresponding to those offsets
471
+ this.startLoc = this.endLoc = this.curPosition()
472
+
473
+ // Position information for the previous token
474
+ this.lastTokEndLoc = this.lastTokStartLoc = null
475
+ this.lastTokStart = this.lastTokEnd = this.pos
476
+
477
+ // The context stack is used to superficially track syntactic
478
+ // context to predict whether a regular expression is allowed in a
479
+ // given position.
480
+ this.context = this.initialContext()
481
+ this.exprAllowed = true
482
+
483
+ // Figure out if it's a module code.
484
+ this.strict = this.inModule = options.sourceType === "module"
485
+
486
+ // Used to signify the start of a potential arrow function
487
+ this.potentialArrowAt = -1
488
+
489
+ // Flags to track whether we are in a function, a generator, an async function.
490
+ this.inFunction = this.inGenerator = this.inAsync = false
491
+ // Positions to delayed-check that yield/await does not exist in default parameters.
492
+ this.yieldPos = this.awaitPos = 0
493
+ // Labels in scope.
494
+ this.labels = []
495
+
496
+ // If enabled, skip leading hashbang line.
497
+ if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === '#!')
498
+ this.skipLineComment(2)
499
+ };
500
+
501
+ // DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
502
+ Parser.prototype.isKeyword = function isKeyword (word) { return this.keywords.test(word) };
503
+ Parser.prototype.isReservedWord = function isReservedWord (word) { return this.reservedWords.test(word) };
504
+
505
+ Parser.prototype.extend = function extend (name, f) {
506
+ this[name] = f(this[name])
507
+ };
508
+
509
+ Parser.prototype.loadPlugins = function loadPlugins (pluginConfigs) {
510
+ var this$1 = this;
511
+
512
+ for (var name in pluginConfigs) {
513
+ var plugin = plugins[name]
514
+ if (!plugin) throw new Error("Plugin '" + name + "' not found")
515
+ plugin(this$1, pluginConfigs[name])
516
+ }
517
+ };
518
+
519
+ Parser.prototype.parse = function parse () {
520
+ var node = this.options.program || this.startNode()
521
+ this.nextToken()
522
+ return this.parseTopLevel(node)
523
+ };
524
+
525
+ var pp = Parser.prototype
526
+
527
+ // ## Parser utilities
528
+
529
+ // Test whether a statement node is the string literal `"use strict"`.
530
+
531
+ pp.isUseStrict = function(stmt) {
532
+ return this.options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" &&
533
+ stmt.expression.type === "Literal" &&
534
+ stmt.expression.raw.slice(1, -1) === "use strict"
535
+ }
536
+
537
+ // Predicate that tests whether the next token is of the given
538
+ // type, and if yes, consumes it as a side effect.
539
+
540
+ pp.eat = function(type) {
541
+ if (this.type === type) {
542
+ this.next()
543
+ return true
544
+ } else {
545
+ return false
546
+ }
547
+ }
548
+
549
+ // Tests whether parsed token is a contextual keyword.
550
+
551
+ pp.isContextual = function(name) {
552
+ return this.type === tt.name && this.value === name
553
+ }
554
+
555
+ // Consumes contextual keyword if possible.
556
+
557
+ pp.eatContextual = function(name) {
558
+ return this.value === name && this.eat(tt.name)
559
+ }
560
+
561
+ // Asserts that following token is given contextual keyword.
562
+
563
+ pp.expectContextual = function(name) {
564
+ if (!this.eatContextual(name)) this.unexpected()
565
+ }
566
+
567
+ // Test whether a semicolon can be inserted at the current position.
568
+
569
+ pp.canInsertSemicolon = function() {
570
+ return this.type === tt.eof ||
571
+ this.type === tt.braceR ||
572
+ lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
573
+ }
574
+
575
+ pp.insertSemicolon = function() {
576
+ if (this.canInsertSemicolon()) {
577
+ if (this.options.onInsertedSemicolon)
578
+ this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc)
579
+ return true
580
+ }
581
+ }
582
+
583
+ // Consume a semicolon, or, failing that, see if we are allowed to
584
+ // pretend that there is a semicolon at this position.
585
+
586
+ pp.semicolon = function() {
587
+ if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected()
588
+ }
589
+
590
+ pp.afterTrailingComma = function(tokType, notNext) {
591
+ if (this.type == tokType) {
592
+ if (this.options.onTrailingComma)
593
+ this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc)
594
+ if (!notNext)
595
+ this.next()
596
+ return true
597
+ }
598
+ }
599
+
600
+ // Expect a token of a given type. If found, consume it, otherwise,
601
+ // raise an unexpected token error.
602
+
603
+ pp.expect = function(type) {
604
+ this.eat(type) || this.unexpected()
605
+ }
606
+
607
+ // Raise an unexpected token error.
608
+
609
+ pp.unexpected = function(pos) {
610
+ this.raise(pos != null ? pos : this.start, "Unexpected token")
611
+ }
612
+
613
+ var DestructuringErrors = function DestructuringErrors() {
614
+ this.shorthandAssign = 0
615
+ this.trailingComma = 0
616
+ };
617
+
618
+ pp.checkPatternErrors = function(refDestructuringErrors, andThrow) {
619
+ var trailing = refDestructuringErrors && refDestructuringErrors.trailingComma
620
+ if (!andThrow) return !!trailing
621
+ if (trailing) this.raise(trailing, "Comma is not permitted after the rest element")
622
+ }
623
+
624
+ pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
625
+ var pos = refDestructuringErrors && refDestructuringErrors.shorthandAssign
626
+ if (!andThrow) return !!pos
627
+ if (pos) this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns")
628
+ }
629
+
630
+ pp.checkYieldAwaitInDefaultParams = function() {
631
+ if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
632
+ this.raise(this.yieldPos, "Yield expression cannot be a default value")
633
+ if (this.awaitPos)
634
+ this.raise(this.awaitPos, "Await expression cannot be a default value")
635
+ }
636
+
637
+ var pp$1 = Parser.prototype
638
+
639
+ // ### Statement parsing
640
+
641
+ // Parse a program. Initializes the parser, reads any number of
642
+ // statements, and wraps them in a Program node. Optionally takes a
643
+ // `program` argument. If present, the statements will be appended
644
+ // to its body instead of creating a new node.
645
+
646
+ pp$1.parseTopLevel = function(node) {
647
+ var this$1 = this;
648
+
649
+ var first = true, exports = {}
650
+ if (!node.body) node.body = []
651
+ while (this.type !== tt.eof) {
652
+ var stmt = this$1.parseStatement(true, true, exports)
653
+ node.body.push(stmt)
654
+ if (first) {
655
+ if (this$1.isUseStrict(stmt)) this$1.setStrict(true)
656
+ first = false
657
+ }
658
+ }
659
+ this.next()
660
+ if (this.options.ecmaVersion >= 6) {
661
+ node.sourceType = this.options.sourceType
662
+ }
663
+ return this.finishNode(node, "Program")
664
+ }
665
+
666
+ var loopLabel = {kind: "loop"};
667
+ var switchLabel = {kind: "switch"};
668
+ pp$1.isLet = function() {
669
+ if (this.type !== tt.name || this.options.ecmaVersion < 6 || this.value != "let") return false
670
+ skipWhiteSpace.lastIndex = this.pos
671
+ var skip = skipWhiteSpace.exec(this.input)
672
+ var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next)
673
+ if (nextCh === 91 || nextCh == 123) return true // '{' and '['
674
+ if (isIdentifierStart(nextCh, true)) {
675
+ for (var pos = next + 1; isIdentifierChar(this.input.charCodeAt(pos), true); ++pos) {}
676
+ var ident = this.input.slice(next, pos)
677
+ if (!this.isKeyword(ident)) return true
678
+ }
679
+ return false
680
+ }
681
+
682
+ // check 'async [no LineTerminator here] function'
683
+ // - 'async /*foo*/ function' is OK.
684
+ // - 'async /*\n*/ function' is invalid.
685
+ pp$1.isAsyncFunction = function() {
686
+ if (this.type !== tt.name || this.options.ecmaVersion < 8 || this.value != "async")
687
+ return false
688
+
689
+ skipWhiteSpace.lastIndex = this.pos
690
+ var skip = skipWhiteSpace.exec(this.input)
691
+ var next = this.pos + skip[0].length
692
+ return !lineBreak.test(this.input.slice(this.pos, next)) &&
693
+ this.input.slice(next, next + 8) === "function" &&
694
+ (next + 8 == this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))
695
+ }
696
+
697
+ // Parse a single statement.
698
+ //
699
+ // If expecting a statement and finding a slash operator, parse a
700
+ // regular expression literal. This is to handle cases like
701
+ // `if (foo) /blah/.exec(foo)`, where looking at the previous token
702
+ // does not help.
703
+
704
+ pp$1.parseStatement = function(declaration, topLevel, exports) {
705
+ var starttype = this.type, node = this.startNode(), kind
706
+
707
+ if (this.isLet()) {
708
+ starttype = tt._var
709
+ kind = "let"
710
+ }
711
+
712
+ // Most types of statements are recognized by the keyword they
713
+ // start with. Many are trivial to parse, some require a bit of
714
+ // complexity.
715
+
716
+ switch (starttype) {
717
+ case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
718
+ case tt._debugger: return this.parseDebuggerStatement(node)
719
+ case tt._do: return this.parseDoStatement(node)
720
+ case tt._for: return this.parseForStatement(node)
721
+ case tt._function:
722
+ if (!declaration && this.options.ecmaVersion >= 6) this.unexpected()
723
+ return this.parseFunctionStatement(node, false)
724
+ case tt._class:
725
+ if (!declaration) this.unexpected()
726
+ return this.parseClass(node, true)
727
+ case tt._if: return this.parseIfStatement(node)
728
+ case tt._return: return this.parseReturnStatement(node)
729
+ case tt._switch: return this.parseSwitchStatement(node)
730
+ case tt._throw: return this.parseThrowStatement(node)
731
+ case tt._try: return this.parseTryStatement(node)
732
+ case tt._const: case tt._var:
733
+ kind = kind || this.value
734
+ if (!declaration && kind != "var") this.unexpected()
735
+ return this.parseVarStatement(node, kind)
736
+ case tt._while: return this.parseWhileStatement(node)
737
+ case tt._with: return this.parseWithStatement(node)
738
+ case tt.braceL: return this.parseBlock()
739
+ case tt.semi: return this.parseEmptyStatement(node)
740
+ case tt._export:
741
+ case tt._import:
742
+ if (!this.options.allowImportExportEverywhere) {
743
+ if (!topLevel)
744
+ this.raise(this.start, "'import' and 'export' may only appear at the top level")
745
+ if (!this.inModule)
746
+ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")
747
+ }
748
+ return starttype === tt._import ? this.parseImport(node) : this.parseExport(node, exports)
749
+
750
+ // If the statement does not start with a statement keyword or a
751
+ // brace, it's an ExpressionStatement or LabeledStatement. We
752
+ // simply start parsing an expression, and afterwards, if the
753
+ // next token is a colon and the expression was a simple
754
+ // Identifier node, we switch to interpreting it as a label.
755
+ default:
756
+ if (this.isAsyncFunction() && declaration) {
757
+ this.next()
758
+ return this.parseFunctionStatement(node, true)
759
+ }
760
+
761
+ var maybeName = this.value, expr = this.parseExpression()
762
+ if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon))
763
+ return this.parseLabeledStatement(node, maybeName, expr)
764
+ else return this.parseExpressionStatement(node, expr)
765
+ }
766
+ }
767
+
768
+ pp$1.parseBreakContinueStatement = function(node, keyword) {
769
+ var this$1 = this;
770
+
771
+ var isBreak = keyword == "break"
772
+ this.next()
773
+ if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null
774
+ else if (this.type !== tt.name) this.unexpected()
775
+ else {
776
+ node.label = this.parseIdent()
777
+ this.semicolon()
778
+ }
779
+
780
+ // Verify that there is an actual destination to break or
781
+ // continue to.
782
+ for (var i = 0; i < this.labels.length; ++i) {
783
+ var lab = this$1.labels[i]
784
+ if (node.label == null || lab.name === node.label.name) {
785
+ if (lab.kind != null && (isBreak || lab.kind === "loop")) break
786
+ if (node.label && isBreak) break
787
+ }
788
+ }
789
+ if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword)
790
+ return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
791
+ }
792
+
793
+ pp$1.parseDebuggerStatement = function(node) {
794
+ this.next()
795
+ this.semicolon()
796
+ return this.finishNode(node, "DebuggerStatement")
797
+ }
798
+
799
+ pp$1.parseDoStatement = function(node) {
800
+ this.next()
801
+ this.labels.push(loopLabel)
802
+ node.body = this.parseStatement(false)
803
+ this.labels.pop()
804
+ this.expect(tt._while)
805
+ node.test = this.parseParenExpression()
806
+ if (this.options.ecmaVersion >= 6)
807
+ this.eat(tt.semi)
808
+ else
809
+ this.semicolon()
810
+ return this.finishNode(node, "DoWhileStatement")
811
+ }
812
+
813
+ // Disambiguating between a `for` and a `for`/`in` or `for`/`of`
814
+ // loop is non-trivial. Basically, we have to parse the init `var`
815
+ // statement or expression, disallowing the `in` operator (see
816
+ // the second parameter to `parseExpression`), and then check
817
+ // whether the next token is `in` or `of`. When there is no init
818
+ // part (semicolon immediately after the opening parenthesis), it
819
+ // is a regular `for` loop.
820
+
821
+ pp$1.parseForStatement = function(node) {
822
+ this.next()
823
+ this.labels.push(loopLabel)
824
+ this.expect(tt.parenL)
825
+ if (this.type === tt.semi) return this.parseFor(node, null)
826
+ var isLet = this.isLet()
827
+ if (this.type === tt._var || this.type === tt._const || isLet) {
828
+ var init$1 = this.startNode(), kind = isLet ? "let" : this.value
829
+ this.next()
830
+ this.parseVar(init$1, true, kind)
831
+ this.finishNode(init$1, "VariableDeclaration")
832
+ if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1 &&
833
+ !(kind !== "var" && init$1.declarations[0].init))
834
+ return this.parseForIn(node, init$1)
835
+ return this.parseFor(node, init$1)
836
+ }
837
+ var refDestructuringErrors = new DestructuringErrors
838
+ var init = this.parseExpression(true, refDestructuringErrors)
839
+ if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
840
+ this.checkPatternErrors(refDestructuringErrors, true)
841
+ this.toAssignable(init)
842
+ this.checkLVal(init)
843
+ return this.parseForIn(node, init)
844
+ } else {
845
+ this.checkExpressionErrors(refDestructuringErrors, true)
846
+ }
847
+ return this.parseFor(node, init)
848
+ }
849
+
850
+ pp$1.parseFunctionStatement = function(node, isAsync) {
851
+ this.next()
852
+ return this.parseFunction(node, true, false, isAsync)
853
+ }
854
+
855
+ pp$1.isFunction = function() {
856
+ return this.type === tt._function || this.isAsyncFunction()
857
+ }
858
+
859
+ pp$1.parseIfStatement = function(node) {
860
+ this.next()
861
+ node.test = this.parseParenExpression()
862
+ // allow function declarations in branches, but only in non-strict mode
863
+ node.consequent = this.parseStatement(!this.strict && this.isFunction())
864
+ node.alternate = this.eat(tt._else) ? this.parseStatement(!this.strict && this.isFunction()) : null
865
+ return this.finishNode(node, "IfStatement")
866
+ }
867
+
868
+ pp$1.parseReturnStatement = function(node) {
869
+ if (!this.inFunction && !this.options.allowReturnOutsideFunction)
870
+ this.raise(this.start, "'return' outside of function")
871
+ this.next()
872
+
873
+ // In `return` (and `break`/`continue`), the keywords with
874
+ // optional arguments, we eagerly look for a semicolon or the
875
+ // possibility to insert one.
876
+
877
+ if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null
878
+ else { node.argument = this.parseExpression(); this.semicolon() }
879
+ return this.finishNode(node, "ReturnStatement")
880
+ }
881
+
882
+ pp$1.parseSwitchStatement = function(node) {
883
+ var this$1 = this;
884
+
885
+ this.next()
886
+ node.discriminant = this.parseParenExpression()
887
+ node.cases = []
888
+ this.expect(tt.braceL)
889
+ this.labels.push(switchLabel)
890
+
891
+ // Statements under must be grouped (by label) in SwitchCase
892
+ // nodes. `cur` is used to keep the node that we are currently
893
+ // adding statements to.
894
+
895
+ for (var cur, sawDefault = false; this.type != tt.braceR;) {
896
+ if (this$1.type === tt._case || this$1.type === tt._default) {
897
+ var isCase = this$1.type === tt._case
898
+ if (cur) this$1.finishNode(cur, "SwitchCase")
899
+ node.cases.push(cur = this$1.startNode())
900
+ cur.consequent = []
901
+ this$1.next()
902
+ if (isCase) {
903
+ cur.test = this$1.parseExpression()
904
+ } else {
905
+ if (sawDefault) this$1.raiseRecoverable(this$1.lastTokStart, "Multiple default clauses")
906
+ sawDefault = true
907
+ cur.test = null
908
+ }
909
+ this$1.expect(tt.colon)
910
+ } else {
911
+ if (!cur) this$1.unexpected()
912
+ cur.consequent.push(this$1.parseStatement(true))
913
+ }
914
+ }
915
+ if (cur) this.finishNode(cur, "SwitchCase")
916
+ this.next() // Closing brace
917
+ this.labels.pop()
918
+ return this.finishNode(node, "SwitchStatement")
919
+ }
920
+
921
+ pp$1.parseThrowStatement = function(node) {
922
+ this.next()
923
+ if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
924
+ this.raise(this.lastTokEnd, "Illegal newline after throw")
925
+ node.argument = this.parseExpression()
926
+ this.semicolon()
927
+ return this.finishNode(node, "ThrowStatement")
928
+ }
929
+
930
+ // Reused empty array added for node fields that are always empty.
931
+
932
+ var empty = []
933
+
934
+ pp$1.parseTryStatement = function(node) {
935
+ this.next()
936
+ node.block = this.parseBlock()
937
+ node.handler = null
938
+ if (this.type === tt._catch) {
939
+ var clause = this.startNode()
940
+ this.next()
941
+ this.expect(tt.parenL)
942
+ clause.param = this.parseBindingAtom()
943
+ this.checkLVal(clause.param, true)
944
+ this.expect(tt.parenR)
945
+ clause.body = this.parseBlock()
946
+ node.handler = this.finishNode(clause, "CatchClause")
947
+ }
948
+ node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null
949
+ if (!node.handler && !node.finalizer)
950
+ this.raise(node.start, "Missing catch or finally clause")
951
+ return this.finishNode(node, "TryStatement")
952
+ }
953
+
954
+ pp$1.parseVarStatement = function(node, kind) {
955
+ this.next()
956
+ this.parseVar(node, false, kind)
957
+ this.semicolon()
958
+ return this.finishNode(node, "VariableDeclaration")
959
+ }
960
+
961
+ pp$1.parseWhileStatement = function(node) {
962
+ this.next()
963
+ node.test = this.parseParenExpression()
964
+ this.labels.push(loopLabel)
965
+ node.body = this.parseStatement(false)
966
+ this.labels.pop()
967
+ return this.finishNode(node, "WhileStatement")
968
+ }
969
+
970
+ pp$1.parseWithStatement = function(node) {
971
+ if (this.strict) this.raise(this.start, "'with' in strict mode")
972
+ this.next()
973
+ node.object = this.parseParenExpression()
974
+ node.body = this.parseStatement(false)
975
+ return this.finishNode(node, "WithStatement")
976
+ }
977
+
978
+ pp$1.parseEmptyStatement = function(node) {
979
+ this.next()
980
+ return this.finishNode(node, "EmptyStatement")
981
+ }
982
+
983
+ pp$1.parseLabeledStatement = function(node, maybeName, expr) {
984
+ var this$1 = this;
985
+
986
+ for (var i = 0; i < this.labels.length; ++i)
987
+ if (this$1.labels[i].name === maybeName) this$1.raise(expr.start, "Label '" + maybeName + "' is already declared")
988
+ var kind = this.type.isLoop ? "loop" : this.type === tt._switch ? "switch" : null
989
+ for (var i$1 = this.labels.length - 1; i$1 >= 0; i$1--) {
990
+ var label = this$1.labels[i$1]
991
+ if (label.statementStart == node.start) {
992
+ label.statementStart = this$1.start
993
+ label.kind = kind
994
+ } else break
995
+ }
996
+ this.labels.push({name: maybeName, kind: kind, statementStart: this.start})
997
+ node.body = this.parseStatement(true)
998
+ this.labels.pop()
999
+ node.label = expr
1000
+ return this.finishNode(node, "LabeledStatement")
1001
+ }
1002
+
1003
+ pp$1.parseExpressionStatement = function(node, expr) {
1004
+ node.expression = expr
1005
+ this.semicolon()
1006
+ return this.finishNode(node, "ExpressionStatement")
1007
+ }
1008
+
1009
+ // Parse a semicolon-enclosed block of statements, handling `"use
1010
+ // strict"` declarations when `allowStrict` is true (used for
1011
+ // function bodies).
1012
+
1013
+ pp$1.parseBlock = function(allowStrict) {
1014
+ var this$1 = this;
1015
+
1016
+ var node = this.startNode(), first = true, oldStrict
1017
+ node.body = []
1018
+ this.expect(tt.braceL)
1019
+ while (!this.eat(tt.braceR)) {
1020
+ var stmt = this$1.parseStatement(true)
1021
+ node.body.push(stmt)
1022
+ if (first && allowStrict && this$1.isUseStrict(stmt)) {
1023
+ oldStrict = this$1.strict
1024
+ this$1.setStrict(this$1.strict = true)
1025
+ }
1026
+ first = false
1027
+ }
1028
+ if (oldStrict === false) this.setStrict(false)
1029
+ return this.finishNode(node, "BlockStatement")
1030
+ }
1031
+
1032
+ // Parse a regular `for` loop. The disambiguation code in
1033
+ // `parseStatement` will already have parsed the init statement or
1034
+ // expression.
1035
+
1036
+ pp$1.parseFor = function(node, init) {
1037
+ node.init = init
1038
+ this.expect(tt.semi)
1039
+ node.test = this.type === tt.semi ? null : this.parseExpression()
1040
+ this.expect(tt.semi)
1041
+ node.update = this.type === tt.parenR ? null : this.parseExpression()
1042
+ this.expect(tt.parenR)
1043
+ node.body = this.parseStatement(false)
1044
+ this.labels.pop()
1045
+ return this.finishNode(node, "ForStatement")
1046
+ }
1047
+
1048
+ // Parse a `for`/`in` and `for`/`of` loop, which are almost
1049
+ // same from parser's perspective.
1050
+
1051
+ pp$1.parseForIn = function(node, init) {
1052
+ var type = this.type === tt._in ? "ForInStatement" : "ForOfStatement"
1053
+ this.next()
1054
+ node.left = init
1055
+ node.right = this.parseExpression()
1056
+ this.expect(tt.parenR)
1057
+ node.body = this.parseStatement(false)
1058
+ this.labels.pop()
1059
+ return this.finishNode(node, type)
1060
+ }
1061
+
1062
+ // Parse a list of variable declarations.
1063
+
1064
+ pp$1.parseVar = function(node, isFor, kind) {
1065
+ var this$1 = this;
1066
+
1067
+ node.declarations = []
1068
+ node.kind = kind
1069
+ for (;;) {
1070
+ var decl = this$1.startNode()
1071
+ this$1.parseVarId(decl)
1072
+ if (this$1.eat(tt.eq)) {
1073
+ decl.init = this$1.parseMaybeAssign(isFor)
1074
+ } else if (kind === "const" && !(this$1.type === tt._in || (this$1.options.ecmaVersion >= 6 && this$1.isContextual("of")))) {
1075
+ this$1.unexpected()
1076
+ } else if (decl.id.type != "Identifier" && !(isFor && (this$1.type === tt._in || this$1.isContextual("of")))) {
1077
+ this$1.raise(this$1.lastTokEnd, "Complex binding patterns require an initialization value")
1078
+ } else {
1079
+ decl.init = null
1080
+ }
1081
+ node.declarations.push(this$1.finishNode(decl, "VariableDeclarator"))
1082
+ if (!this$1.eat(tt.comma)) break
1083
+ }
1084
+ return node
1085
+ }
1086
+
1087
+ pp$1.parseVarId = function(decl) {
1088
+ decl.id = this.parseBindingAtom()
1089
+ this.checkLVal(decl.id, true)
1090
+ }
1091
+
1092
+ // Parse a function declaration or literal (depending on the
1093
+ // `isStatement` parameter).
1094
+
1095
+ pp$1.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) {
1096
+ this.initFunction(node)
1097
+ if (this.options.ecmaVersion >= 6 && !isAsync)
1098
+ node.generator = this.eat(tt.star)
1099
+ if (this.options.ecmaVersion >= 8)
1100
+ node.async = !!isAsync
1101
+
1102
+ if (isStatement)
1103
+ node.id = this.parseIdent()
1104
+
1105
+ var oldInGen = this.inGenerator, oldInAsync = this.inAsync, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos
1106
+ this.inGenerator = node.generator
1107
+ this.inAsync = node.async
1108
+ this.yieldPos = 0
1109
+ this.awaitPos = 0
1110
+
1111
+ if (!isStatement && this.type === tt.name)
1112
+ node.id = this.parseIdent()
1113
+ this.parseFunctionParams(node)
1114
+ this.parseFunctionBody(node, allowExpressionBody)
1115
+
1116
+ this.inGenerator = oldInGen
1117
+ this.inAsync = oldInAsync
1118
+ this.yieldPos = oldYieldPos
1119
+ this.awaitPos = oldAwaitPos
1120
+ return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
1121
+ }
1122
+
1123
+ pp$1.parseFunctionParams = function(node) {
1124
+ this.expect(tt.parenL)
1125
+ node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8, true)
1126
+ this.checkYieldAwaitInDefaultParams()
1127
+ }
1128
+
1129
+ // Parse a class declaration or literal (depending on the
1130
+ // `isStatement` parameter).
1131
+
1132
+ pp$1.parseClass = function(node, isStatement) {
1133
+ var this$1 = this;
1134
+
1135
+ this.next()
1136
+ this.parseClassId(node, isStatement)
1137
+ this.parseClassSuper(node)
1138
+ var classBody = this.startNode()
1139
+ var hadConstructor = false
1140
+ classBody.body = []
1141
+ this.expect(tt.braceL)
1142
+ while (!this.eat(tt.braceR)) {
1143
+ if (this$1.eat(tt.semi)) continue
1144
+ var method = this$1.startNode()
1145
+ var isGenerator = this$1.eat(tt.star)
1146
+ var isAsync = false
1147
+ var isMaybeStatic = this$1.type === tt.name && this$1.value === "static"
1148
+ this$1.parsePropertyName(method)
1149
+ method.static = isMaybeStatic && this$1.type !== tt.parenL
1150
+ if (method.static) {
1151
+ if (isGenerator) this$1.unexpected()
1152
+ isGenerator = this$1.eat(tt.star)
1153
+ this$1.parsePropertyName(method)
1154
+ }
1155
+ if (this$1.options.ecmaVersion >= 8 && !isGenerator && !method.computed &&
1156
+ method.key.type === "Identifier" && method.key.name === "async" && this$1.type !== tt.parenL &&
1157
+ !this$1.canInsertSemicolon()) {
1158
+ isAsync = true
1159
+ this$1.parsePropertyName(method)
1160
+ }
1161
+ method.kind = "method"
1162
+ var isGetSet = false
1163
+ if (!method.computed) {
1164
+ var key = method.key;
1165
+ if (!isGenerator && !isAsync && key.type === "Identifier" && this$1.type !== tt.parenL && (key.name === "get" || key.name === "set")) {
1166
+ isGetSet = true
1167
+ method.kind = key.name
1168
+ key = this$1.parsePropertyName(method)
1169
+ }
1170
+ if (!method.static && (key.type === "Identifier" && key.name === "constructor" ||
1171
+ key.type === "Literal" && key.value === "constructor")) {
1172
+ if (hadConstructor) this$1.raise(key.start, "Duplicate constructor in the same class")
1173
+ if (isGetSet) this$1.raise(key.start, "Constructor can't have get/set modifier")
1174
+ if (isGenerator) this$1.raise(key.start, "Constructor can't be a generator")
1175
+ if (isAsync) this$1.raise(key.start, "Constructor can't be an async method")
1176
+ method.kind = "constructor"
1177
+ hadConstructor = true
1178
+ }
1179
+ }
1180
+ this$1.parseClassMethod(classBody, method, isGenerator, isAsync)
1181
+ if (isGetSet) {
1182
+ var paramCount = method.kind === "get" ? 0 : 1
1183
+ if (method.value.params.length !== paramCount) {
1184
+ var start = method.value.start
1185
+ if (method.kind === "get")
1186
+ this$1.raiseRecoverable(start, "getter should have no params")
1187
+ else
1188
+ this$1.raiseRecoverable(start, "setter should have exactly one param")
1189
+ } else {
1190
+ if (method.kind === "set" && method.value.params[0].type === "RestElement")
1191
+ this$1.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params")
1192
+ }
1193
+ }
1194
+ }
1195
+ node.body = this.finishNode(classBody, "ClassBody")
1196
+ return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
1197
+ }
1198
+
1199
+ pp$1.parseClassMethod = function(classBody, method, isGenerator, isAsync) {
1200
+ method.value = this.parseMethod(isGenerator, isAsync)
1201
+ classBody.body.push(this.finishNode(method, "MethodDefinition"))
1202
+ }
1203
+
1204
+ pp$1.parseClassId = function(node, isStatement) {
1205
+ node.id = this.type === tt.name ? this.parseIdent() : isStatement ? this.unexpected() : null
1206
+ }
1207
+
1208
+ pp$1.parseClassSuper = function(node) {
1209
+ node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null
1210
+ }
1211
+
1212
+ // Parses module export declaration.
1213
+
1214
+ pp$1.parseExport = function(node, exports) {
1215
+ var this$1 = this;
1216
+
1217
+ this.next()
1218
+ // export * from '...'
1219
+ if (this.eat(tt.star)) {
1220
+ this.expectContextual("from")
1221
+ node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
1222
+ this.semicolon()
1223
+ return this.finishNode(node, "ExportAllDeclaration")
1224
+ }
1225
+ if (this.eat(tt._default)) { // export default ...
1226
+ this.checkExport(exports, "default", this.lastTokStart)
1227
+ var parens = this.type == tt.parenL
1228
+ var expr = this.parseMaybeAssign()
1229
+ var needsSemi = true
1230
+ if (!parens && (expr.type == "FunctionExpression" ||
1231
+ expr.type == "ClassExpression")) {
1232
+ needsSemi = false
1233
+ if (expr.id) {
1234
+ expr.type = expr.type == "FunctionExpression"
1235
+ ? "FunctionDeclaration"
1236
+ : "ClassDeclaration"
1237
+ }
1238
+ }
1239
+ node.declaration = expr
1240
+ if (needsSemi) this.semicolon()
1241
+ return this.finishNode(node, "ExportDefaultDeclaration")
1242
+ }
1243
+ // export var|const|let|function|class ...
1244
+ if (this.shouldParseExportStatement()) {
1245
+ node.declaration = this.parseStatement(true)
1246
+ if (node.declaration.type === "VariableDeclaration")
1247
+ this.checkVariableExport(exports, node.declaration.declarations)
1248
+ else
1249
+ this.checkExport(exports, node.declaration.id.name, node.declaration.id.start)
1250
+ node.specifiers = []
1251
+ node.source = null
1252
+ } else { // export { x, y as z } [from '...']
1253
+ node.declaration = null
1254
+ node.specifiers = this.parseExportSpecifiers(exports)
1255
+ if (this.eatContextual("from")) {
1256
+ node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
1257
+ } else {
1258
+ // check for keywords used as local names
1259
+ for (var i = 0; i < node.specifiers.length; i++) {
1260
+ if (this$1.keywords.test(node.specifiers[i].local.name) || this$1.reservedWords.test(node.specifiers[i].local.name)) {
1261
+ this$1.unexpected(node.specifiers[i].local.start)
1262
+ }
1263
+ }
1264
+
1265
+ node.source = null
1266
+ }
1267
+ this.semicolon()
1268
+ }
1269
+ return this.finishNode(node, "ExportNamedDeclaration")
1270
+ }
1271
+
1272
+ pp$1.checkExport = function(exports, name, pos) {
1273
+ if (!exports) return
1274
+ if (Object.prototype.hasOwnProperty.call(exports, name))
1275
+ this.raiseRecoverable(pos, "Duplicate export '" + name + "'")
1276
+ exports[name] = true
1277
+ }
1278
+
1279
+ pp$1.checkPatternExport = function(exports, pat) {
1280
+ var this$1 = this;
1281
+
1282
+ var type = pat.type
1283
+ if (type == "Identifier")
1284
+ this.checkExport(exports, pat.name, pat.start)
1285
+ else if (type == "ObjectPattern")
1286
+ for (var i = 0; i < pat.properties.length; ++i)
1287
+ this$1.checkPatternExport(exports, pat.properties[i].value)
1288
+ else if (type == "ArrayPattern")
1289
+ for (var i$1 = 0; i$1 < pat.elements.length; ++i$1) {
1290
+ var elt = pat.elements[i$1]
1291
+ if (elt) this$1.checkPatternExport(exports, elt)
1292
+ }
1293
+ else if (type == "AssignmentPattern")
1294
+ this.checkPatternExport(exports, pat.left)
1295
+ else if (type == "ParenthesizedExpression")
1296
+ this.checkPatternExport(exports, pat.expression)
1297
+ }
1298
+
1299
+ pp$1.checkVariableExport = function(exports, decls) {
1300
+ var this$1 = this;
1301
+
1302
+ if (!exports) return
1303
+ for (var i = 0; i < decls.length; i++)
1304
+ this$1.checkPatternExport(exports, decls[i].id)
1305
+ }
1306
+
1307
+ pp$1.shouldParseExportStatement = function() {
1308
+ return this.type.keyword === "var"
1309
+ || this.type.keyword === "const"
1310
+ || this.type.keyword === "class"
1311
+ || this.type.keyword === "function"
1312
+ || this.isLet()
1313
+ || this.isAsyncFunction()
1314
+ }
1315
+
1316
+ // Parses a comma-separated list of module exports.
1317
+
1318
+ pp$1.parseExportSpecifiers = function(exports) {
1319
+ var this$1 = this;
1320
+
1321
+ var nodes = [], first = true
1322
+ // export { x, y as z } [from '...']
1323
+ this.expect(tt.braceL)
1324
+ while (!this.eat(tt.braceR)) {
1325
+ if (!first) {
1326
+ this$1.expect(tt.comma)
1327
+ if (this$1.afterTrailingComma(tt.braceR)) break
1328
+ } else first = false
1329
+
1330
+ var node = this$1.startNode()
1331
+ node.local = this$1.parseIdent(this$1.type === tt._default)
1332
+ node.exported = this$1.eatContextual("as") ? this$1.parseIdent(true) : node.local
1333
+ this$1.checkExport(exports, node.exported.name, node.exported.start)
1334
+ nodes.push(this$1.finishNode(node, "ExportSpecifier"))
1335
+ }
1336
+ return nodes
1337
+ }
1338
+
1339
+ // Parses import declaration.
1340
+
1341
+ pp$1.parseImport = function(node) {
1342
+ this.next()
1343
+ // import '...'
1344
+ if (this.type === tt.string) {
1345
+ node.specifiers = empty
1346
+ node.source = this.parseExprAtom()
1347
+ } else {
1348
+ node.specifiers = this.parseImportSpecifiers()
1349
+ this.expectContextual("from")
1350
+ node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()
1351
+ }
1352
+ this.semicolon()
1353
+ return this.finishNode(node, "ImportDeclaration")
1354
+ }
1355
+
1356
+ // Parses a comma-separated list of module imports.
1357
+
1358
+ pp$1.parseImportSpecifiers = function() {
1359
+ var this$1 = this;
1360
+
1361
+ var nodes = [], first = true
1362
+ if (this.type === tt.name) {
1363
+ // import defaultObj, { x, y as z } from '...'
1364
+ var node = this.startNode()
1365
+ node.local = this.parseIdent()
1366
+ this.checkLVal(node.local, true)
1367
+ nodes.push(this.finishNode(node, "ImportDefaultSpecifier"))
1368
+ if (!this.eat(tt.comma)) return nodes
1369
+ }
1370
+ if (this.type === tt.star) {
1371
+ var node$1 = this.startNode()
1372
+ this.next()
1373
+ this.expectContextual("as")
1374
+ node$1.local = this.parseIdent()
1375
+ this.checkLVal(node$1.local, true)
1376
+ nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"))
1377
+ return nodes
1378
+ }
1379
+ this.expect(tt.braceL)
1380
+ while (!this.eat(tt.braceR)) {
1381
+ if (!first) {
1382
+ this$1.expect(tt.comma)
1383
+ if (this$1.afterTrailingComma(tt.braceR)) break
1384
+ } else first = false
1385
+
1386
+ var node$2 = this$1.startNode()
1387
+ node$2.imported = this$1.parseIdent(true)
1388
+ if (this$1.eatContextual("as")) {
1389
+ node$2.local = this$1.parseIdent()
1390
+ } else {
1391
+ node$2.local = node$2.imported
1392
+ if (this$1.isKeyword(node$2.local.name)) this$1.unexpected(node$2.local.start)
1393
+ if (this$1.reservedWordsStrict.test(node$2.local.name)) this$1.raiseRecoverable(node$2.local.start, "The keyword '" + node$2.local.name + "' is reserved")
1394
+ }
1395
+ this$1.checkLVal(node$2.local, true)
1396
+ nodes.push(this$1.finishNode(node$2, "ImportSpecifier"))
1397
+ }
1398
+ return nodes
1399
+ }
1400
+
1401
+ var pp$2 = Parser.prototype
1402
+
1403
+ // Convert existing expression atom to assignable pattern
1404
+ // if possible.
1405
+
1406
+ pp$2.toAssignable = function(node, isBinding) {
1407
+ var this$1 = this;
1408
+
1409
+ if (this.options.ecmaVersion >= 6 && node) {
1410
+ switch (node.type) {
1411
+ case "Identifier":
1412
+ if (this.inAsync && node.name === "await")
1413
+ this.raise(node.start, "Can not use 'await' as identifier inside an async function")
1414
+ break
1415
+
1416
+ case "ObjectPattern":
1417
+ case "ArrayPattern":
1418
+ break
1419
+
1420
+ case "ObjectExpression":
1421
+ node.type = "ObjectPattern"
1422
+ for (var i = 0; i < node.properties.length; i++) {
1423
+ var prop = node.properties[i]
1424
+ if (prop.kind !== "init") this$1.raise(prop.key.start, "Object pattern can't contain getter or setter")
1425
+ this$1.toAssignable(prop.value, isBinding)
1426
+ }
1427
+ break
1428
+
1429
+ case "ArrayExpression":
1430
+ node.type = "ArrayPattern"
1431
+ this.toAssignableList(node.elements, isBinding)
1432
+ break
1433
+
1434
+ case "AssignmentExpression":
1435
+ if (node.operator === "=") {
1436
+ node.type = "AssignmentPattern"
1437
+ delete node.operator
1438
+ this.toAssignable(node.left, isBinding)
1439
+ // falls through to AssignmentPattern
1440
+ } else {
1441
+ this.raise(node.left.end, "Only '=' operator can be used for specifying default value.")
1442
+ break
1443
+ }
1444
+
1445
+ case "AssignmentPattern":
1446
+ break
1447
+
1448
+ case "ParenthesizedExpression":
1449
+ node.expression = this.toAssignable(node.expression, isBinding)
1450
+ break
1451
+
1452
+ case "MemberExpression":
1453
+ if (!isBinding) break
1454
+
1455
+ default:
1456
+ this.raise(node.start, "Assigning to rvalue")
1457
+ }
1458
+ }
1459
+ return node
1460
+ }
1461
+
1462
+ // Convert list of expression atoms to binding list.
1463
+
1464
+ pp$2.toAssignableList = function(exprList, isBinding) {
1465
+ var this$1 = this;
1466
+
1467
+ var end = exprList.length
1468
+ if (end) {
1469
+ var last = exprList[end - 1]
1470
+ if (last && last.type == "RestElement") {
1471
+ --end
1472
+ } else if (last && last.type == "SpreadElement") {
1473
+ last.type = "RestElement"
1474
+ var arg = last.argument
1475
+ this.toAssignable(arg, isBinding)
1476
+ if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern")
1477
+ this.unexpected(arg.start)
1478
+ --end
1479
+ }
1480
+
1481
+ if (isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier")
1482
+ this.unexpected(last.argument.start)
1483
+ }
1484
+ for (var i = 0; i < end; i++) {
1485
+ var elt = exprList[i]
1486
+ if (elt) this$1.toAssignable(elt, isBinding)
1487
+ }
1488
+ return exprList
1489
+ }
1490
+
1491
+ // Parses spread element.
1492
+
1493
+ pp$2.parseSpread = function(refDestructuringErrors) {
1494
+ var node = this.startNode()
1495
+ this.next()
1496
+ node.argument = this.parseMaybeAssign(false, refDestructuringErrors)
1497
+ return this.finishNode(node, "SpreadElement")
1498
+ }
1499
+
1500
+ pp$2.parseRest = function(allowNonIdent) {
1501
+ var node = this.startNode()
1502
+ this.next()
1503
+
1504
+ // RestElement inside of a function parameter must be an identifier
1505
+ if (allowNonIdent) node.argument = this.type === tt.name ? this.parseIdent() : this.unexpected()
1506
+ else node.argument = this.type === tt.name || this.type === tt.bracketL ? this.parseBindingAtom() : this.unexpected()
1507
+
1508
+ return this.finishNode(node, "RestElement")
1509
+ }
1510
+
1511
+ // Parses lvalue (assignable) atom.
1512
+
1513
+ pp$2.parseBindingAtom = function() {
1514
+ if (this.options.ecmaVersion < 6) return this.parseIdent()
1515
+ switch (this.type) {
1516
+ case tt.name:
1517
+ return this.parseIdent()
1518
+
1519
+ case tt.bracketL:
1520
+ var node = this.startNode()
1521
+ this.next()
1522
+ node.elements = this.parseBindingList(tt.bracketR, true, true)
1523
+ return this.finishNode(node, "ArrayPattern")
1524
+
1525
+ case tt.braceL:
1526
+ return this.parseObj(true)
1527
+
1528
+ default:
1529
+ this.unexpected()
1530
+ }
1531
+ }
1532
+
1533
+ pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowNonIdent) {
1534
+ var this$1 = this;
1535
+
1536
+ var elts = [], first = true
1537
+ while (!this.eat(close)) {
1538
+ if (first) first = false
1539
+ else this$1.expect(tt.comma)
1540
+ if (allowEmpty && this$1.type === tt.comma) {
1541
+ elts.push(null)
1542
+ } else if (allowTrailingComma && this$1.afterTrailingComma(close)) {
1543
+ break
1544
+ } else if (this$1.type === tt.ellipsis) {
1545
+ var rest = this$1.parseRest(allowNonIdent)
1546
+ this$1.parseBindingListItem(rest)
1547
+ elts.push(rest)
1548
+ if (this$1.type === tt.comma) this$1.raise(this$1.start, "Comma is not permitted after the rest element")
1549
+ this$1.expect(close)
1550
+ break
1551
+ } else {
1552
+ var elem = this$1.parseMaybeDefault(this$1.start, this$1.startLoc)
1553
+ this$1.parseBindingListItem(elem)
1554
+ elts.push(elem)
1555
+ }
1556
+ }
1557
+ return elts
1558
+ }
1559
+
1560
+ pp$2.parseBindingListItem = function(param) {
1561
+ return param
1562
+ }
1563
+
1564
+ // Parses assignment pattern around given atom if possible.
1565
+
1566
+ pp$2.parseMaybeDefault = function(startPos, startLoc, left) {
1567
+ left = left || this.parseBindingAtom()
1568
+ if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left
1569
+ var node = this.startNodeAt(startPos, startLoc)
1570
+ node.left = left
1571
+ node.right = this.parseMaybeAssign()
1572
+ return this.finishNode(node, "AssignmentPattern")
1573
+ }
1574
+
1575
+ // Verify that a node is an lval — something that can be assigned
1576
+ // to.
1577
+
1578
+ pp$2.checkLVal = function(expr, isBinding, checkClashes) {
1579
+ var this$1 = this;
1580
+
1581
+ switch (expr.type) {
1582
+ case "Identifier":
1583
+ if (this.strict && this.reservedWordsStrictBind.test(expr.name))
1584
+ this.raiseRecoverable(expr.start, (isBinding ? "Binding " : "Assigning to ") + expr.name + " in strict mode")
1585
+ if (checkClashes) {
1586
+ if (has(checkClashes, expr.name))
1587
+ this.raiseRecoverable(expr.start, "Argument name clash")
1588
+ checkClashes[expr.name] = true
1589
+ }
1590
+ break
1591
+
1592
+ case "MemberExpression":
1593
+ if (isBinding) this.raiseRecoverable(expr.start, (isBinding ? "Binding" : "Assigning to") + " member expression")
1594
+ break
1595
+
1596
+ case "ObjectPattern":
1597
+ for (var i = 0; i < expr.properties.length; i++)
1598
+ this$1.checkLVal(expr.properties[i].value, isBinding, checkClashes)
1599
+ break
1600
+
1601
+ case "ArrayPattern":
1602
+ for (var i$1 = 0; i$1 < expr.elements.length; i$1++) {
1603
+ var elem = expr.elements[i$1]
1604
+ if (elem) this$1.checkLVal(elem, isBinding, checkClashes)
1605
+ }
1606
+ break
1607
+
1608
+ case "AssignmentPattern":
1609
+ this.checkLVal(expr.left, isBinding, checkClashes)
1610
+ break
1611
+
1612
+ case "RestElement":
1613
+ this.checkLVal(expr.argument, isBinding, checkClashes)
1614
+ break
1615
+
1616
+ case "ParenthesizedExpression":
1617
+ this.checkLVal(expr.expression, isBinding, checkClashes)
1618
+ break
1619
+
1620
+ default:
1621
+ this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " rvalue")
1622
+ }
1623
+ }
1624
+
1625
+ // A recursive descent parser operates by defining functions for all
1626
+ // syntactic elements, and recursively calling those, each function
1627
+ // advancing the input stream and returning an AST node. Precedence
1628
+ // of constructs (for example, the fact that `!x[1]` means `!(x[1])`
1629
+ // instead of `(!x)[1]` is handled by the fact that the parser
1630
+ // function that parses unary prefix operators is called first, and
1631
+ // in turn calls the function that parses `[]` subscripts — that
1632
+ // way, it'll receive the node for `x[1]` already parsed, and wraps
1633
+ // *that* in the unary operator node.
1634
+ //
1635
+ // Acorn uses an [operator precedence parser][opp] to handle binary
1636
+ // operator precedence, because it is much more compact than using
1637
+ // the technique outlined above, which uses different, nesting
1638
+ // functions to specify precedence, for all of the ten binary
1639
+ // precedence levels that JavaScript defines.
1640
+ //
1641
+ // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
1642
+
1643
+ var pp$3 = Parser.prototype
1644
+
1645
+ // Check if property name clashes with already added.
1646
+ // Object/class getters and setters are not allowed to clash —
1647
+ // either with each other or with an init property — and in
1648
+ // strict mode, init properties are also not allowed to be repeated.
1649
+
1650
+ pp$3.checkPropClash = function(prop, propHash) {
1651
+ if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
1652
+ return
1653
+ var key = prop.key;
1654
+ var name
1655
+ switch (key.type) {
1656
+ case "Identifier": name = key.name; break
1657
+ case "Literal": name = String(key.value); break
1658
+ default: return
1659
+ }
1660
+ var kind = prop.kind;
1661
+ if (this.options.ecmaVersion >= 6) {
1662
+ if (name === "__proto__" && kind === "init") {
1663
+ if (propHash.proto) this.raiseRecoverable(key.start, "Redefinition of __proto__ property")
1664
+ propHash.proto = true
1665
+ }
1666
+ return
1667
+ }
1668
+ name = "$" + name
1669
+ var other = propHash[name]
1670
+ if (other) {
1671
+ var isGetSet = kind !== "init"
1672
+ if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init))
1673
+ this.raiseRecoverable(key.start, "Redefinition of property")
1674
+ } else {
1675
+ other = propHash[name] = {
1676
+ init: false,
1677
+ get: false,
1678
+ set: false
1679
+ }
1680
+ }
1681
+ other[kind] = true
1682
+ }
1683
+
1684
+ // ### Expression parsing
1685
+
1686
+ // These nest, from the most general expression type at the top to
1687
+ // 'atomic', nondivisible expression types at the bottom. Most of
1688
+ // the functions will simply let the function(s) below them parse,
1689
+ // and, *if* the syntactic construct they handle is present, wrap
1690
+ // the AST node that the inner parser gave them in another node.
1691
+
1692
+ // Parse a full expression. The optional arguments are used to
1693
+ // forbid the `in` operator (in for loops initalization expressions)
1694
+ // and provide reference for storing '=' operator inside shorthand
1695
+ // property assignment in contexts where both object expression
1696
+ // and object pattern might appear (so it's possible to raise
1697
+ // delayed syntax error at correct position).
1698
+
1699
+ pp$3.parseExpression = function(noIn, refDestructuringErrors) {
1700
+ var this$1 = this;
1701
+
1702
+ var startPos = this.start, startLoc = this.startLoc
1703
+ var expr = this.parseMaybeAssign(noIn, refDestructuringErrors)
1704
+ if (this.type === tt.comma) {
1705
+ var node = this.startNodeAt(startPos, startLoc)
1706
+ node.expressions = [expr]
1707
+ while (this.eat(tt.comma)) node.expressions.push(this$1.parseMaybeAssign(noIn, refDestructuringErrors))
1708
+ return this.finishNode(node, "SequenceExpression")
1709
+ }
1710
+ return expr
1711
+ }
1712
+
1713
+ // Parse an assignment expression. This includes applications of
1714
+ // operators like `+=`.
1715
+
1716
+ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
1717
+ if (this.inGenerator && this.isContextual("yield")) return this.parseYield()
1718
+
1719
+ var ownDestructuringErrors = false
1720
+ if (!refDestructuringErrors) {
1721
+ refDestructuringErrors = new DestructuringErrors
1722
+ ownDestructuringErrors = true
1723
+ }
1724
+ var startPos = this.start, startLoc = this.startLoc
1725
+ if (this.type == tt.parenL || this.type == tt.name)
1726
+ this.potentialArrowAt = this.start
1727
+ var left = this.parseMaybeConditional(noIn, refDestructuringErrors)
1728
+ if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc)
1729
+ if (this.type.isAssign) {
1730
+ this.checkPatternErrors(refDestructuringErrors, true)
1731
+ if (!ownDestructuringErrors) DestructuringErrors.call(refDestructuringErrors)
1732
+ var node = this.startNodeAt(startPos, startLoc)
1733
+ node.operator = this.value
1734
+ node.left = this.type === tt.eq ? this.toAssignable(left) : left
1735
+ refDestructuringErrors.shorthandAssign = 0 // reset because shorthand default was used correctly
1736
+ this.checkLVal(left)
1737
+ this.next()
1738
+ node.right = this.parseMaybeAssign(noIn)
1739
+ return this.finishNode(node, "AssignmentExpression")
1740
+ } else {
1741
+ if (ownDestructuringErrors) this.checkExpressionErrors(refDestructuringErrors, true)
1742
+ }
1743
+ return left
1744
+ }
1745
+
1746
+ // Parse a ternary conditional (`?:`) operator.
1747
+
1748
+ pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
1749
+ var startPos = this.start, startLoc = this.startLoc
1750
+ var expr = this.parseExprOps(noIn, refDestructuringErrors)
1751
+ if (this.checkExpressionErrors(refDestructuringErrors)) return expr
1752
+ if (this.eat(tt.question)) {
1753
+ var node = this.startNodeAt(startPos, startLoc)
1754
+ node.test = expr
1755
+ node.consequent = this.parseMaybeAssign()
1756
+ this.expect(tt.colon)
1757
+ node.alternate = this.parseMaybeAssign(noIn)
1758
+ return this.finishNode(node, "ConditionalExpression")
1759
+ }
1760
+ return expr
1761
+ }
1762
+
1763
+ // Start the precedence parser.
1764
+
1765
+ pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
1766
+ var startPos = this.start, startLoc = this.startLoc
1767
+ var expr = this.parseMaybeUnary(refDestructuringErrors, false)
1768
+ if (this.checkExpressionErrors(refDestructuringErrors)) return expr
1769
+ return this.parseExprOp(expr, startPos, startLoc, -1, noIn)
1770
+ }
1771
+
1772
+ // Parse binary operators with the operator precedence parsing
1773
+ // algorithm. `left` is the left-hand side of the operator.
1774
+ // `minPrec` provides context that allows the function to stop and
1775
+ // defer further parser to one of its callers when it encounters an
1776
+ // operator that has a lower precedence than the set it is parsing.
1777
+
1778
+ pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
1779
+ var prec = this.type.binop
1780
+ if (prec != null && (!noIn || this.type !== tt._in)) {
1781
+ if (prec > minPrec) {
1782
+ var logical = this.type === tt.logicalOR || this.type === tt.logicalAND
1783
+ var op = this.value
1784
+ this.next()
1785
+ var startPos = this.start, startLoc = this.startLoc
1786
+ var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn)
1787
+ var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical)
1788
+ return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
1789
+ }
1790
+ }
1791
+ return left
1792
+ }
1793
+
1794
+ pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
1795
+ var node = this.startNodeAt(startPos, startLoc)
1796
+ node.left = left
1797
+ node.operator = op
1798
+ node.right = right
1799
+ return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression")
1800
+ }
1801
+
1802
+ // Parse unary operators, both prefix and postfix.
1803
+
1804
+ pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {
1805
+ var this$1 = this;
1806
+
1807
+ var startPos = this.start, startLoc = this.startLoc, expr
1808
+ if (this.inAsync && this.isContextual("await")) {
1809
+ expr = this.parseAwait(refDestructuringErrors)
1810
+ sawUnary = true
1811
+ } else if (this.type.prefix) {
1812
+ var node = this.startNode(), update = this.type === tt.incDec
1813
+ node.operator = this.value
1814
+ node.prefix = true
1815
+ this.next()
1816
+ node.argument = this.parseMaybeUnary(null, true)
1817
+ this.checkExpressionErrors(refDestructuringErrors, true)
1818
+ if (update) this.checkLVal(node.argument)
1819
+ else if (this.strict && node.operator === "delete" &&
1820
+ node.argument.type === "Identifier")
1821
+ this.raiseRecoverable(node.start, "Deleting local variable in strict mode")
1822
+ else sawUnary = true
1823
+ expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression")
1824
+ } else {
1825
+ expr = this.parseExprSubscripts(refDestructuringErrors)
1826
+ if (this.checkExpressionErrors(refDestructuringErrors)) return expr
1827
+ while (this.type.postfix && !this.canInsertSemicolon()) {
1828
+ var node$1 = this$1.startNodeAt(startPos, startLoc)
1829
+ node$1.operator = this$1.value
1830
+ node$1.prefix = false
1831
+ node$1.argument = expr
1832
+ this$1.checkLVal(expr)
1833
+ this$1.next()
1834
+ expr = this$1.finishNode(node$1, "UpdateExpression")
1835
+ }
1836
+ }
1837
+
1838
+ if (!sawUnary && this.eat(tt.starstar))
1839
+ return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false)
1840
+ else
1841
+ return expr
1842
+ }
1843
+
1844
+ // Parse call, dot, and `[]`-subscript expressions.
1845
+
1846
+ pp$3.parseExprSubscripts = function(refDestructuringErrors) {
1847
+ var startPos = this.start, startLoc = this.startLoc
1848
+ var expr = this.parseExprAtom(refDestructuringErrors)
1849
+ var skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")"
1850
+ if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr
1851
+ return this.parseSubscripts(expr, startPos, startLoc)
1852
+ }
1853
+
1854
+ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
1855
+ var this$1 = this;
1856
+
1857
+ for (;;) {
1858
+ var maybeAsyncArrow = this$1.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && !this$1.canInsertSemicolon()
1859
+ if (this$1.eat(tt.dot)) {
1860
+ var node = this$1.startNodeAt(startPos, startLoc)
1861
+ node.object = base
1862
+ node.property = this$1.parseIdent(true)
1863
+ node.computed = false
1864
+ base = this$1.finishNode(node, "MemberExpression")
1865
+ } else if (this$1.eat(tt.bracketL)) {
1866
+ var node$1 = this$1.startNodeAt(startPos, startLoc)
1867
+ node$1.object = base
1868
+ node$1.property = this$1.parseExpression()
1869
+ node$1.computed = true
1870
+ this$1.expect(tt.bracketR)
1871
+ base = this$1.finishNode(node$1, "MemberExpression")
1872
+ } else if (!noCalls && this$1.eat(tt.parenL)) {
1873
+ var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this$1.yieldPos, oldAwaitPos = this$1.awaitPos
1874
+ this$1.yieldPos = 0
1875
+ this$1.awaitPos = 0
1876
+ var exprList = this$1.parseExprList(tt.parenR, this$1.options.ecmaVersion >= 8, false, refDestructuringErrors)
1877
+ if (maybeAsyncArrow && !this$1.canInsertSemicolon() && this$1.eat(tt.arrow)) {
1878
+ this$1.checkPatternErrors(refDestructuringErrors, true)
1879
+ this$1.checkYieldAwaitInDefaultParams()
1880
+ this$1.yieldPos = oldYieldPos
1881
+ this$1.awaitPos = oldAwaitPos
1882
+ return this$1.parseArrowExpression(this$1.startNodeAt(startPos, startLoc), exprList, true)
1883
+ }
1884
+ this$1.checkExpressionErrors(refDestructuringErrors, true)
1885
+ this$1.yieldPos = oldYieldPos || this$1.yieldPos
1886
+ this$1.awaitPos = oldAwaitPos || this$1.awaitPos
1887
+ var node$2 = this$1.startNodeAt(startPos, startLoc)
1888
+ node$2.callee = base
1889
+ node$2.arguments = exprList
1890
+ base = this$1.finishNode(node$2, "CallExpression")
1891
+ } else if (this$1.type === tt.backQuote) {
1892
+ var node$3 = this$1.startNodeAt(startPos, startLoc)
1893
+ node$3.tag = base
1894
+ node$3.quasi = this$1.parseTemplate()
1895
+ base = this$1.finishNode(node$3, "TaggedTemplateExpression")
1896
+ } else {
1897
+ return base
1898
+ }
1899
+ }
1900
+ }
1901
+
1902
+ // Parse an atomic expression — either a single token that is an
1903
+ // expression, an expression started by a keyword like `function` or
1904
+ // `new`, or an expression wrapped in punctuation like `()`, `[]`,
1905
+ // or `{}`.
1906
+
1907
+ pp$3.parseExprAtom = function(refDestructuringErrors) {
1908
+ var node, canBeArrow = this.potentialArrowAt == this.start
1909
+ switch (this.type) {
1910
+ case tt._super:
1911
+ if (!this.inFunction)
1912
+ this.raise(this.start, "'super' outside of function or class")
1913
+
1914
+ case tt._this:
1915
+ var type = this.type === tt._this ? "ThisExpression" : "Super"
1916
+ node = this.startNode()
1917
+ this.next()
1918
+ return this.finishNode(node, type)
1919
+
1920
+ case tt.name:
1921
+ var startPos = this.start, startLoc = this.startLoc
1922
+ var id = this.parseIdent(this.type !== tt.name)
1923
+ if (this.options.ecmaVersion >= 8 && id.name === "async" && !this.canInsertSemicolon() && this.eat(tt._function))
1924
+ return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true)
1925
+ if (canBeArrow && !this.canInsertSemicolon()) {
1926
+ if (this.eat(tt.arrow))
1927
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false)
1928
+ if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === tt.name) {
1929
+ id = this.parseIdent()
1930
+ if (this.canInsertSemicolon() || !this.eat(tt.arrow))
1931
+ this.unexpected()
1932
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)
1933
+ }
1934
+ }
1935
+ return id
1936
+
1937
+ case tt.regexp:
1938
+ var value = this.value
1939
+ node = this.parseLiteral(value.value)
1940
+ node.regex = {pattern: value.pattern, flags: value.flags}
1941
+ return node
1942
+
1943
+ case tt.num: case tt.string:
1944
+ return this.parseLiteral(this.value)
1945
+
1946
+ case tt._null: case tt._true: case tt._false:
1947
+ node = this.startNode()
1948
+ node.value = this.type === tt._null ? null : this.type === tt._true
1949
+ node.raw = this.type.keyword
1950
+ this.next()
1951
+ return this.finishNode(node, "Literal")
1952
+
1953
+ case tt.parenL:
1954
+ return this.parseParenAndDistinguishExpression(canBeArrow)
1955
+
1956
+ case tt.bracketL:
1957
+ node = this.startNode()
1958
+ this.next()
1959
+ node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors)
1960
+ return this.finishNode(node, "ArrayExpression")
1961
+
1962
+ case tt.braceL:
1963
+ return this.parseObj(false, refDestructuringErrors)
1964
+
1965
+ case tt._function:
1966
+ node = this.startNode()
1967
+ this.next()
1968
+ return this.parseFunction(node, false)
1969
+
1970
+ case tt._class:
1971
+ return this.parseClass(this.startNode(), false)
1972
+
1973
+ case tt._new:
1974
+ return this.parseNew()
1975
+
1976
+ case tt.backQuote:
1977
+ return this.parseTemplate()
1978
+
1979
+ default:
1980
+ this.unexpected()
1981
+ }
1982
+ }
1983
+
1984
+ pp$3.parseLiteral = function(value) {
1985
+ var node = this.startNode()
1986
+ node.value = value
1987
+ node.raw = this.input.slice(this.start, this.end)
1988
+ this.next()
1989
+ return this.finishNode(node, "Literal")
1990
+ }
1991
+
1992
+ pp$3.parseParenExpression = function() {
1993
+ this.expect(tt.parenL)
1994
+ var val = this.parseExpression()
1995
+ this.expect(tt.parenR)
1996
+ return val
1997
+ }
1998
+
1999
+ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
2000
+ var this$1 = this;
2001
+
2002
+ var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8
2003
+ if (this.options.ecmaVersion >= 6) {
2004
+ this.next()
2005
+
2006
+ var innerStartPos = this.start, innerStartLoc = this.startLoc
2007
+ var exprList = [], first = true, lastIsComma = false
2008
+ var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart, innerParenStart
2009
+ this.yieldPos = 0
2010
+ this.awaitPos = 0
2011
+ while (this.type !== tt.parenR) {
2012
+ first ? first = false : this$1.expect(tt.comma)
2013
+ if (allowTrailingComma && this$1.afterTrailingComma(tt.parenR, true)) {
2014
+ lastIsComma = true
2015
+ break
2016
+ } else if (this$1.type === tt.ellipsis) {
2017
+ spreadStart = this$1.start
2018
+ exprList.push(this$1.parseParenItem(this$1.parseRest()))
2019
+ if (this$1.type === tt.comma) this$1.raise(this$1.start, "Comma is not permitted after the rest element")
2020
+ break
2021
+ } else {
2022
+ if (this$1.type === tt.parenL && !innerParenStart) {
2023
+ innerParenStart = this$1.start
2024
+ }
2025
+ exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem))
2026
+ }
2027
+ }
2028
+ var innerEndPos = this.start, innerEndLoc = this.startLoc
2029
+ this.expect(tt.parenR)
2030
+
2031
+ if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {
2032
+ this.checkPatternErrors(refDestructuringErrors, true)
2033
+ this.checkYieldAwaitInDefaultParams()
2034
+ if (innerParenStart) this.unexpected(innerParenStart)
2035
+ this.yieldPos = oldYieldPos
2036
+ this.awaitPos = oldAwaitPos
2037
+ return this.parseParenArrowList(startPos, startLoc, exprList)
2038
+ }
2039
+
2040
+ if (!exprList.length || lastIsComma) this.unexpected(this.lastTokStart)
2041
+ if (spreadStart) this.unexpected(spreadStart)
2042
+ this.checkExpressionErrors(refDestructuringErrors, true)
2043
+ this.yieldPos = oldYieldPos || this.yieldPos
2044
+ this.awaitPos = oldAwaitPos || this.awaitPos
2045
+
2046
+ if (exprList.length > 1) {
2047
+ val = this.startNodeAt(innerStartPos, innerStartLoc)
2048
+ val.expressions = exprList
2049
+ this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc)
2050
+ } else {
2051
+ val = exprList[0]
2052
+ }
2053
+ } else {
2054
+ val = this.parseParenExpression()
2055
+ }
2056
+
2057
+ if (this.options.preserveParens) {
2058
+ var par = this.startNodeAt(startPos, startLoc)
2059
+ par.expression = val
2060
+ return this.finishNode(par, "ParenthesizedExpression")
2061
+ } else {
2062
+ return val
2063
+ }
2064
+ }
2065
+
2066
+ pp$3.parseParenItem = function(item) {
2067
+ return item
2068
+ }
2069
+
2070
+ pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
2071
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
2072
+ }
2073
+
2074
+ // New's precedence is slightly tricky. It must allow its argument to
2075
+ // be a `[]` or dot subscript expression, but not a call — at least,
2076
+ // not without wrapping it in parentheses. Thus, it uses the noCalls
2077
+ // argument to parseSubscripts to prevent it from consuming the
2078
+ // argument list.
2079
+
2080
+ var empty$1 = []
2081
+
2082
+ pp$3.parseNew = function() {
2083
+ var node = this.startNode()
2084
+ var meta = this.parseIdent(true)
2085
+ if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {
2086
+ node.meta = meta
2087
+ node.property = this.parseIdent(true)
2088
+ if (node.property.name !== "target")
2089
+ this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target")
2090
+ if (!this.inFunction)
2091
+ this.raiseRecoverable(node.start, "new.target can only be used in functions")
2092
+ return this.finishNode(node, "MetaProperty")
2093
+ }
2094
+ var startPos = this.start, startLoc = this.startLoc
2095
+ node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true)
2096
+ if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false)
2097
+ else node.arguments = empty$1
2098
+ return this.finishNode(node, "NewExpression")
2099
+ }
2100
+
2101
+ // Parse template expression.
2102
+
2103
+ pp$3.parseTemplateElement = function() {
2104
+ var elem = this.startNode()
2105
+ elem.value = {
2106
+ raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
2107
+ cooked: this.value
2108
+ }
2109
+ this.next()
2110
+ elem.tail = this.type === tt.backQuote
2111
+ return this.finishNode(elem, "TemplateElement")
2112
+ }
2113
+
2114
+ pp$3.parseTemplate = function() {
2115
+ var this$1 = this;
2116
+
2117
+ var node = this.startNode()
2118
+ this.next()
2119
+ node.expressions = []
2120
+ var curElt = this.parseTemplateElement()
2121
+ node.quasis = [curElt]
2122
+ while (!curElt.tail) {
2123
+ this$1.expect(tt.dollarBraceL)
2124
+ node.expressions.push(this$1.parseExpression())
2125
+ this$1.expect(tt.braceR)
2126
+ node.quasis.push(curElt = this$1.parseTemplateElement())
2127
+ }
2128
+ this.next()
2129
+ return this.finishNode(node, "TemplateLiteral")
2130
+ }
2131
+
2132
+ // Parse an object literal or binding pattern.
2133
+
2134
+ pp$3.parseObj = function(isPattern, refDestructuringErrors) {
2135
+ var this$1 = this;
2136
+
2137
+ var node = this.startNode(), first = true, propHash = {}
2138
+ node.properties = []
2139
+ this.next()
2140
+ while (!this.eat(tt.braceR)) {
2141
+ if (!first) {
2142
+ this$1.expect(tt.comma)
2143
+ if (this$1.afterTrailingComma(tt.braceR)) break
2144
+ } else first = false
2145
+
2146
+ var prop = this$1.startNode(), isGenerator, isAsync, startPos, startLoc
2147
+ if (this$1.options.ecmaVersion >= 6) {
2148
+ prop.method = false
2149
+ prop.shorthand = false
2150
+ if (isPattern || refDestructuringErrors) {
2151
+ startPos = this$1.start
2152
+ startLoc = this$1.startLoc
2153
+ }
2154
+ if (!isPattern)
2155
+ isGenerator = this$1.eat(tt.star)
2156
+ }
2157
+ this$1.parsePropertyName(prop)
2158
+ if (!isPattern && this$1.options.ecmaVersion >= 8 && !isGenerator && !prop.computed &&
2159
+ prop.key.type === "Identifier" && prop.key.name === "async" && this$1.type !== tt.parenL &&
2160
+ this$1.type !== tt.colon && !this$1.canInsertSemicolon()) {
2161
+ isAsync = true
2162
+ this$1.parsePropertyName(prop, refDestructuringErrors)
2163
+ } else {
2164
+ isAsync = false
2165
+ }
2166
+ this$1.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors)
2167
+ this$1.checkPropClash(prop, propHash)
2168
+ node.properties.push(this$1.finishNode(prop, "Property"))
2169
+ }
2170
+ return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
2171
+ }
2172
+
2173
+ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors) {
2174
+ if ((isGenerator || isAsync) && this.type === tt.colon)
2175
+ this.unexpected()
2176
+
2177
+ if (this.eat(tt.colon)) {
2178
+ prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors)
2179
+ prop.kind = "init"
2180
+ } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) {
2181
+ if (isPattern) this.unexpected()
2182
+ prop.kind = "init"
2183
+ prop.method = true
2184
+ prop.value = this.parseMethod(isGenerator, isAsync)
2185
+ } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
2186
+ (prop.key.name === "get" || prop.key.name === "set") &&
2187
+ (this.type != tt.comma && this.type != tt.braceR)) {
2188
+ if (isGenerator || isAsync || isPattern) this.unexpected()
2189
+ prop.kind = prop.key.name
2190
+ this.parsePropertyName(prop)
2191
+ prop.value = this.parseMethod(false)
2192
+ var paramCount = prop.kind === "get" ? 0 : 1
2193
+ if (prop.value.params.length !== paramCount) {
2194
+ var start = prop.value.start
2195
+ if (prop.kind === "get")
2196
+ this.raiseRecoverable(start, "getter should have no params")
2197
+ else
2198
+ this.raiseRecoverable(start, "setter should have exactly one param")
2199
+ } else {
2200
+ if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
2201
+ this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params")
2202
+ }
2203
+ } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
2204
+ if (this.keywords.test(prop.key.name) ||
2205
+ (this.strict ? this.reservedWordsStrict : this.reservedWords).test(prop.key.name) ||
2206
+ (this.inGenerator && prop.key.name == "yield") ||
2207
+ (this.inAsync && prop.key.name == "await"))
2208
+ this.raiseRecoverable(prop.key.start, "'" + prop.key.name + "' can not be used as shorthand property")
2209
+ prop.kind = "init"
2210
+ if (isPattern) {
2211
+ prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
2212
+ } else if (this.type === tt.eq && refDestructuringErrors) {
2213
+ if (!refDestructuringErrors.shorthandAssign)
2214
+ refDestructuringErrors.shorthandAssign = this.start
2215
+ prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)
2216
+ } else {
2217
+ prop.value = prop.key
2218
+ }
2219
+ prop.shorthand = true
2220
+ } else this.unexpected()
2221
+ }
2222
+
2223
+ pp$3.parsePropertyName = function(prop) {
2224
+ if (this.options.ecmaVersion >= 6) {
2225
+ if (this.eat(tt.bracketL)) {
2226
+ prop.computed = true
2227
+ prop.key = this.parseMaybeAssign()
2228
+ this.expect(tt.bracketR)
2229
+ return prop.key
2230
+ } else {
2231
+ prop.computed = false
2232
+ }
2233
+ }
2234
+ return prop.key = this.type === tt.num || this.type === tt.string ? this.parseExprAtom() : this.parseIdent(true)
2235
+ }
2236
+
2237
+ // Initialize empty function node.
2238
+
2239
+ pp$3.initFunction = function(node) {
2240
+ node.id = null
2241
+ if (this.options.ecmaVersion >= 6) {
2242
+ node.generator = false
2243
+ node.expression = false
2244
+ }
2245
+ if (this.options.ecmaVersion >= 8)
2246
+ node.async = false
2247
+ }
2248
+
2249
+ // Parse object or class method.
2250
+
2251
+ pp$3.parseMethod = function(isGenerator, isAsync) {
2252
+ var node = this.startNode(), oldInGen = this.inGenerator, oldInAsync = this.inAsync, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos
2253
+
2254
+ this.initFunction(node)
2255
+ if (this.options.ecmaVersion >= 6)
2256
+ node.generator = isGenerator
2257
+ if (this.options.ecmaVersion >= 8)
2258
+ node.async = !!isAsync
2259
+
2260
+ this.inGenerator = node.generator
2261
+ this.inAsync = node.async
2262
+ this.yieldPos = 0
2263
+ this.awaitPos = 0
2264
+
2265
+ this.expect(tt.parenL)
2266
+ node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8)
2267
+ this.checkYieldAwaitInDefaultParams()
2268
+ this.parseFunctionBody(node, false)
2269
+
2270
+ this.inGenerator = oldInGen
2271
+ this.inAsync = oldInAsync
2272
+ this.yieldPos = oldYieldPos
2273
+ this.awaitPos = oldAwaitPos
2274
+ return this.finishNode(node, "FunctionExpression")
2275
+ }
2276
+
2277
+ // Parse arrow function expression with given parameters.
2278
+
2279
+ pp$3.parseArrowExpression = function(node, params, isAsync) {
2280
+ var oldInGen = this.inGenerator, oldInAsync = this.inAsync, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos
2281
+
2282
+ this.initFunction(node)
2283
+ if (this.options.ecmaVersion >= 8)
2284
+ node.async = !!isAsync
2285
+
2286
+ this.inGenerator = false
2287
+ this.inAsync = node.async
2288
+ this.yieldPos = 0
2289
+ this.awaitPos = 0
2290
+
2291
+ node.params = this.toAssignableList(params, true)
2292
+ this.parseFunctionBody(node, true)
2293
+
2294
+ this.inGenerator = oldInGen
2295
+ this.inAsync = oldInAsync
2296
+ this.yieldPos = oldYieldPos
2297
+ this.awaitPos = oldAwaitPos
2298
+ return this.finishNode(node, "ArrowFunctionExpression")
2299
+ }
2300
+
2301
+ // Parse function body and check parameters.
2302
+
2303
+ pp$3.parseFunctionBody = function(node, isArrowFunction) {
2304
+ var isExpression = isArrowFunction && this.type !== tt.braceL
2305
+
2306
+ if (isExpression) {
2307
+ node.body = this.parseMaybeAssign()
2308
+ node.expression = true
2309
+ } else {
2310
+ // Start a new scope with regard to labels and the `inFunction`
2311
+ // flag (restore them to their old value afterwards).
2312
+ var oldInFunc = this.inFunction, oldLabels = this.labels
2313
+ this.inFunction = true; this.labels = []
2314
+ node.body = this.parseBlock(true)
2315
+ node.expression = false
2316
+ this.inFunction = oldInFunc; this.labels = oldLabels
2317
+ }
2318
+
2319
+ // If this is a strict mode function, verify that argument names
2320
+ // are not repeated, and it does not try to bind the words `eval`
2321
+ // or `arguments`.
2322
+ var useStrict = (!isExpression && node.body.body.length && this.isUseStrict(node.body.body[0])) ? node.body.body[0] : null
2323
+ if (useStrict && this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params))
2324
+ this.raiseRecoverable(useStrict.start, "Illegal 'use strict' directive in function with non-simple parameter list")
2325
+
2326
+ if (this.strict || useStrict) {
2327
+ var oldStrict = this.strict
2328
+ this.strict = true
2329
+ if (node.id)
2330
+ this.checkLVal(node.id, true)
2331
+ this.checkParams(node)
2332
+ this.strict = oldStrict
2333
+ } else if (isArrowFunction || !this.isSimpleParamList(node.params)) {
2334
+ this.checkParams(node)
2335
+ }
2336
+ }
2337
+
2338
+ pp$3.isSimpleParamList = function(params) {
2339
+ for (var i = 0; i < params.length; i++)
2340
+ if (params[i].type !== "Identifier") return false
2341
+ return true
2342
+ }
2343
+
2344
+ // Checks function params for various disallowed patterns such as using "eval"
2345
+ // or "arguments" and duplicate parameters.
2346
+
2347
+ pp$3.checkParams = function(node) {
2348
+ var this$1 = this;
2349
+
2350
+ var nameHash = {}
2351
+ for (var i = 0; i < node.params.length; i++) this$1.checkLVal(node.params[i], true, nameHash)
2352
+ }
2353
+
2354
+ // Parses a comma-separated list of expressions, and returns them as
2355
+ // an array. `close` is the token type that ends the list, and
2356
+ // `allowEmpty` can be turned on to allow subsequent commas with
2357
+ // nothing in between them to be parsed as `null` (which is needed
2358
+ // for array literals).
2359
+
2360
+ pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
2361
+ var this$1 = this;
2362
+
2363
+ var elts = [], first = true
2364
+ while (!this.eat(close)) {
2365
+ if (!first) {
2366
+ this$1.expect(tt.comma)
2367
+ if (allowTrailingComma && this$1.afterTrailingComma(close)) break
2368
+ } else first = false
2369
+
2370
+ var elt
2371
+ if (allowEmpty && this$1.type === tt.comma)
2372
+ elt = null
2373
+ else if (this$1.type === tt.ellipsis) {
2374
+ elt = this$1.parseSpread(refDestructuringErrors)
2375
+ if (this$1.type === tt.comma && refDestructuringErrors && !refDestructuringErrors.trailingComma) {
2376
+ refDestructuringErrors.trailingComma = this$1.start
2377
+ }
2378
+ } else
2379
+ elt = this$1.parseMaybeAssign(false, refDestructuringErrors)
2380
+ elts.push(elt)
2381
+ }
2382
+ return elts
2383
+ }
2384
+
2385
+ // Parse the next token as an identifier. If `liberal` is true (used
2386
+ // when parsing properties), it will also convert keywords into
2387
+ // identifiers.
2388
+
2389
+ pp$3.parseIdent = function(liberal) {
2390
+ var node = this.startNode()
2391
+ if (liberal && this.options.allowReserved == "never") liberal = false
2392
+ if (this.type === tt.name) {
2393
+ if (!liberal && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) &&
2394
+ (this.options.ecmaVersion >= 6 ||
2395
+ this.input.slice(this.start, this.end).indexOf("\\") == -1))
2396
+ this.raiseRecoverable(this.start, "The keyword '" + this.value + "' is reserved")
2397
+ if (this.inGenerator && this.value === "yield")
2398
+ this.raiseRecoverable(this.start, "Can not use 'yield' as identifier inside a generator")
2399
+ if (this.inAsync && this.value === "await")
2400
+ this.raiseRecoverable(this.start, "Can not use 'await' as identifier inside an async function")
2401
+ node.name = this.value
2402
+ } else if (liberal && this.type.keyword) {
2403
+ node.name = this.type.keyword
2404
+ } else {
2405
+ this.unexpected()
2406
+ }
2407
+ this.next()
2408
+ return this.finishNode(node, "Identifier")
2409
+ }
2410
+
2411
+ // Parses yield expression inside generator.
2412
+
2413
+ pp$3.parseYield = function() {
2414
+ if (!this.yieldPos) this.yieldPos = this.start
2415
+
2416
+ var node = this.startNode()
2417
+ this.next()
2418
+ if (this.type == tt.semi || this.canInsertSemicolon() || (this.type != tt.star && !this.type.startsExpr)) {
2419
+ node.delegate = false
2420
+ node.argument = null
2421
+ } else {
2422
+ node.delegate = this.eat(tt.star)
2423
+ node.argument = this.parseMaybeAssign()
2424
+ }
2425
+ return this.finishNode(node, "YieldExpression")
2426
+ }
2427
+
2428
+ pp$3.parseAwait = function() {
2429
+ if (!this.awaitPos) this.awaitPos = this.start
2430
+
2431
+ var node = this.startNode()
2432
+ this.next()
2433
+ node.argument = this.parseMaybeUnary(null, true)
2434
+ return this.finishNode(node, "AwaitExpression")
2435
+ }
2436
+
2437
+ var pp$4 = Parser.prototype
2438
+
2439
+ // This function is used to raise exceptions on parse errors. It
2440
+ // takes an offset integer (into the current `input`) to indicate
2441
+ // the location of the error, attaches the position to the end
2442
+ // of the error message, and then raises a `SyntaxError` with that
2443
+ // message.
2444
+
2445
+ pp$4.raise = function(pos, message) {
2446
+ var loc = getLineInfo(this.input, pos)
2447
+ message += " (" + loc.line + ":" + loc.column + ")"
2448
+ var err = new SyntaxError(message)
2449
+ err.pos = pos; err.loc = loc; err.raisedAt = this.pos
2450
+ throw err
2451
+ }
2452
+
2453
+ pp$4.raiseRecoverable = pp$4.raise
2454
+
2455
+ pp$4.curPosition = function() {
2456
+ if (this.options.locations) {
2457
+ return new Position(this.curLine, this.pos - this.lineStart)
2458
+ }
2459
+ }
2460
+
2461
+ var Node = function Node(parser, pos, loc) {
2462
+ this.type = ""
2463
+ this.start = pos
2464
+ this.end = 0
2465
+ if (parser.options.locations)
2466
+ this.loc = new SourceLocation(parser, loc)
2467
+ if (parser.options.directSourceFile)
2468
+ this.sourceFile = parser.options.directSourceFile
2469
+ if (parser.options.ranges)
2470
+ this.range = [pos, 0]
2471
+ };
2472
+
2473
+ // Start an AST node, attaching a start offset.
2474
+
2475
+ var pp$5 = Parser.prototype
2476
+
2477
+ pp$5.startNode = function() {
2478
+ return new Node(this, this.start, this.startLoc)
2479
+ }
2480
+
2481
+ pp$5.startNodeAt = function(pos, loc) {
2482
+ return new Node(this, pos, loc)
2483
+ }
2484
+
2485
+ // Finish an AST node, adding `type` and `end` properties.
2486
+
2487
+ function finishNodeAt(node, type, pos, loc) {
2488
+ node.type = type
2489
+ node.end = pos
2490
+ if (this.options.locations)
2491
+ node.loc.end = loc
2492
+ if (this.options.ranges)
2493
+ node.range[1] = pos
2494
+ return node
2495
+ }
2496
+
2497
+ pp$5.finishNode = function(node, type) {
2498
+ return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
2499
+ }
2500
+
2501
+ // Finish node at given position
2502
+
2503
+ pp$5.finishNodeAt = function(node, type, pos, loc) {
2504
+ return finishNodeAt.call(this, node, type, pos, loc)
2505
+ }
2506
+
2507
+ // The algorithm used to determine whether a regexp can appear at a
2508
+ // given point in the program is loosely based on sweet.js' approach.
2509
+ // See https://github.com/mozilla/sweet.js/wiki/design
2510
+
2511
+ var TokContext = function TokContext(token, isExpr, preserveSpace, override) {
2512
+ this.token = token
2513
+ this.isExpr = !!isExpr
2514
+ this.preserveSpace = !!preserveSpace
2515
+ this.override = override
2516
+ };
2517
+
2518
+ var types = {
2519
+ b_stat: new TokContext("{", false),
2520
+ b_expr: new TokContext("{", true),
2521
+ b_tmpl: new TokContext("${", true),
2522
+ p_stat: new TokContext("(", false),
2523
+ p_expr: new TokContext("(", true),
2524
+ q_tmpl: new TokContext("`", true, true, function (p) { return p.readTmplToken(); }),
2525
+ f_expr: new TokContext("function", true)
2526
+ }
2527
+
2528
+ var pp$6 = Parser.prototype
2529
+
2530
+ pp$6.initialContext = function() {
2531
+ return [types.b_stat]
2532
+ }
2533
+
2534
+ pp$6.braceIsBlock = function(prevType) {
2535
+ if (prevType === tt.colon) {
2536
+ var parent = this.curContext()
2537
+ if (parent === types.b_stat || parent === types.b_expr)
2538
+ return !parent.isExpr
2539
+ }
2540
+ if (prevType === tt._return)
2541
+ return lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
2542
+ if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR)
2543
+ return true
2544
+ if (prevType == tt.braceL)
2545
+ return this.curContext() === types.b_stat
2546
+ return !this.exprAllowed
2547
+ }
2548
+
2549
+ pp$6.updateContext = function(prevType) {
2550
+ var update, type = this.type
2551
+ if (type.keyword && prevType == tt.dot)
2552
+ this.exprAllowed = false
2553
+ else if (update = type.updateContext)
2554
+ update.call(this, prevType)
2555
+ else
2556
+ this.exprAllowed = type.beforeExpr
2557
+ }
2558
+
2559
+ // Token-specific context update code
2560
+
2561
+ tt.parenR.updateContext = tt.braceR.updateContext = function() {
2562
+ if (this.context.length == 1) {
2563
+ this.exprAllowed = true
2564
+ return
2565
+ }
2566
+ var out = this.context.pop()
2567
+ if (out === types.b_stat && this.curContext() === types.f_expr) {
2568
+ this.context.pop()
2569
+ this.exprAllowed = false
2570
+ } else if (out === types.b_tmpl) {
2571
+ this.exprAllowed = true
2572
+ } else {
2573
+ this.exprAllowed = !out.isExpr
2574
+ }
2575
+ }
2576
+
2577
+ tt.braceL.updateContext = function(prevType) {
2578
+ this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr)
2579
+ this.exprAllowed = true
2580
+ }
2581
+
2582
+ tt.dollarBraceL.updateContext = function() {
2583
+ this.context.push(types.b_tmpl)
2584
+ this.exprAllowed = true
2585
+ }
2586
+
2587
+ tt.parenL.updateContext = function(prevType) {
2588
+ var statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while
2589
+ this.context.push(statementParens ? types.p_stat : types.p_expr)
2590
+ this.exprAllowed = true
2591
+ }
2592
+
2593
+ tt.incDec.updateContext = function() {
2594
+ // tokExprAllowed stays unchanged
2595
+ }
2596
+
2597
+ tt._function.updateContext = function(prevType) {
2598
+ if (prevType.beforeExpr && prevType !== tt.semi && prevType !== tt._else &&
2599
+ !((prevType === tt.colon || prevType === tt.braceL) && this.curContext() === types.b_stat))
2600
+ this.context.push(types.f_expr)
2601
+ this.exprAllowed = false
2602
+ }
2603
+
2604
+ tt.backQuote.updateContext = function() {
2605
+ if (this.curContext() === types.q_tmpl)
2606
+ this.context.pop()
2607
+ else
2608
+ this.context.push(types.q_tmpl)
2609
+ this.exprAllowed = false
2610
+ }
2611
+
2612
+ // Object type used to represent tokens. Note that normally, tokens
2613
+ // simply exist as properties on the parser object. This is only
2614
+ // used for the onToken callback and the external tokenizer.
2615
+
2616
+ var Token = function Token(p) {
2617
+ this.type = p.type
2618
+ this.value = p.value
2619
+ this.start = p.start
2620
+ this.end = p.end
2621
+ if (p.options.locations)
2622
+ this.loc = new SourceLocation(p, p.startLoc, p.endLoc)
2623
+ if (p.options.ranges)
2624
+ this.range = [p.start, p.end]
2625
+ };
2626
+
2627
+ // ## Tokenizer
2628
+
2629
+ var pp$7 = Parser.prototype
2630
+
2631
+ // Are we running under Rhino?
2632
+ var isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]"
2633
+
2634
+ // Move to the next token
2635
+
2636
+ pp$7.next = function() {
2637
+ if (this.options.onToken)
2638
+ this.options.onToken(new Token(this))
2639
+
2640
+ this.lastTokEnd = this.end
2641
+ this.lastTokStart = this.start
2642
+ this.lastTokEndLoc = this.endLoc
2643
+ this.lastTokStartLoc = this.startLoc
2644
+ this.nextToken()
2645
+ }
2646
+
2647
+ pp$7.getToken = function() {
2648
+ this.next()
2649
+ return new Token(this)
2650
+ }
2651
+
2652
+ // If we're in an ES6 environment, make parsers iterable
2653
+ if (typeof Symbol !== "undefined")
2654
+ pp$7[Symbol.iterator] = function () {
2655
+ var self = this
2656
+ return {next: function () {
2657
+ var token = self.getToken()
2658
+ return {
2659
+ done: token.type === tt.eof,
2660
+ value: token
2661
+ }
2662
+ }}
2663
+ }
2664
+
2665
+ // Toggle strict mode. Re-reads the next number or string to please
2666
+ // pedantic tests (`"use strict"; 010;` should fail).
2667
+
2668
+ pp$7.setStrict = function(strict) {
2669
+ var this$1 = this;
2670
+
2671
+ this.strict = strict
2672
+ if (this.type !== tt.num && this.type !== tt.string) return
2673
+ this.pos = this.start
2674
+ if (this.options.locations) {
2675
+ while (this.pos < this.lineStart) {
2676
+ this$1.lineStart = this$1.input.lastIndexOf("\n", this$1.lineStart - 2) + 1
2677
+ --this$1.curLine
2678
+ }
2679
+ }
2680
+ this.nextToken()
2681
+ }
2682
+
2683
+ pp$7.curContext = function() {
2684
+ return this.context[this.context.length - 1]
2685
+ }
2686
+
2687
+ // Read a single token, updating the parser object's token-related
2688
+ // properties.
2689
+
2690
+ pp$7.nextToken = function() {
2691
+ var curContext = this.curContext()
2692
+ if (!curContext || !curContext.preserveSpace) this.skipSpace()
2693
+
2694
+ this.start = this.pos
2695
+ if (this.options.locations) this.startLoc = this.curPosition()
2696
+ if (this.pos >= this.input.length) return this.finishToken(tt.eof)
2697
+
2698
+ if (curContext.override) return curContext.override(this)
2699
+ else this.readToken(this.fullCharCodeAtPos())
2700
+ }
2701
+
2702
+ pp$7.readToken = function(code) {
2703
+ // Identifier or keyword. '\uXXXX' sequences are allowed in
2704
+ // identifiers, so '\' also dispatches to that.
2705
+ if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
2706
+ return this.readWord()
2707
+
2708
+ return this.getTokenFromCode(code)
2709
+ }
2710
+
2711
+ pp$7.fullCharCodeAtPos = function() {
2712
+ var code = this.input.charCodeAt(this.pos)
2713
+ if (code <= 0xd7ff || code >= 0xe000) return code
2714
+ var next = this.input.charCodeAt(this.pos + 1)
2715
+ return (code << 10) + next - 0x35fdc00
2716
+ }
2717
+
2718
+ pp$7.skipBlockComment = function() {
2719
+ var this$1 = this;
2720
+
2721
+ var startLoc = this.options.onComment && this.curPosition()
2722
+ var start = this.pos, end = this.input.indexOf("*/", this.pos += 2)
2723
+ if (end === -1) this.raise(this.pos - 2, "Unterminated comment")
2724
+ this.pos = end + 2
2725
+ if (this.options.locations) {
2726
+ lineBreakG.lastIndex = start
2727
+ var match
2728
+ while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
2729
+ ++this$1.curLine
2730
+ this$1.lineStart = match.index + match[0].length
2731
+ }
2732
+ }
2733
+ if (this.options.onComment)
2734
+ this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,
2735
+ startLoc, this.curPosition())
2736
+ }
2737
+
2738
+ pp$7.skipLineComment = function(startSkip) {
2739
+ var this$1 = this;
2740
+
2741
+ var start = this.pos
2742
+ var startLoc = this.options.onComment && this.curPosition()
2743
+ var ch = this.input.charCodeAt(this.pos+=startSkip)
2744
+ while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {
2745
+ ++this$1.pos
2746
+ ch = this$1.input.charCodeAt(this$1.pos)
2747
+ }
2748
+ if (this.options.onComment)
2749
+ this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,
2750
+ startLoc, this.curPosition())
2751
+ }
2752
+
2753
+ // Called at the start of the parse and after every token. Skips
2754
+ // whitespace and comments, and.
2755
+
2756
+ pp$7.skipSpace = function() {
2757
+ var this$1 = this;
2758
+
2759
+ loop: while (this.pos < this.input.length) {
2760
+ var ch = this$1.input.charCodeAt(this$1.pos)
2761
+ switch (ch) {
2762
+ case 32: case 160: // ' '
2763
+ ++this$1.pos
2764
+ break
2765
+ case 13:
2766
+ if (this$1.input.charCodeAt(this$1.pos + 1) === 10) {
2767
+ ++this$1.pos
2768
+ }
2769
+ case 10: case 8232: case 8233:
2770
+ ++this$1.pos
2771
+ if (this$1.options.locations) {
2772
+ ++this$1.curLine
2773
+ this$1.lineStart = this$1.pos
2774
+ }
2775
+ break
2776
+ case 47: // '/'
2777
+ switch (this$1.input.charCodeAt(this$1.pos + 1)) {
2778
+ case 42: // '*'
2779
+ this$1.skipBlockComment()
2780
+ break
2781
+ case 47:
2782
+ this$1.skipLineComment(2)
2783
+ break
2784
+ default:
2785
+ break loop
2786
+ }
2787
+ break
2788
+ default:
2789
+ if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {
2790
+ ++this$1.pos
2791
+ } else {
2792
+ break loop
2793
+ }
2794
+ }
2795
+ }
2796
+ }
2797
+
2798
+ // Called at the end of every token. Sets `end`, `val`, and
2799
+ // maintains `context` and `exprAllowed`, and skips the space after
2800
+ // the token, so that the next one's `start` will point at the
2801
+ // right position.
2802
+
2803
+ pp$7.finishToken = function(type, val) {
2804
+ this.end = this.pos
2805
+ if (this.options.locations) this.endLoc = this.curPosition()
2806
+ var prevType = this.type
2807
+ this.type = type
2808
+ this.value = val
2809
+
2810
+ this.updateContext(prevType)
2811
+ }
2812
+
2813
+ // ### Token reading
2814
+
2815
+ // This is the function that is called to fetch the next token. It
2816
+ // is somewhat obscure, because it works in character codes rather
2817
+ // than characters, and because operator parsing has been inlined
2818
+ // into it.
2819
+ //
2820
+ // All in the name of speed.
2821
+ //
2822
+ pp$7.readToken_dot = function() {
2823
+ var next = this.input.charCodeAt(this.pos + 1)
2824
+ if (next >= 48 && next <= 57) return this.readNumber(true)
2825
+ var next2 = this.input.charCodeAt(this.pos + 2)
2826
+ if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
2827
+ this.pos += 3
2828
+ return this.finishToken(tt.ellipsis)
2829
+ } else {
2830
+ ++this.pos
2831
+ return this.finishToken(tt.dot)
2832
+ }
2833
+ }
2834
+
2835
+ pp$7.readToken_slash = function() { // '/'
2836
+ var next = this.input.charCodeAt(this.pos + 1)
2837
+ if (this.exprAllowed) {++this.pos; return this.readRegexp()}
2838
+ if (next === 61) return this.finishOp(tt.assign, 2)
2839
+ return this.finishOp(tt.slash, 1)
2840
+ }
2841
+
2842
+ pp$7.readToken_mult_modulo_exp = function(code) { // '%*'
2843
+ var next = this.input.charCodeAt(this.pos + 1)
2844
+ var size = 1
2845
+ var tokentype = code === 42 ? tt.star : tt.modulo
2846
+
2847
+ // exponentiation operator ** and **=
2848
+ if (this.options.ecmaVersion >= 7 && next === 42) {
2849
+ ++size
2850
+ tokentype = tt.starstar
2851
+ next = this.input.charCodeAt(this.pos + 2)
2852
+ }
2853
+
2854
+ if (next === 61) return this.finishOp(tt.assign, size + 1)
2855
+ return this.finishOp(tokentype, size)
2856
+ }
2857
+
2858
+ pp$7.readToken_pipe_amp = function(code) { // '|&'
2859
+ var next = this.input.charCodeAt(this.pos + 1)
2860
+ if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2)
2861
+ if (next === 61) return this.finishOp(tt.assign, 2)
2862
+ return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1)
2863
+ }
2864
+
2865
+ pp$7.readToken_caret = function() { // '^'
2866
+ var next = this.input.charCodeAt(this.pos + 1)
2867
+ if (next === 61) return this.finishOp(tt.assign, 2)
2868
+ return this.finishOp(tt.bitwiseXOR, 1)
2869
+ }
2870
+
2871
+ pp$7.readToken_plus_min = function(code) { // '+-'
2872
+ var next = this.input.charCodeAt(this.pos + 1)
2873
+ if (next === code) {
2874
+ if (next == 45 && this.input.charCodeAt(this.pos + 2) == 62 &&
2875
+ lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) {
2876
+ // A `-->` line comment
2877
+ this.skipLineComment(3)
2878
+ this.skipSpace()
2879
+ return this.nextToken()
2880
+ }
2881
+ return this.finishOp(tt.incDec, 2)
2882
+ }
2883
+ if (next === 61) return this.finishOp(tt.assign, 2)
2884
+ return this.finishOp(tt.plusMin, 1)
2885
+ }
2886
+
2887
+ pp$7.readToken_lt_gt = function(code) { // '<>'
2888
+ var next = this.input.charCodeAt(this.pos + 1)
2889
+ var size = 1
2890
+ if (next === code) {
2891
+ size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2
2892
+ if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)
2893
+ return this.finishOp(tt.bitShift, size)
2894
+ }
2895
+ if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&
2896
+ this.input.charCodeAt(this.pos + 3) == 45) {
2897
+ if (this.inModule) this.unexpected()
2898
+ // `<!--`, an XML-style comment that should be interpreted as a line comment
2899
+ this.skipLineComment(4)
2900
+ this.skipSpace()
2901
+ return this.nextToken()
2902
+ }
2903
+ if (next === 61) size = 2
2904
+ return this.finishOp(tt.relational, size)
2905
+ }
2906
+
2907
+ pp$7.readToken_eq_excl = function(code) { // '=!'
2908
+ var next = this.input.charCodeAt(this.pos + 1)
2909
+ if (next === 61) return this.finishOp(tt.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2)
2910
+ if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'
2911
+ this.pos += 2
2912
+ return this.finishToken(tt.arrow)
2913
+ }
2914
+ return this.finishOp(code === 61 ? tt.eq : tt.prefix, 1)
2915
+ }
2916
+
2917
+ pp$7.getTokenFromCode = function(code) {
2918
+ switch (code) {
2919
+ // The interpretation of a dot depends on whether it is followed
2920
+ // by a digit or another two dots.
2921
+ case 46: // '.'
2922
+ return this.readToken_dot()
2923
+
2924
+ // Punctuation tokens.
2925
+ case 40: ++this.pos; return this.finishToken(tt.parenL)
2926
+ case 41: ++this.pos; return this.finishToken(tt.parenR)
2927
+ case 59: ++this.pos; return this.finishToken(tt.semi)
2928
+ case 44: ++this.pos; return this.finishToken(tt.comma)
2929
+ case 91: ++this.pos; return this.finishToken(tt.bracketL)
2930
+ case 93: ++this.pos; return this.finishToken(tt.bracketR)
2931
+ case 123: ++this.pos; return this.finishToken(tt.braceL)
2932
+ case 125: ++this.pos; return this.finishToken(tt.braceR)
2933
+ case 58: ++this.pos; return this.finishToken(tt.colon)
2934
+ case 63: ++this.pos; return this.finishToken(tt.question)
2935
+
2936
+ case 96: // '`'
2937
+ if (this.options.ecmaVersion < 6) break
2938
+ ++this.pos
2939
+ return this.finishToken(tt.backQuote)
2940
+
2941
+ case 48: // '0'
2942
+ var next = this.input.charCodeAt(this.pos + 1)
2943
+ if (next === 120 || next === 88) return this.readRadixNumber(16) // '0x', '0X' - hex number
2944
+ if (this.options.ecmaVersion >= 6) {
2945
+ if (next === 111 || next === 79) return this.readRadixNumber(8) // '0o', '0O' - octal number
2946
+ if (next === 98 || next === 66) return this.readRadixNumber(2) // '0b', '0B' - binary number
2947
+ }
2948
+ // Anything else beginning with a digit is an integer, octal
2949
+ // number, or float.
2950
+ case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9
2951
+ return this.readNumber(false)
2952
+
2953
+ // Quotes produce strings.
2954
+ case 34: case 39: // '"', "'"
2955
+ return this.readString(code)
2956
+
2957
+ // Operators are parsed inline in tiny state machines. '=' (61) is
2958
+ // often referred to. `finishOp` simply skips the amount of
2959
+ // characters it is given as second argument, and returns a token
2960
+ // of the type given by its first argument.
2961
+
2962
+ case 47: // '/'
2963
+ return this.readToken_slash()
2964
+
2965
+ case 37: case 42: // '%*'
2966
+ return this.readToken_mult_modulo_exp(code)
2967
+
2968
+ case 124: case 38: // '|&'
2969
+ return this.readToken_pipe_amp(code)
2970
+
2971
+ case 94: // '^'
2972
+ return this.readToken_caret()
2973
+
2974
+ case 43: case 45: // '+-'
2975
+ return this.readToken_plus_min(code)
2976
+
2977
+ case 60: case 62: // '<>'
2978
+ return this.readToken_lt_gt(code)
2979
+
2980
+ case 61: case 33: // '=!'
2981
+ return this.readToken_eq_excl(code)
2982
+
2983
+ case 126: // '~'
2984
+ return this.finishOp(tt.prefix, 1)
2985
+ }
2986
+
2987
+ this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'")
2988
+ }
2989
+
2990
+ pp$7.finishOp = function(type, size) {
2991
+ var str = this.input.slice(this.pos, this.pos + size)
2992
+ this.pos += size
2993
+ return this.finishToken(type, str)
2994
+ }
2995
+
2996
+ // Parse a regular expression. Some context-awareness is necessary,
2997
+ // since a '/' inside a '[]' set does not end the expression.
2998
+
2999
+ function tryCreateRegexp(src, flags, throwErrorAt, parser) {
3000
+ try {
3001
+ return new RegExp(src, flags)
3002
+ } catch (e) {
3003
+ if (throwErrorAt !== undefined) {
3004
+ if (e instanceof SyntaxError) parser.raise(throwErrorAt, "Error parsing regular expression: " + e.message)
3005
+ throw e
3006
+ }
3007
+ }
3008
+ }
3009
+
3010
+ var regexpUnicodeSupport = !!tryCreateRegexp("\uffff", "u")
3011
+
3012
+ pp$7.readRegexp = function() {
3013
+ var this$1 = this;
3014
+
3015
+ var escaped, inClass, start = this.pos
3016
+ for (;;) {
3017
+ if (this$1.pos >= this$1.input.length) this$1.raise(start, "Unterminated regular expression")
3018
+ var ch = this$1.input.charAt(this$1.pos)
3019
+ if (lineBreak.test(ch)) this$1.raise(start, "Unterminated regular expression")
3020
+ if (!escaped) {
3021
+ if (ch === "[") inClass = true
3022
+ else if (ch === "]" && inClass) inClass = false
3023
+ else if (ch === "/" && !inClass) break
3024
+ escaped = ch === "\\"
3025
+ } else escaped = false
3026
+ ++this$1.pos
3027
+ }
3028
+ var content = this.input.slice(start, this.pos)
3029
+ ++this.pos
3030
+ // Need to use `readWord1` because '\uXXXX' sequences are allowed
3031
+ // here (don't ask).
3032
+ var mods = this.readWord1()
3033
+ var tmp = content, tmpFlags = ""
3034
+ if (mods) {
3035
+ var validFlags = /^[gim]*$/
3036
+ if (this.options.ecmaVersion >= 6) validFlags = /^[gimuy]*$/
3037
+ if (!validFlags.test(mods)) this.raise(start, "Invalid regular expression flag")
3038
+ if (mods.indexOf("u") >= 0) {
3039
+ if (regexpUnicodeSupport) {
3040
+ tmpFlags = "u"
3041
+ } else {
3042
+ // Replace each astral symbol and every Unicode escape sequence that
3043
+ // possibly represents an astral symbol or a paired surrogate with a
3044
+ // single ASCII symbol to avoid throwing on regular expressions that
3045
+ // are only valid in combination with the `/u` flag.
3046
+ // Note: replacing with the ASCII symbol `x` might cause false
3047
+ // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
3048
+ // perfectly valid pattern that is equivalent to `[a-b]`, but it would
3049
+ // be replaced by `[x-b]` which throws an error.
3050
+ tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (_match, code, offset) {
3051
+ code = Number("0x" + code)
3052
+ if (code > 0x10FFFF) this$1.raise(start + offset + 3, "Code point out of bounds")
3053
+ return "x"
3054
+ })
3055
+ tmp = tmp.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x")
3056
+ tmpFlags = tmpFlags.replace("u", "")
3057
+ }
3058
+ }
3059
+ }
3060
+ // Detect invalid regular expressions.
3061
+ var value = null
3062
+ // Rhino's regular expression parser is flaky and throws uncatchable exceptions,
3063
+ // so don't do detection if we are running under Rhino
3064
+ if (!isRhino) {
3065
+ tryCreateRegexp(tmp, tmpFlags, start, this)
3066
+ // Get a regular expression object for this pattern-flag pair, or `null` in
3067
+ // case the current environment doesn't support the flags it uses.
3068
+ value = tryCreateRegexp(content, mods)
3069
+ }
3070
+ return this.finishToken(tt.regexp, {pattern: content, flags: mods, value: value})
3071
+ }
3072
+
3073
+ // Read an integer in the given radix. Return null if zero digits
3074
+ // were read, the integer value otherwise. When `len` is given, this
3075
+ // will return `null` unless the integer has exactly `len` digits.
3076
+
3077
+ pp$7.readInt = function(radix, len) {
3078
+ var this$1 = this;
3079
+
3080
+ var start = this.pos, total = 0
3081
+ for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {
3082
+ var code = this$1.input.charCodeAt(this$1.pos), val
3083
+ if (code >= 97) val = code - 97 + 10 // a
3084
+ else if (code >= 65) val = code - 65 + 10 // A
3085
+ else if (code >= 48 && code <= 57) val = code - 48 // 0-9
3086
+ else val = Infinity
3087
+ if (val >= radix) break
3088
+ ++this$1.pos
3089
+ total = total * radix + val
3090
+ }
3091
+ if (this.pos === start || len != null && this.pos - start !== len) return null
3092
+
3093
+ return total
3094
+ }
3095
+
3096
+ pp$7.readRadixNumber = function(radix) {
3097
+ this.pos += 2 // 0x
3098
+ var val = this.readInt(radix)
3099
+ if (val == null) this.raise(this.start + 2, "Expected number in radix " + radix)
3100
+ if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number")
3101
+ return this.finishToken(tt.num, val)
3102
+ }
3103
+
3104
+ // Read an integer, octal integer, or floating-point number.
3105
+
3106
+ pp$7.readNumber = function(startsWithDot) {
3107
+ var start = this.pos, isFloat = false, octal = this.input.charCodeAt(this.pos) === 48
3108
+ if (!startsWithDot && this.readInt(10) === null) this.raise(start, "Invalid number")
3109
+ if (octal && this.pos == start + 1) octal = false
3110
+ var next = this.input.charCodeAt(this.pos)
3111
+ if (next === 46 && !octal) { // '.'
3112
+ ++this.pos
3113
+ this.readInt(10)
3114
+ isFloat = true
3115
+ next = this.input.charCodeAt(this.pos)
3116
+ }
3117
+ if ((next === 69 || next === 101) && !octal) { // 'eE'
3118
+ next = this.input.charCodeAt(++this.pos)
3119
+ if (next === 43 || next === 45) ++this.pos // '+-'
3120
+ if (this.readInt(10) === null) this.raise(start, "Invalid number")
3121
+ isFloat = true
3122
+ }
3123
+ if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, "Identifier directly after number")
3124
+
3125
+ var str = this.input.slice(start, this.pos), val
3126
+ if (isFloat) val = parseFloat(str)
3127
+ else if (!octal || str.length === 1) val = parseInt(str, 10)
3128
+ else if (/[89]/.test(str) || this.strict) this.raise(start, "Invalid number")
3129
+ else val = parseInt(str, 8)
3130
+ return this.finishToken(tt.num, val)
3131
+ }
3132
+
3133
+ // Read a string value, interpreting backslash-escapes.
3134
+
3135
+ pp$7.readCodePoint = function() {
3136
+ var ch = this.input.charCodeAt(this.pos), code
3137
+
3138
+ if (ch === 123) {
3139
+ if (this.options.ecmaVersion < 6) this.unexpected()
3140
+ var codePos = ++this.pos
3141
+ code = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos)
3142
+ ++this.pos
3143
+ if (code > 0x10FFFF) this.raise(codePos, "Code point out of bounds")
3144
+ } else {
3145
+ code = this.readHexChar(4)
3146
+ }
3147
+ return code
3148
+ }
3149
+
3150
+ function codePointToString(code) {
3151
+ // UTF-16 Decoding
3152
+ if (code <= 0xFFFF) return String.fromCharCode(code)
3153
+ code -= 0x10000
3154
+ return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
3155
+ }
3156
+
3157
+ pp$7.readString = function(quote) {
3158
+ var this$1 = this;
3159
+
3160
+ var out = "", chunkStart = ++this.pos
3161
+ for (;;) {
3162
+ if (this$1.pos >= this$1.input.length) this$1.raise(this$1.start, "Unterminated string constant")
3163
+ var ch = this$1.input.charCodeAt(this$1.pos)
3164
+ if (ch === quote) break
3165
+ if (ch === 92) { // '\'
3166
+ out += this$1.input.slice(chunkStart, this$1.pos)
3167
+ out += this$1.readEscapedChar(false)
3168
+ chunkStart = this$1.pos
3169
+ } else {
3170
+ if (isNewLine(ch)) this$1.raise(this$1.start, "Unterminated string constant")
3171
+ ++this$1.pos
3172
+ }
3173
+ }
3174
+ out += this.input.slice(chunkStart, this.pos++)
3175
+ return this.finishToken(tt.string, out)
3176
+ }
3177
+
3178
+ // Reads template string tokens.
3179
+
3180
+ pp$7.readTmplToken = function() {
3181
+ var this$1 = this;
3182
+
3183
+ var out = "", chunkStart = this.pos
3184
+ for (;;) {
3185
+ if (this$1.pos >= this$1.input.length) this$1.raise(this$1.start, "Unterminated template")
3186
+ var ch = this$1.input.charCodeAt(this$1.pos)
3187
+ if (ch === 96 || ch === 36 && this$1.input.charCodeAt(this$1.pos + 1) === 123) { // '`', '${'
3188
+ if (this$1.pos === this$1.start && this$1.type === tt.template) {
3189
+ if (ch === 36) {
3190
+ this$1.pos += 2
3191
+ return this$1.finishToken(tt.dollarBraceL)
3192
+ } else {
3193
+ ++this$1.pos
3194
+ return this$1.finishToken(tt.backQuote)
3195
+ }
3196
+ }
3197
+ out += this$1.input.slice(chunkStart, this$1.pos)
3198
+ return this$1.finishToken(tt.template, out)
3199
+ }
3200
+ if (ch === 92) { // '\'
3201
+ out += this$1.input.slice(chunkStart, this$1.pos)
3202
+ out += this$1.readEscapedChar(true)
3203
+ chunkStart = this$1.pos
3204
+ } else if (isNewLine(ch)) {
3205
+ out += this$1.input.slice(chunkStart, this$1.pos)
3206
+ ++this$1.pos
3207
+ switch (ch) {
3208
+ case 13:
3209
+ if (this$1.input.charCodeAt(this$1.pos) === 10) ++this$1.pos
3210
+ case 10:
3211
+ out += "\n"
3212
+ break
3213
+ default:
3214
+ out += String.fromCharCode(ch)
3215
+ break
3216
+ }
3217
+ if (this$1.options.locations) {
3218
+ ++this$1.curLine
3219
+ this$1.lineStart = this$1.pos
3220
+ }
3221
+ chunkStart = this$1.pos
3222
+ } else {
3223
+ ++this$1.pos
3224
+ }
3225
+ }
3226
+ }
3227
+
3228
+ // Used to read escaped characters
3229
+
3230
+ pp$7.readEscapedChar = function(inTemplate) {
3231
+ var ch = this.input.charCodeAt(++this.pos)
3232
+ ++this.pos
3233
+ switch (ch) {
3234
+ case 110: return "\n" // 'n' -> '\n'
3235
+ case 114: return "\r" // 'r' -> '\r'
3236
+ case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'
3237
+ case 117: return codePointToString(this.readCodePoint()) // 'u'
3238
+ case 116: return "\t" // 't' -> '\t'
3239
+ case 98: return "\b" // 'b' -> '\b'
3240
+ case 118: return "\u000b" // 'v' -> '\u000b'
3241
+ case 102: return "\f" // 'f' -> '\f'
3242
+ case 13: if (this.input.charCodeAt(this.pos) === 10) ++this.pos // '\r\n'
3243
+ case 10: // ' \n'
3244
+ if (this.options.locations) { this.lineStart = this.pos; ++this.curLine }
3245
+ return ""
3246
+ default:
3247
+ if (ch >= 48 && ch <= 55) {
3248
+ var octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0]
3249
+ var octal = parseInt(octalStr, 8)
3250
+ if (octal > 255) {
3251
+ octalStr = octalStr.slice(0, -1)
3252
+ octal = parseInt(octalStr, 8)
3253
+ }
3254
+ if (octalStr !== "0" && (this.strict || inTemplate)) {
3255
+ this.raise(this.pos - 2, "Octal literal in strict mode")
3256
+ }
3257
+ this.pos += octalStr.length - 1
3258
+ return String.fromCharCode(octal)
3259
+ }
3260
+ return String.fromCharCode(ch)
3261
+ }
3262
+ }
3263
+
3264
+ // Used to read character escape sequences ('\x', '\u', '\U').
3265
+
3266
+ pp$7.readHexChar = function(len) {
3267
+ var codePos = this.pos
3268
+ var n = this.readInt(16, len)
3269
+ if (n === null) this.raise(codePos, "Bad character escape sequence")
3270
+ return n
3271
+ }
3272
+
3273
+ // Read an identifier, and return it as a string. Sets `this.containsEsc`
3274
+ // to whether the word contained a '\u' escape.
3275
+ //
3276
+ // Incrementally adds only escaped chars, adding other chunks as-is
3277
+ // as a micro-optimization.
3278
+
3279
+ pp$7.readWord1 = function() {
3280
+ var this$1 = this;
3281
+
3282
+ this.containsEsc = false
3283
+ var word = "", first = true, chunkStart = this.pos
3284
+ var astral = this.options.ecmaVersion >= 6
3285
+ while (this.pos < this.input.length) {
3286
+ var ch = this$1.fullCharCodeAtPos()
3287
+ if (isIdentifierChar(ch, astral)) {
3288
+ this$1.pos += ch <= 0xffff ? 1 : 2
3289
+ } else if (ch === 92) { // "\"
3290
+ this$1.containsEsc = true
3291
+ word += this$1.input.slice(chunkStart, this$1.pos)
3292
+ var escStart = this$1.pos
3293
+ if (this$1.input.charCodeAt(++this$1.pos) != 117) // "u"
3294
+ this$1.raise(this$1.pos, "Expecting Unicode escape sequence \\uXXXX")
3295
+ ++this$1.pos
3296
+ var esc = this$1.readCodePoint()
3297
+ if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))
3298
+ this$1.raise(escStart, "Invalid Unicode escape")
3299
+ word += codePointToString(esc)
3300
+ chunkStart = this$1.pos
3301
+ } else {
3302
+ break
3303
+ }
3304
+ first = false
3305
+ }
3306
+ return word + this.input.slice(chunkStart, this.pos)
3307
+ }
3308
+
3309
+ // Read an identifier or keyword token. Will check for reserved
3310
+ // words when necessary.
3311
+
3312
+ pp$7.readWord = function() {
3313
+ var word = this.readWord1()
3314
+ var type = tt.name
3315
+ if ((this.options.ecmaVersion >= 6 || !this.containsEsc) && this.keywords.test(word))
3316
+ type = keywordTypes[word]
3317
+ return this.finishToken(type, word)
3318
+ }
3319
+
3320
+ // Acorn is a tiny, fast JavaScript parser written in JavaScript.
3321
+ //
3322
+ // Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
3323
+ // various contributors and released under an MIT license.
3324
+ //
3325
+ // Git repositories for Acorn are available at
3326
+ //
3327
+ // http://marijnhaverbeke.nl/git/acorn
3328
+ // https://github.com/ternjs/acorn.git
3329
+ //
3330
+ // Please use the [github bug tracker][ghbt] to report issues.
3331
+ //
3332
+ // [ghbt]: https://github.com/ternjs/acorn/issues
3333
+ //
3334
+ // This file defines the main parser interface. The library also comes
3335
+ // with a [error-tolerant parser][dammit] and an
3336
+ // [abstract syntax tree walker][walk], defined in other files.
3337
+ //
3338
+ // [dammit]: acorn_loose.js
3339
+ // [walk]: util/walk.js
3340
+
3341
+ var version = "4.0.4"
3342
+
3343
+ // The main exported interface (under `self.acorn` when in the
3344
+ // browser) is a `parse` function that takes a code string and
3345
+ // returns an abstract syntax tree as specified by [Mozilla parser
3346
+ // API][api].
3347
+ //
3348
+ // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
3349
+
3350
+ function parse(input, options) {
3351
+ return new Parser(options, input).parse()
3352
+ }
3353
+
3354
+ // This function tries to parse a single expression at a given
3355
+ // offset in a string. Useful for parsing mixed-language formats
3356
+ // that embed JavaScript expressions.
3357
+
3358
+ function parseExpressionAt(input, pos, options) {
3359
+ var p = new Parser(options, input, pos)
3360
+ p.nextToken()
3361
+ return p.parseExpression()
3362
+ }
3363
+
3364
+ // Acorn is organized as a tokenizer and a recursive-descent parser.
3365
+ // The `tokenizer` export provides an interface to the tokenizer.
3366
+
3367
+ function tokenizer(input, options) {
3368
+ return new Parser(options, input)
3369
+ }
3370
+
3371
+ // This is a terrible kludge to support the existing, pre-ES6
3372
+ // interface where the loose parser module retroactively adds exports
3373
+ // to this module.
3374
+ function addLooseExports(parse, Parser, plugins) {
3375
+ parse_dammit = parse
3376
+ LooseParser = Parser
3377
+ pluginsLoose = plugins
3378
+ }
3379
+
3380
+ export { version, parse, parseExpressionAt, tokenizer, parse_dammit, LooseParser, pluginsLoose, addLooseExports, Parser, plugins, defaultOptions, Position, SourceLocation, getLineInfo, Node, TokenType, tt as tokTypes, TokContext, types as tokContexts, isIdentifierChar, isIdentifierStart, Token, isNewLine, lineBreak, lineBreakG };