aboutsummaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules
diff options
context:
space:
mode:
authorRich Trott <rtrott@gmail.com>2018-03-21 22:44:47 -0700
committerRich Trott <rtrott@gmail.com>2018-03-24 04:11:48 -0700
commit0863a0e528ba9ee01f960dce7ffebe8fff3a774c (patch)
tree37990f3af668c242ec1c4a9e24afd31b720ad96d /tools/node_modules/eslint/node_modules
parent5e00a013eb219716d952cb8eb29a134c00f5db54 (diff)
downloadandroid-node-v8-0863a0e528ba9ee01f960dce7ffebe8fff3a774c.tar.gz
android-node-v8-0863a0e528ba9ee01f960dce7ffebe8fff3a774c.tar.bz2
android-node-v8-0863a0e528ba9ee01f960dce7ffebe8fff3a774c.zip
tools: update ESLint to 4.19.1
A few bug fixes result in more stringent linting rules. PR-URL: https://github.com/nodejs/node/pull/19528 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/node_modules')
-rw-r--r--tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/acorn-jsx/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/AUTHORS3
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/LICENSE2
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/README.md18
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js9
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist71
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js1694
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/acorn.js1694
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js40
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js40
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js24
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/dist/walk.js24
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/package.json37
-rw-r--r--tools/node_modules/eslint/node_modules/acorn/yarn-error.log91
-rw-r--r--tools/node_modules/eslint/node_modules/ajv-keywords/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ansi-escapes/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ansi-regex/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ansi-styles/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/argparse/README.md10
-rw-r--r--tools/node_modules/eslint/node_modules/argparse/lib/action.js2
-rw-r--r--tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js4
-rw-r--r--tools/node_modules/eslint/node_modules/argparse/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/array-union/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/array-uniq/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/arrify/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/babel-code-frame/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/bail/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/balanced-match/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/brace-expansion/LICENSE21
-rw-r--r--tools/node_modules/eslint/node_modules/brace-expansion/README.md8
-rw-r--r--tools/node_modules/eslint/node_modules/brace-expansion/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/buffer-from/index.js69
-rw-r--r--tools/node_modules/eslint/node_modules/buffer-from/package.json49
-rw-r--r--tools/node_modules/eslint/node_modules/buffer-from/readme.md69
-rw-r--r--tools/node_modules/eslint/node_modules/caller-path/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/callsites/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/index.js6
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js23
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json24
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md2
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js5
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js70
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json24
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md16
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/package.json20
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/readme.md14
-rw-r--r--tools/node_modules/eslint/node_modules/character-entities-legacy/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/character-entities/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/character-reference-invalid/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/chardet/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/circular-json/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/cli-cursor/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/cli-width/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/co/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/collapse-white-space/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/color-convert/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/color-name/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/concat-map/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/concat-stream/index.js11
-rw-r--r--tools/node_modules/eslint/node_modules/concat-stream/package.json13
-rw-r--r--tools/node_modules/eslint/node_modules/concat-stream/readme.md2
-rw-r--r--tools/node_modules/eslint/node_modules/core-util-is/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/cross-spawn/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/debug/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/deep-is/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/del/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/doctrine/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/escape-string-regexp/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/eslint-scope/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/espree/README.md2
-rw-r--r--tools/node_modules/eslint/node_modules/espree/espree.js9
-rw-r--r--tools/node_modules/eslint/node_modules/espree/package.json24
-rw-r--r--tools/node_modules/eslint/node_modules/esprima/ChangeLog225
-rw-r--r--tools/node_modules/eslint/node_modules/esprima/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/esquery/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/esrecurse/README.md3
-rw-r--r--tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js26
-rw-r--r--tools/node_modules/eslint/node_modules/esrecurse/package-lock.json4322
-rwxr-xr-xtools/node_modules/eslint/node_modules/esrecurse/package.json17
-rw-r--r--tools/node_modules/eslint/node_modules/estraverse/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/esutils/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/extend/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/external-editor/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml25
-rw-r--r--tools/node_modules/eslint/node_modules/fast-deep-equal/index.d.ts4
-rw-r--r--tools/node_modules/eslint/node_modules/fast-deep-equal/index.js52
-rw-r--r--tools/node_modules/eslint/node_modules/fast-deep-equal/package.json23
-rw-r--r--tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/fast-levenshtein/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/figures/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/file-entry-cache/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/fs.realpath/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/function-bind/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/glob/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/globals/globals.json8
-rw-r--r--tools/node_modules/eslint/node_modules/globals/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/globby/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/graceful-fs/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/has-ansi/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/has-flag/index.js10
-rw-r--r--tools/node_modules/eslint/node_modules/has-flag/license20
-rw-r--r--tools/node_modules/eslint/node_modules/has-flag/package.json41
-rw-r--r--tools/node_modules/eslint/node_modules/has-flag/readme.md9
-rw-r--r--tools/node_modules/eslint/node_modules/has/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/iconv-lite/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ignore/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/imurmurhash/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/inflight/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/inherits/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-alphabetical/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-alphanumerical/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-buffer/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-decimal/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-hexadecimal/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-cwd/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-inside/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-plain-obj/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-promise/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/LICENSE22
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/README.md43
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/index.js20
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/package.json21
-rw-r--r--tools/node_modules/eslint/node_modules/is-whitespace-character/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/is-word-character/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/isarray/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/isexe/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/js-tokens/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/README.md2
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js17
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js2
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js9
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js6
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/json-schema-traverse/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/levn/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/README.md6
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js15
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js15
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_baseClone.js20
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_baseMerge.js5
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js5
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_cloneMap.js22
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_cloneSet.js22
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js2
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js11
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_isIndex.js7
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_safeGet.js15
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_stringToPath.js9
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js4
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/core.js132
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/core.min.js48
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/debounce.js6
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/defaults.js46
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js9
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/fp/_util.js2
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/invert.js15
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/invertBy.js12
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/lodash.js173
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/lodash.min.js257
-rw-r--r--tools/node_modules/eslint/node_modules/lodash/package.json14
-rw-r--r--tools/node_modules/eslint/node_modules/lru-cache/README.md8
-rw-r--r--tools/node_modules/eslint/node_modules/lru-cache/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/markdown-escapes/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/mimic-fn/index.js2
-rw-r--r--tools/node_modules/eslint/node_modules/mimic-fn/license20
-rw-r--r--tools/node_modules/eslint/node_modules/mimic-fn/package.json15
-rw-r--r--tools/node_modules/eslint/node_modules/mimic-fn/readme.md4
-rw-r--r--tools/node_modules/eslint/node_modules/minimatch/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/minimist/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/mkdirp/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ms/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/mute-stream/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/natural-compare/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/object-assign/package.json3
-rw-r--r--tools/node_modules/eslint/node_modules/once/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/onetime/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/optionator/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/os-tmpdir/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/parse-entities/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/path-is-absolute/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/path-is-inside/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/pify/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie-promise/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/pluralize/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/prelude-ls/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/process-nextick-args/index.js4
-rw-r--r--tools/node_modules/eslint/node_modules/process-nextick-args/package.json25
-rw-r--r--tools/node_modules/eslint/node_modules/process-nextick-args/readme.md4
-rw-r--r--tools/node_modules/eslint/node_modules/progress/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/pseudomap/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/README.md5
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js6
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js62
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js68
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js37
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js13
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js10
-rw-r--r--tools/node_modules/eslint/node_modules/readable-stream/package.json24
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/LICENSE21
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/README.md149
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/index.d.ts201
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/index.js6899
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/index.js.map1
-rw-r--r--tools/node_modules/eslint/node_modules/regexpp/package.json104
-rw-r--r--tools/node_modules/eslint/node_modules/remark-parse/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/repeat-string/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/replace-ext/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/require-uncached/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/resolve-from/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/restore-cursor/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/rimraf/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/run-async/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/rx-lite/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/safe-buffer/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/semver/README.md22
-rwxr-xr-xtools/node_modules/eslint/node_modules/semver/bin/semver14
-rw-r--r--tools/node_modules/eslint/node_modules/semver/package.json12
-rw-r--r--tools/node_modules/eslint/node_modules/semver/range.bnf4
-rw-r--r--tools/node_modules/eslint/node_modules/semver/semver.js28
-rw-r--r--tools/node_modules/eslint/node_modules/shebang-command/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/shebang-regex/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/signal-exit/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/slice-ansi/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/sprintf-js/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/state-toggle/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/string-width/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/string_decoder/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/strip-ansi/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/strip-json-comments/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/supports-color/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/table/package.json14
-rw-r--r--tools/node_modules/eslint/node_modules/text-table/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/through/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/trim/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/trough/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/type-check/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/typedarray/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unherit/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unified/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unist-util-is/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/unist-util-visit/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/util-deprecate/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-location/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-message/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/vfile/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/which/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/wordwrap/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/wrappy/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/write/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/x-is-function/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/x-is-string/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/xtend/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/yallist/package.json2
271 files changed, 12336 insertions, 5860 deletions
diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json
index b021abbb40..dc1048bc4f 100644
--- a/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json
+++ b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"_shasum": "45e37fb39e8da3f25baee3ff5369e2bb5f22017a",
"_spec": "acorn@^3.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/acorn-jsx",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/acorn-jsx",
"bin": {
"acorn": "./bin/acorn"
},
diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
index 2690b541f9..a8730492dd 100644
--- a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
+++ b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"_shasum": "afdf9488fb1ecefc8348f6fb22f464e32a58b36b",
"_spec": "acorn-jsx@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
"bugs": {
"url": "https://github.com/RReverser/acorn-jsx/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/acorn/AUTHORS b/tools/node_modules/eslint/node_modules/acorn/AUTHORS
index bdbfea230f..86c8d9b206 100644
--- a/tools/node_modules/eslint/node_modules/acorn/AUTHORS
+++ b/tools/node_modules/eslint/node_modules/acorn/AUTHORS
@@ -1,7 +1,6 @@
List of Acorn contributors. Updated before every release.
Adrian Heine
-Adrian Heine nƩ Lang
Adrian Rakovsky
Alistair Braidwood
Amila Welihinda
@@ -10,6 +9,7 @@ Angelo
Aparajita Fishman
Arian Stolwijk
Artem Govorov
+Boopesh Mahendran
Bradley Heinz
Brandon Mills
Charles Hughes
@@ -65,6 +65,7 @@ Richard Gibson
Rich Harris
Sebastian McKenzie
Shahar Soel
+Sheel Bedi
Simen Bekkhus
Teddy Katz
Timothy Gu
diff --git a/tools/node_modules/eslint/node_modules/acorn/LICENSE b/tools/node_modules/eslint/node_modules/acorn/LICENSE
index 3f01865520..2c0632b6a7 100644
--- a/tools/node_modules/eslint/node_modules/acorn/LICENSE
+++ b/tools/node_modules/eslint/node_modules/acorn/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2012-2017 by various contributors (see AUTHORS)
+Copyright (C) 2012-2018 by various contributors (see AUTHORS)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/tools/node_modules/eslint/node_modules/acorn/README.md b/tools/node_modules/eslint/node_modules/acorn/README.md
index 8855fa7cf4..276dab3e9c 100644
--- a/tools/node_modules/eslint/node_modules/acorn/README.md
+++ b/tools/node_modules/eslint/node_modules/acorn/README.md
@@ -28,10 +28,13 @@ The easiest way to install acorn is with [`npm`][npm].
npm install acorn
```
-Alternately, download the source.
+Alternately, you can download the source and build acorn yourself:
```sh
git clone https://github.com/acornjs/acorn.git
+cd acorn
+npm install
+npm run build
```
## Components
@@ -447,9 +450,16 @@ looseParser.extend("readToken", function(nextMethod) {
Plugins for ECMAScript proposals:
+ - [`acorn-stage3`](https://github.com/acornjs/acorn-stage3): Parse most stage 3 proposals, bundling:
+ - [`acorn-async-iteration`](https://github.com/acornjs/acorn-async-iteration): Parse [async iteration proposal](https://github.com/tc39/proposal-async-iteration)
+ - [`acorn-bigint`](https://github.com/acornjs/acorn-bigint): Parse [BigInt proposal](https://github.com/tc39/proposal-bigint)
+ - [`acorn-class-fields`](https://github.com/acornjs/acorn-class-fields): Parse [class fields proposal](https://github.com/tc39/proposal-class-fields)
+ - [`acorn-dynamic-import`](https://github.com/kesne/acorn-dynamic-import): Parse [import() proposal](https://github.com/tc39/proposal-dynamic-import)
+ - [`acorn-import-meta`](https://github.com/acornjs/acorn-import-meta): Parse [import.meta proposal](https://github.com/tc39/proposal-import-meta)
+ - [`acorn-numeric-separator`](https://github.com/acornjs/acorn-numeric-separator): Parse [numeric separator proposal](https://github.com/tc39/proposal-numeric-separator)
+ - [`acorn-optional-catch-binding`](https://github.com/acornjs/acorn-optional-catch-binding): Parse [optional catch binding proposal](https://github.com/tc39/proposal-optional-catch-binding)
+ - [`acorn-private-methods`](https://github.com/acornjs/acorn-private-methods): parse [private methods, getters and setters proposal](https://github.com/tc39/proposal-private-methods)
+ - [`acorn5-object-spread`](https://github.com/adrianheine/acorn5-object-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread)
- [`acorn-object-rest-spread`](https://github.com/victor-homyakov/acorn-object-rest-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread)
- - [`acorn5-object-spread`](https://github.com/adrianheine/acorn5-object-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread)
- [`acorn-es7`](https://github.com/angelozerr/acorn-es7): Parse [decorator syntax proposal](https://github.com/wycats/javascript-decorators)
- [`acorn-static-class-property-initializer`](https://github.com/victor-homyakov/acorn-static-class-property-initializer): Partial support for static class properties from [ES Class Fields & Static Properties Proposal](https://github.com/tc39/proposal-class-public-fields) to support static property initializers in [React components written as ES6+ classes](https://babeljs.io/blog/2015/06/07/react-on-es6-plus)
- - [`acorn-dynamic-import`](https://github.com/kesne/acorn-dynamic-import): Parse [import() proposal](https://github.com/tc39/proposal-dynamic-import)
- - [`acorn-async-iteration`](https://github.com/adrianheine/acorn-async-iteration): Parse [async iteration proposal](https://github.com/tc39/proposal-async-iteration)
diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js b/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js
index b0e4e8fac8..f52a478c7d 100644
--- a/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js
+++ b/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js
@@ -4,17 +4,12 @@ const run = require("test262-parser-runner")
const parse = require("..").parse
const unsupportedFeatures = [
- "async-iteration",
"BigInt",
"class-fields",
"class-fields-private",
"class-fields-public",
- "object-rest",
- "object-spread",
- "optional-catch-binding",
- "regexp-lookbehind",
- "regexp-named-groups",
- "regexp-unicode-property-escapes"
+ "numeric-separator-literal",
+ "optional-catch-binding"
];
run(
diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist b/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist
index 4524b3b1f0..b00d3404e3 100644
--- a/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist
+++ b/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist
@@ -96,6 +96,28 @@ language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-
language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode)
language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (default)
language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js (default)
+language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (default)
language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode)
language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (default)
@@ -186,27 +208,10 @@ language/global-code/super-call-arrow.js (default)
language/global-code/super-call-arrow.js (strict mode)
language/global-code/super-prop-arrow.js (default)
language/global-code/super-prop-arrow.js (strict mode)
-language/literals/regexp/early-err-dup-flag.js (default)
-language/literals/regexp/early-err-dup-flag.js (strict mode)
-language/literals/regexp/early-err-flags-unicode-escape.js (default)
-language/literals/regexp/early-err-flags-unicode-escape.js (strict mode)
-language/literals/string/legacy-non-octal-escape-sequence-strict.js (strict mode)
language/module-code/early-export-global.js (default)
language/module-code/early-export-global.js (strict mode)
language/module-code/early-export-unresolvable.js (default)
language/module-code/early-export-unresolvable.js (strict mode)
-language/module-code/instn-resolve-empty-export.js (default)
-language/module-code/instn-resolve-empty-export.js (strict mode)
-language/module-code/instn-resolve-empty-import.js (default)
-language/module-code/instn-resolve-empty-import.js (strict mode)
-language/module-code/instn-resolve-err-reference.js (default)
-language/module-code/instn-resolve-err-reference.js (strict mode)
-language/module-code/instn-resolve-err-syntax.js (default)
-language/module-code/instn-resolve-err-syntax.js (strict mode)
-language/module-code/instn-resolve-order-depth.js (default)
-language/module-code/instn-resolve-order-depth.js (strict mode)
-language/module-code/instn-resolve-order-src.js (default)
-language/module-code/instn-resolve-order-src.js (strict mode)
language/module-code/parse-err-hoist-lex-fun.js (default)
language/module-code/parse-err-hoist-lex-fun.js (strict mode)
language/module-code/parse-err-hoist-lex-gen.js (default)
@@ -219,6 +224,14 @@ language/statements/async-function/early-errors-declaration-formals-contains-sup
language/statements/async-function/early-errors-declaration-formals-contains-super-call.js (strict mode)
language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (default)
language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (strict mode)
+language/expressions/async-generator/early-errors-expression-body-contains-super-call.js (default)
+language/expressions/async-generator/early-errors-expression-body-contains-super-call.js (strict mode)
+language/expressions/async-generator/early-errors-expression-body-contains-super-property.js (default)
+language/expressions/async-generator/early-errors-expression-body-contains-super-property.js (strict mode)
+language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js (default)
+language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js (strict mode)
+language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js (default)
+language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js (strict mode)
language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js (default)
language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (default)
language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (strict mode)
@@ -284,6 +297,8 @@ language/statements/for-of/labelled-fn-stmt-lhs.js (default)
language/statements/for-of/labelled-fn-stmt-var.js (default)
language/statements/for-of/let-block-with-newline.js (default)
language/statements/for-of/let-identifier-with-newline.js (default)
+language/statements/for-await-of/let-block-with-newline.js (default)
+language/statements/for-await-of/let-identifier-with-newline.js (default)
language/statements/function/early-body-super-call.js (default)
language/statements/function/early-body-super-call.js (strict mode)
language/statements/function/early-body-super-prop.js (default)
@@ -317,6 +332,28 @@ language/statements/switch/syntax/redeclaration/async-function-declaration-attem
language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode)
language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (default)
language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js (default)
+language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
+language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js (default)
+language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js (strict mode)
language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (default)
language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode)
language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (default)
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js
index 019417b6d3..c272a9d052 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js
@@ -27,8 +27,8 @@ var keywordRelationalOperator = /^in(stanceof)?$/;
// code point above 128.
// Generated by `bin/generate-identifier-regex.js`.
-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";
-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";
+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\u0860-\u086a\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\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\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-\u312e\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fea\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";
+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\u0afa-\u0aff\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\u0d00-\u0d03\u0d3b\u0d3c\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\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\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";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
@@ -42,10 +42,10 @@ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
// generated by bin/generate-identifier-regex.js
// eslint-disable-next-line comma-spacing
-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];
+var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,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,257,0,11,39,8,0,22,0,12,39,3,3,55,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,698,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,1,31,6124,20,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,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,15,7472,3104,541];
// eslint-disable-next-line comma-spacing
-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];
+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,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,19719,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];
// This has a complexity linear to the value of the code. The
// assumption is that looking up astral identifier characters is
@@ -513,6 +513,9 @@ var Parser = function Parser(options, input, startPos) {
// Scope tracking for duplicate variable names (see scope.js)
this.scopeStack = [];
this.enterFunctionScope();
+
+ // For RegExp validation
+ this.regexpState = null;
};
// DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
@@ -863,10 +866,14 @@ pp$1.parseDoStatement = function(node) {
pp$1.parseForStatement = function(node) {
this.next();
+ var awaitAt = (this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await")) ? this.lastTokStart : -1;
this.labels.push(loopLabel);
this.enterLexicalScope();
this.expect(types.parenL);
- if (this.type === types.semi) { return this.parseFor(node, null) }
+ if (this.type === types.semi) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ return this.parseFor(node, null)
+ }
var isLet = this.isLet();
if (this.type === types._var || this.type === types._const || isLet) {
var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
@@ -874,19 +881,32 @@ pp$1.parseForStatement = function(node) {
this.parseVar(init$1, true, kind);
this.finishNode(init$1, "VariableDeclaration");
if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1 &&
- !(kind !== "var" && init$1.declarations[0].init))
- { return this.parseForIn(node, init$1) }
+ !(kind !== "var" && init$1.declarations[0].init)) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
+ return this.parseForIn(node, init$1)
+ }
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
return this.parseFor(node, init$1)
}
var refDestructuringErrors = new DestructuringErrors;
var init = this.parseExpression(true, refDestructuringErrors);
if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
this.toAssignable(init, false, refDestructuringErrors);
this.checkLVal(init);
return this.parseForIn(node, init)
} else {
this.checkExpressionErrors(refDestructuringErrors, true);
}
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
return this.parseFor(node, init)
};
@@ -1157,7 +1177,7 @@ pp$1.parseVarId = function(decl, kind) {
pp$1.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) {
this.initFunction(node);
- if (this.options.ecmaVersion >= 6 && !isAsync)
+ if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync)
{ node.generator = this.eat(types.star); }
if (this.options.ecmaVersion >= 8)
{ node.async = !!isAsync; }
@@ -1250,6 +1270,7 @@ pp$1.parseClassMember = function(classBody) {
if (!isGenerator) {
if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) {
isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
} else if (tryContextual("get")) {
method.kind = "get";
} else if (tryContextual("set")) {
@@ -1369,7 +1390,7 @@ pp$1.checkPatternExport = function(exports, pat) {
{
var prop = list[i];
- this$1.checkPatternExport(exports, prop.value);
+ this$1.checkPatternExport(exports, prop);
} }
else if (type == "ArrayPattern")
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
@@ -1377,8 +1398,12 @@ pp$1.checkPatternExport = function(exports, pat) {
if (elt) { this$1.checkPatternExport(exports, elt); }
} }
+ else if (type == "Property")
+ { this.checkPatternExport(exports, pat.value); }
else if (type == "AssignmentPattern")
{ this.checkPatternExport(exports, pat.left); }
+ else if (type == "RestElement")
+ { this.checkPatternExport(exports, pat.argument); }
else if (type == "ParenthesizedExpression")
{ this.checkPatternExport(exports, pat.expression); }
};
@@ -1527,12 +1552,22 @@ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
case "ObjectExpression":
node.type = "ObjectPattern";
if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
- for (var i = 0, list = node.properties; i < list.length; i += 1)
- {
- var prop = list[i];
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
+ var prop = list[i];
this$1.toAssignable(prop, isBinding);
- }
+ // Early error:
+ // AssignmentRestProperty[Yield, Await] :
+ // `...` DestructuringAssignmentTarget[Yield, Await]
+ //
+ // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.
+ if (
+ prop.type === "RestElement" &&
+ (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")
+ ) {
+ this$1.raise(prop.argument.start, "Unexpected token");
+ }
+ }
break
case "Property":
@@ -1781,6 +1816,8 @@ var pp$3 = Parser.prototype;
// strict mode, init properties are also not allowed to be repeated.
pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
+ if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
+ { return }
if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
{ return }
var key = prop.key;
@@ -2307,7 +2344,7 @@ pp$3.parseTemplate = function(ref) {
pp$3.isAsyncProp = function(prop) {
return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
- (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword) &&
+ (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&
!lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
};
@@ -2334,6 +2371,32 @@ pp$3.parseObj = function(isPattern, refDestructuringErrors) {
pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
+ if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {
+ if (isPattern) {
+ prop.argument = this.parseIdent(false);
+ if (this.type === types.comma) {
+ this.raise(this.start, "Comma is not permitted after the rest element");
+ }
+ return this.finishNode(prop, "RestElement")
+ }
+ // To disallow parenthesized identifier via `this.toAssignable()`.
+ if (this.type === types.parenL && refDestructuringErrors) {
+ if (refDestructuringErrors.parenthesizedAssign < 0) {
+ refDestructuringErrors.parenthesizedAssign = this.start;
+ }
+ if (refDestructuringErrors.parenthesizedBind < 0) {
+ refDestructuringErrors.parenthesizedBind = this.start;
+ }
+ }
+ // Parse argument.
+ prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
+ // To disallow trailing comma via `this.toAssignable()`.
+ if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
+ refDestructuringErrors.trailingComma = this.start;
+ }
+ // Finish
+ return this.finishNode(prop, "SpreadElement")
+ }
if (this.options.ecmaVersion >= 6) {
prop.method = false;
prop.shorthand = false;
@@ -2348,6 +2411,7 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
this.parsePropertyName(prop);
if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
this.parsePropertyName(prop, refDestructuringErrors);
} else {
isAsync = false;
@@ -2956,6 +3020,1515 @@ types.name.updateContext = function(prevType) {
this.exprAllowed = allowed;
};
+var data = {
+ "$LONE": [
+ "ASCII",
+ "ASCII_Hex_Digit",
+ "AHex",
+ "Alphabetic",
+ "Alpha",
+ "Any",
+ "Assigned",
+ "Bidi_Control",
+ "Bidi_C",
+ "Bidi_Mirrored",
+ "Bidi_M",
+ "Case_Ignorable",
+ "CI",
+ "Cased",
+ "Changes_When_Casefolded",
+ "CWCF",
+ "Changes_When_Casemapped",
+ "CWCM",
+ "Changes_When_Lowercased",
+ "CWL",
+ "Changes_When_NFKC_Casefolded",
+ "CWKCF",
+ "Changes_When_Titlecased",
+ "CWT",
+ "Changes_When_Uppercased",
+ "CWU",
+ "Dash",
+ "Default_Ignorable_Code_Point",
+ "DI",
+ "Deprecated",
+ "Dep",
+ "Diacritic",
+ "Dia",
+ "Emoji",
+ "Emoji_Component",
+ "Emoji_Modifier",
+ "Emoji_Modifier_Base",
+ "Emoji_Presentation",
+ "Extender",
+ "Ext",
+ "Grapheme_Base",
+ "Gr_Base",
+ "Grapheme_Extend",
+ "Gr_Ext",
+ "Hex_Digit",
+ "Hex",
+ "IDS_Binary_Operator",
+ "IDSB",
+ "IDS_Trinary_Operator",
+ "IDST",
+ "ID_Continue",
+ "IDC",
+ "ID_Start",
+ "IDS",
+ "Ideographic",
+ "Ideo",
+ "Join_Control",
+ "Join_C",
+ "Logical_Order_Exception",
+ "LOE",
+ "Lowercase",
+ "Lower",
+ "Math",
+ "Noncharacter_Code_Point",
+ "NChar",
+ "Pattern_Syntax",
+ "Pat_Syn",
+ "Pattern_White_Space",
+ "Pat_WS",
+ "Quotation_Mark",
+ "QMark",
+ "Radical",
+ "Regional_Indicator",
+ "RI",
+ "Sentence_Terminal",
+ "STerm",
+ "Soft_Dotted",
+ "SD",
+ "Terminal_Punctuation",
+ "Term",
+ "Unified_Ideograph",
+ "UIdeo",
+ "Uppercase",
+ "Upper",
+ "Variation_Selector",
+ "VS",
+ "White_Space",
+ "space",
+ "XID_Continue",
+ "XIDC",
+ "XID_Start",
+ "XIDS"
+ ],
+ "General_Category": [
+ "Cased_Letter",
+ "LC",
+ "Close_Punctuation",
+ "Pe",
+ "Connector_Punctuation",
+ "Pc",
+ "Control",
+ "Cc",
+ "cntrl",
+ "Currency_Symbol",
+ "Sc",
+ "Dash_Punctuation",
+ "Pd",
+ "Decimal_Number",
+ "Nd",
+ "digit",
+ "Enclosing_Mark",
+ "Me",
+ "Final_Punctuation",
+ "Pf",
+ "Format",
+ "Cf",
+ "Initial_Punctuation",
+ "Pi",
+ "Letter",
+ "L",
+ "Letter_Number",
+ "Nl",
+ "Line_Separator",
+ "Zl",
+ "Lowercase_Letter",
+ "Ll",
+ "Mark",
+ "M",
+ "Combining_Mark",
+ "Math_Symbol",
+ "Sm",
+ "Modifier_Letter",
+ "Lm",
+ "Modifier_Symbol",
+ "Sk",
+ "Nonspacing_Mark",
+ "Mn",
+ "Number",
+ "N",
+ "Open_Punctuation",
+ "Ps",
+ "Other",
+ "C",
+ "Other_Letter",
+ "Lo",
+ "Other_Number",
+ "No",
+ "Other_Punctuation",
+ "Po",
+ "Other_Symbol",
+ "So",
+ "Paragraph_Separator",
+ "Zp",
+ "Private_Use",
+ "Co",
+ "Punctuation",
+ "P",
+ "punct",
+ "Separator",
+ "Z",
+ "Space_Separator",
+ "Zs",
+ "Spacing_Mark",
+ "Mc",
+ "Surrogate",
+ "Cs",
+ "Symbol",
+ "S",
+ "Titlecase_Letter",
+ "Lt",
+ "Unassigned",
+ "Cn",
+ "Uppercase_Letter",
+ "Lu"
+ ],
+ "Script": [
+ "Adlam",
+ "Adlm",
+ "Ahom",
+ "Anatolian_Hieroglyphs",
+ "Hluw",
+ "Arabic",
+ "Arab",
+ "Armenian",
+ "Armn",
+ "Avestan",
+ "Avst",
+ "Balinese",
+ "Bali",
+ "Bamum",
+ "Bamu",
+ "Bassa_Vah",
+ "Bass",
+ "Batak",
+ "Batk",
+ "Bengali",
+ "Beng",
+ "Bhaiksuki",
+ "Bhks",
+ "Bopomofo",
+ "Bopo",
+ "Brahmi",
+ "Brah",
+ "Braille",
+ "Brai",
+ "Buginese",
+ "Bugi",
+ "Buhid",
+ "Buhd",
+ "Canadian_Aboriginal",
+ "Cans",
+ "Carian",
+ "Cari",
+ "Caucasian_Albanian",
+ "Aghb",
+ "Chakma",
+ "Cakm",
+ "Cham",
+ "Cherokee",
+ "Cher",
+ "Common",
+ "Zyyy",
+ "Coptic",
+ "Copt",
+ "Qaac",
+ "Cuneiform",
+ "Xsux",
+ "Cypriot",
+ "Cprt",
+ "Cyrillic",
+ "Cyrl",
+ "Deseret",
+ "Dsrt",
+ "Devanagari",
+ "Deva",
+ "Duployan",
+ "Dupl",
+ "Egyptian_Hieroglyphs",
+ "Egyp",
+ "Elbasan",
+ "Elba",
+ "Ethiopic",
+ "Ethi",
+ "Georgian",
+ "Geor",
+ "Glagolitic",
+ "Glag",
+ "Gothic",
+ "Goth",
+ "Grantha",
+ "Gran",
+ "Greek",
+ "Grek",
+ "Gujarati",
+ "Gujr",
+ "Gurmukhi",
+ "Guru",
+ "Han",
+ "Hani",
+ "Hangul",
+ "Hang",
+ "Hanunoo",
+ "Hano",
+ "Hatran",
+ "Hatr",
+ "Hebrew",
+ "Hebr",
+ "Hiragana",
+ "Hira",
+ "Imperial_Aramaic",
+ "Armi",
+ "Inherited",
+ "Zinh",
+ "Qaai",
+ "Inscriptional_Pahlavi",
+ "Phli",
+ "Inscriptional_Parthian",
+ "Prti",
+ "Javanese",
+ "Java",
+ "Kaithi",
+ "Kthi",
+ "Kannada",
+ "Knda",
+ "Katakana",
+ "Kana",
+ "Kayah_Li",
+ "Kali",
+ "Kharoshthi",
+ "Khar",
+ "Khmer",
+ "Khmr",
+ "Khojki",
+ "Khoj",
+ "Khudawadi",
+ "Sind",
+ "Lao",
+ "Laoo",
+ "Latin",
+ "Latn",
+ "Lepcha",
+ "Lepc",
+ "Limbu",
+ "Limb",
+ "Linear_A",
+ "Lina",
+ "Linear_B",
+ "Linb",
+ "Lisu",
+ "Lycian",
+ "Lyci",
+ "Lydian",
+ "Lydi",
+ "Mahajani",
+ "Mahj",
+ "Malayalam",
+ "Mlym",
+ "Mandaic",
+ "Mand",
+ "Manichaean",
+ "Mani",
+ "Marchen",
+ "Marc",
+ "Masaram_Gondi",
+ "Gonm",
+ "Meetei_Mayek",
+ "Mtei",
+ "Mende_Kikakui",
+ "Mend",
+ "Meroitic_Cursive",
+ "Merc",
+ "Meroitic_Hieroglyphs",
+ "Mero",
+ "Miao",
+ "Plrd",
+ "Modi",
+ "Mongolian",
+ "Mong",
+ "Mro",
+ "Mroo",
+ "Multani",
+ "Mult",
+ "Myanmar",
+ "Mymr",
+ "Nabataean",
+ "Nbat",
+ "New_Tai_Lue",
+ "Talu",
+ "Newa",
+ "Nko",
+ "Nkoo",
+ "Nushu",
+ "Nshu",
+ "Ogham",
+ "Ogam",
+ "Ol_Chiki",
+ "Olck",
+ "Old_Hungarian",
+ "Hung",
+ "Old_Italic",
+ "Ital",
+ "Old_North_Arabian",
+ "Narb",
+ "Old_Permic",
+ "Perm",
+ "Old_Persian",
+ "Xpeo",
+ "Old_South_Arabian",
+ "Sarb",
+ "Old_Turkic",
+ "Orkh",
+ "Oriya",
+ "Orya",
+ "Osage",
+ "Osge",
+ "Osmanya",
+ "Osma",
+ "Pahawh_Hmong",
+ "Hmng",
+ "Palmyrene",
+ "Palm",
+ "Pau_Cin_Hau",
+ "Pauc",
+ "Phags_Pa",
+ "Phag",
+ "Phoenician",
+ "Phnx",
+ "Psalter_Pahlavi",
+ "Phlp",
+ "Rejang",
+ "Rjng",
+ "Runic",
+ "Runr",
+ "Samaritan",
+ "Samr",
+ "Saurashtra",
+ "Saur",
+ "Sharada",
+ "Shrd",
+ "Shavian",
+ "Shaw",
+ "Siddham",
+ "Sidd",
+ "SignWriting",
+ "Sgnw",
+ "Sinhala",
+ "Sinh",
+ "Sora_Sompeng",
+ "Sora",
+ "Soyombo",
+ "Soyo",
+ "Sundanese",
+ "Sund",
+ "Syloti_Nagri",
+ "Sylo",
+ "Syriac",
+ "Syrc",
+ "Tagalog",
+ "Tglg",
+ "Tagbanwa",
+ "Tagb",
+ "Tai_Le",
+ "Tale",
+ "Tai_Tham",
+ "Lana",
+ "Tai_Viet",
+ "Tavt",
+ "Takri",
+ "Takr",
+ "Tamil",
+ "Taml",
+ "Tangut",
+ "Tang",
+ "Telugu",
+ "Telu",
+ "Thaana",
+ "Thaa",
+ "Thai",
+ "Tibetan",
+ "Tibt",
+ "Tifinagh",
+ "Tfng",
+ "Tirhuta",
+ "Tirh",
+ "Ugaritic",
+ "Ugar",
+ "Vai",
+ "Vaii",
+ "Warang_Citi",
+ "Wara",
+ "Yi",
+ "Yiii",
+ "Zanabazar_Square",
+ "Zanb"
+ ]
+};
+Array.prototype.push.apply(data.$LONE, data.General_Category);
+data.gc = data.General_Category;
+data.sc = data.Script_Extensions = data.scx = data.Script;
+
+var pp$9 = Parser.prototype;
+
+var RegExpValidationState = function RegExpValidationState(parser) {
+ this.parser = parser;
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "");
+ this.source = "";
+ this.flags = "";
+ this.start = 0;
+ this.switchU = false;
+ this.switchN = false;
+ this.pos = 0;
+ this.lastIntValue = 0;
+ this.lastStringValue = "";
+ this.lastAssertionIsQuantifiable = false;
+ this.numCapturingParens = 0;
+ this.maxBackReference = 0;
+ this.groupNames = [];
+ this.backReferenceNames = [];
+};
+
+RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
+ var unicode = flags.indexOf("u") !== -1;
+ this.start = start | 0;
+ this.source = pattern + "";
+ this.flags = flags;
+ this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
+ this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
+};
+
+RegExpValidationState.prototype.raise = function raise (message) {
+ this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message));
+};
+
+// If u flag is given, this returns the code point at the index (it combines a surrogate pair).
+// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).
+RegExpValidationState.prototype.at = function at (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return -1
+ }
+ var c = s.charCodeAt(i);
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
+ return c
+ }
+ return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00
+};
+
+RegExpValidationState.prototype.nextIndex = function nextIndex (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return l
+ }
+ var c = s.charCodeAt(i);
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
+ return i + 1
+ }
+ return i + 2
+};
+
+RegExpValidationState.prototype.current = function current () {
+ return this.at(this.pos)
+};
+
+RegExpValidationState.prototype.lookahead = function lookahead () {
+ return this.at(this.nextIndex(this.pos))
+};
+
+RegExpValidationState.prototype.advance = function advance () {
+ this.pos = this.nextIndex(this.pos);
+};
+
+RegExpValidationState.prototype.eat = function eat (ch) {
+ if (this.current() === ch) {
+ this.advance();
+ return true
+ }
+ return false
+};
+
+function codePointToString$1(ch) {
+ if (ch <= 0xFFFF) { return String.fromCharCode(ch) }
+ ch -= 0x10000;
+ return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)
+}
+
+/**
+ * Validate the flags part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+pp$9.validateRegExpFlags = function(state) {
+ var this$1 = this;
+
+ var validFlags = state.validFlags;
+ var flags = state.flags;
+
+ for (var i = 0; i < flags.length; i++) {
+ var flag = flags.charAt(i);
+ if (validFlags.indexOf(flag) == -1) {
+ this$1.raise(state.start, "Invalid regular expression flag");
+ }
+ if (flags.indexOf(flag, i + 1) > -1) {
+ this$1.raise(state.start, "Duplicate regular expression flag");
+ }
+ }
+};
+
+/**
+ * Validate the pattern part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+pp$9.validateRegExpPattern = function(state) {
+ this.regexp_pattern(state);
+
+ // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
+ // parsing contains a |GroupName|, reparse with the goal symbol
+ // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*
+ // exception if _P_ did not conform to the grammar, if any elements of _P_
+ // were not matched by the parse, or if any Early Error conditions exist.
+ if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {
+ state.switchN = true;
+ this.regexp_pattern(state);
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
+pp$9.regexp_pattern = function(state) {
+ state.pos = 0;
+ state.lastIntValue = 0;
+ state.lastStringValue = "";
+ state.lastAssertionIsQuantifiable = false;
+ state.numCapturingParens = 0;
+ state.maxBackReference = 0;
+ state.groupNames.length = 0;
+ state.backReferenceNames.length = 0;
+
+ this.regexp_disjunction(state);
+
+ if (state.pos !== state.source.length) {
+ // Make the same messages as V8.
+ if (state.eat(0x29 /* ) */)) {
+ state.raise("Unmatched ')'");
+ }
+ if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {
+ state.raise("Lone quantifier brackets");
+ }
+ }
+ if (state.maxBackReference > state.numCapturingParens) {
+ state.raise("Invalid escape");
+ }
+ for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {
+ var name = list[i];
+
+ if (state.groupNames.indexOf(name) === -1) {
+ state.raise("Invalid named capture referenced");
+ }
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
+pp$9.regexp_disjunction = function(state) {
+ var this$1 = this;
+
+ this.regexp_alternative(state);
+ while (state.eat(0x7C /* | */)) {
+ this$1.regexp_alternative(state);
+ }
+
+ // Make the same message as V8.
+ if (this.regexp_eatQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ if (state.eat(0x7B /* { */)) {
+ state.raise("Lone quantifier brackets");
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
+pp$9.regexp_alternative = function(state) {
+ while (state.pos < state.source.length && this.regexp_eatTerm(state))
+ { }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
+pp$9.regexp_eatTerm = function(state) {
+ if (this.regexp_eatAssertion(state)) {
+ // Handle `QuantifiableAssertion Quantifier` alternative.
+ // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
+ // is a QuantifiableAssertion.
+ if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {
+ // Make the same message as V8.
+ if (state.switchU) {
+ state.raise("Invalid quantifier");
+ }
+ }
+ return true
+ }
+
+ if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {
+ this.regexp_eatQuantifier(state);
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
+pp$9.regexp_eatAssertion = function(state) {
+ var start = state.pos;
+ state.lastAssertionIsQuantifiable = false;
+
+ // ^, $
+ if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {
+ return true
+ }
+
+ // \b \B
+ if (state.eat(0x5C /* \ */)) {
+ if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ // Lookahead / Lookbehind
+ if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {
+ var lookbehind = false;
+ if (this.options.ecmaVersion >= 9) {
+ lookbehind = state.eat(0x3C /* < */);
+ }
+ if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {
+ this.regexp_disjunction(state);
+ if (!state.eat(0x29 /* ) */)) {
+ state.raise("Unterminated group");
+ }
+ state.lastAssertionIsQuantifiable = !lookbehind;
+ return true
+ }
+ }
+
+ state.pos = start;
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
+pp$9.regexp_eatQuantifier = function(state, noError) {
+ if ( noError === void 0 ) noError = false;
+
+ if (this.regexp_eatQuantifierPrefix(state, noError)) {
+ state.eat(0x3F /* ? */);
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
+pp$9.regexp_eatQuantifierPrefix = function(state, noError) {
+ return (
+ state.eat(0x2A /* * */) ||
+ state.eat(0x2B /* + */) ||
+ state.eat(0x3F /* ? */) ||
+ this.regexp_eatBracedQuantifier(state, noError)
+ )
+};
+pp$9.regexp_eatBracedQuantifier = function(state, noError) {
+ var start = state.pos;
+ if (state.eat(0x7B /* { */)) {
+ var min = 0, max = -1;
+ if (this.regexp_eatDecimalDigits(state)) {
+ min = state.lastIntValue;
+ if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {
+ max = state.lastIntValue;
+ }
+ if (state.eat(0x7D /* } */)) {
+ // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term
+ if (max !== -1 && max < min && !noError) {
+ state.raise("numbers out of order in {} quantifier");
+ }
+ return true
+ }
+ }
+ if (state.switchU && !noError) {
+ state.raise("Incomplete quantifier");
+ }
+ state.pos = start;
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
+pp$9.regexp_eatAtom = function(state) {
+ return (
+ this.regexp_eatPatternCharacters(state) ||
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state)
+ )
+};
+pp$9.regexp_eatReverseSolidusAtomEscape = function(state) {
+ var start = state.pos;
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatAtomEscape(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatUncapturingGroup = function(state) {
+ var start = state.pos;
+ if (state.eat(0x28 /* ( */)) {
+ if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatCapturingGroup = function(state) {
+ if (state.eat(0x28 /* ( */)) {
+ if (this.options.ecmaVersion >= 9) {
+ this.regexp_groupSpecifier(state);
+ } else if (state.current() === 0x3F /* ? */) {
+ state.raise("Invalid group");
+ }
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ state.numCapturingParens += 1;
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
+pp$9.regexp_eatExtendedAtom = function(state) {
+ return (
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state) ||
+ this.regexp_eatInvalidBracedQuantifier(state) ||
+ this.regexp_eatExtendedPatternCharacter(state)
+ )
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
+pp$9.regexp_eatInvalidBracedQuantifier = function(state) {
+ if (this.regexp_eatBracedQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
+pp$9.regexp_eatSyntaxCharacter = function(state) {
+ var ch = state.current();
+ if (isSyntaxCharacter(ch)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+ return false
+};
+function isSyntaxCharacter(ch) {
+ return (
+ ch === 0x24 /* $ */ ||
+ ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||
+ ch === 0x2E /* . */ ||
+ ch === 0x3F /* ? */ ||
+ ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||
+ ch >= 0x7B /* { */ && ch <= 0x7D /* } */
+ )
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
+// But eat eager.
+pp$9.regexp_eatPatternCharacters = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
+ state.advance();
+ }
+ return state.pos !== start
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
+pp$9.regexp_eatExtendedPatternCharacter = function(state) {
+ var ch = state.current();
+ if (
+ ch !== -1 &&
+ ch !== 0x24 /* $ */ &&
+ !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&
+ ch !== 0x2E /* . */ &&
+ ch !== 0x3F /* ? */ &&
+ ch !== 0x5B /* [ */ &&
+ ch !== 0x5E /* ^ */ &&
+ ch !== 0x7C /* | */
+ ) {
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// GroupSpecifier[U] ::
+// [empty]
+// `?` GroupName[?U]
+pp$9.regexp_groupSpecifier = function(state) {
+ if (state.eat(0x3F /* ? */)) {
+ if (this.regexp_eatGroupName(state)) {
+ if (state.groupNames.indexOf(state.lastStringValue) !== -1) {
+ state.raise("Duplicate capture group name");
+ }
+ state.groupNames.push(state.lastStringValue);
+ return
+ }
+ state.raise("Invalid group");
+ }
+};
+
+// GroupName[U] ::
+// `<` RegExpIdentifierName[?U] `>`
+// Note: this updates `state.lastStringValue` property with the eaten name.
+pp$9.regexp_eatGroupName = function(state) {
+ state.lastStringValue = "";
+ if (state.eat(0x3C /* < */)) {
+ if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
+ return true
+ }
+ state.raise("Invalid capture group name");
+ }
+ return false
+};
+
+// RegExpIdentifierName[U] ::
+// RegExpIdentifierStart[?U]
+// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]
+// Note: this updates `state.lastStringValue` property with the eaten name.
+pp$9.regexp_eatRegExpIdentifierName = function(state) {
+ state.lastStringValue = "";
+ if (this.regexp_eatRegExpIdentifierStart(state)) {
+ state.lastStringValue += codePointToString$1(state.lastIntValue);
+ while (this.regexp_eatRegExpIdentifierPart(state)) {
+ state.lastStringValue += codePointToString$1(state.lastIntValue);
+ }
+ return true
+ }
+ return false
+};
+
+// RegExpIdentifierStart[U] ::
+// UnicodeIDStart
+// `$`
+// `_`
+// `\` RegExpUnicodeEscapeSequence[?U]
+pp$9.regexp_eatRegExpIdentifierStart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierStart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+};
+function isRegExpIdentifierStart(ch) {
+ return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */
+}
+
+// RegExpIdentifierPart[U] ::
+// UnicodeIDContinue
+// `$`
+// `_`
+// `\` RegExpUnicodeEscapeSequence[?U]
+// <ZWNJ>
+// <ZWJ>
+pp$9.regexp_eatRegExpIdentifierPart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierPart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+};
+function isRegExpIdentifierPart(ch) {
+ return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* <ZWNJ> */ || ch === 0x200D /* <ZWJ> */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
+pp$9.regexp_eatAtomEscape = function(state) {
+ if (
+ this.regexp_eatBackReference(state) ||
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state) ||
+ (state.switchN && this.regexp_eatKGroupName(state))
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ if (state.current() === 0x63 /* c */) {
+ state.raise("Invalid unicode escape");
+ }
+ state.raise("Invalid escape");
+ }
+ return false
+};
+pp$9.regexp_eatBackReference = function(state) {
+ var start = state.pos;
+ if (this.regexp_eatDecimalEscape(state)) {
+ var n = state.lastIntValue;
+ if (state.switchU) {
+ // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape
+ if (n > state.maxBackReference) {
+ state.maxBackReference = n;
+ }
+ return true
+ }
+ if (n <= state.numCapturingParens) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatKGroupName = function(state) {
+ if (state.eat(0x6B /* k */)) {
+ if (this.regexp_eatGroupName(state)) {
+ state.backReferenceNames.push(state.lastStringValue);
+ return true
+ }
+ state.raise("Invalid named reference");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
+pp$9.regexp_eatCharacterEscape = function(state) {
+ return (
+ this.regexp_eatControlEscape(state) ||
+ this.regexp_eatCControlLetter(state) ||
+ this.regexp_eatZero(state) ||
+ this.regexp_eatHexEscapeSequence(state) ||
+ this.regexp_eatRegExpUnicodeEscapeSequence(state) ||
+ (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||
+ this.regexp_eatIdentityEscape(state)
+ )
+};
+pp$9.regexp_eatCControlLetter = function(state) {
+ var start = state.pos;
+ if (state.eat(0x63 /* c */)) {
+ if (this.regexp_eatControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatZero = function(state) {
+ if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
+ state.lastIntValue = 0;
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
+pp$9.regexp_eatControlEscape = function(state) {
+ var ch = state.current();
+ if (ch === 0x74 /* t */) {
+ state.lastIntValue = 0x09; /* \t */
+ state.advance();
+ return true
+ }
+ if (ch === 0x6E /* n */) {
+ state.lastIntValue = 0x0A; /* \n */
+ state.advance();
+ return true
+ }
+ if (ch === 0x76 /* v */) {
+ state.lastIntValue = 0x0B; /* \v */
+ state.advance();
+ return true
+ }
+ if (ch === 0x66 /* f */) {
+ state.lastIntValue = 0x0C; /* \f */
+ state.advance();
+ return true
+ }
+ if (ch === 0x72 /* r */) {
+ state.lastIntValue = 0x0D; /* \r */
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
+pp$9.regexp_eatControlLetter = function(state) {
+ var ch = state.current();
+ if (isControlLetter(ch)) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+};
+function isControlLetter(ch) {
+ return (
+ (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)
+ )
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
+pp$9.regexp_eatRegExpUnicodeEscapeSequence = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x75 /* u */)) {
+ if (this.regexp_eatFixedHexDigits(state, 4)) {
+ var lead = state.lastIntValue;
+ if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {
+ var leadSurrogateEnd = state.pos;
+ if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {
+ var trail = state.lastIntValue;
+ if (trail >= 0xDC00 && trail <= 0xDFFF) {
+ state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;
+ return true
+ }
+ }
+ state.pos = leadSurrogateEnd;
+ state.lastIntValue = lead;
+ }
+ return true
+ }
+ if (
+ state.switchU &&
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatHexDigits(state) &&
+ state.eat(0x7D /* } */) &&
+ isValidUnicode(state.lastIntValue)
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid unicode escape");
+ }
+ state.pos = start;
+ }
+
+ return false
+};
+function isValidUnicode(ch) {
+ return ch >= 0 && ch <= 0x10FFFF
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
+pp$9.regexp_eatIdentityEscape = function(state) {
+ if (state.switchU) {
+ if (this.regexp_eatSyntaxCharacter(state)) {
+ return true
+ }
+ if (state.eat(0x2F /* / */)) {
+ state.lastIntValue = 0x2F; /* / */
+ return true
+ }
+ return false
+ }
+
+ var ch = state.current();
+ if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
+pp$9.regexp_eatDecimalEscape = function(state) {
+ state.lastIntValue = 0;
+ var ch = state.current();
+ if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
+ do {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
+pp$9.regexp_eatCharacterClassEscape = function(state) {
+ var ch = state.current();
+
+ if (isCharacterClassEscape(ch)) {
+ state.lastIntValue = -1;
+ state.advance();
+ return true
+ }
+
+ if (
+ state.switchU &&
+ this.options.ecmaVersion >= 9 &&
+ (ch === 0x50 /* P */ || ch === 0x70 /* p */)
+ ) {
+ state.lastIntValue = -1;
+ state.advance();
+ if (
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatUnicodePropertyValueExpression(state) &&
+ state.eat(0x7D /* } */)
+ ) {
+ return true
+ }
+ state.raise("Invalid property name");
+ }
+
+ return false
+};
+function isCharacterClassEscape(ch) {
+ return (
+ ch === 0x64 /* d */ ||
+ ch === 0x44 /* D */ ||
+ ch === 0x73 /* s */ ||
+ ch === 0x53 /* S */ ||
+ ch === 0x77 /* w */ ||
+ ch === 0x57 /* W */
+ )
+}
+
+// UnicodePropertyValueExpression ::
+// UnicodePropertyName `=` UnicodePropertyValue
+// LoneUnicodePropertyNameOrValue
+pp$9.regexp_eatUnicodePropertyValueExpression = function(state) {
+ var start = state.pos;
+
+ // UnicodePropertyName `=` UnicodePropertyValue
+ if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {
+ var name = state.lastStringValue;
+ if (this.regexp_eatUnicodePropertyValue(state)) {
+ var value = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
+ return true
+ }
+ }
+ state.pos = start;
+
+ // LoneUnicodePropertyNameOrValue
+ if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
+ var nameOrValue = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);
+ return true
+ }
+ return false
+};
+pp$9.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
+ if (!data.hasOwnProperty(name) || data[name].indexOf(value) === -1) {
+ state.raise("Invalid property name");
+ }
+};
+pp$9.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
+ if (data.$LONE.indexOf(nameOrValue) === -1) {
+ state.raise("Invalid property name");
+ }
+};
+
+// UnicodePropertyName ::
+// UnicodePropertyNameCharacters
+pp$9.regexp_eatUnicodePropertyName = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyNameCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString$1(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+};
+function isUnicodePropertyNameCharacter(ch) {
+ return isControlLetter(ch) || ch === 0x5F /* _ */
+}
+
+// UnicodePropertyValue ::
+// UnicodePropertyValueCharacters
+pp$9.regexp_eatUnicodePropertyValue = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyValueCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString$1(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+};
+function isUnicodePropertyValueCharacter(ch) {
+ return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)
+}
+
+// LoneUnicodePropertyNameOrValue ::
+// UnicodePropertyValueCharacters
+pp$9.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
+ return this.regexp_eatUnicodePropertyValue(state)
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
+pp$9.regexp_eatCharacterClass = function(state) {
+ if (state.eat(0x5B /* [ */)) {
+ state.eat(0x5E /* ^ */);
+ this.regexp_classRanges(state);
+ if (state.eat(0x5D /* [ */)) {
+ return true
+ }
+ // Unreachable since it threw "unterminated regular expression" error before.
+ state.raise("Unterminated character class");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
+// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
+// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
+pp$9.regexp_classRanges = function(state) {
+ var this$1 = this;
+
+ while (this.regexp_eatClassAtom(state)) {
+ var left = state.lastIntValue;
+ if (state.eat(0x2D /* - */) && this$1.regexp_eatClassAtom(state)) {
+ var right = state.lastIntValue;
+ if (state.switchU && (left === -1 || right === -1)) {
+ state.raise("Invalid character class");
+ }
+ if (left !== -1 && right !== -1 && left > right) {
+ state.raise("Range out of order in character class");
+ }
+ }
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
+pp$9.regexp_eatClassAtom = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatClassEscape(state)) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ var ch$1 = state.current();
+ if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {
+ state.raise("Invalid class escape");
+ }
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+
+ var ch = state.current();
+ if (ch !== 0x5D /* [ */) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
+pp$9.regexp_eatClassEscape = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x62 /* b */)) {
+ state.lastIntValue = 0x08; /* <BS> */
+ return true
+ }
+
+ if (state.switchU && state.eat(0x2D /* - */)) {
+ state.lastIntValue = 0x2D; /* - */
+ return true
+ }
+
+ if (!state.switchU && state.eat(0x63 /* c */)) {
+ if (this.regexp_eatClassControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ return (
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state)
+ )
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
+pp$9.regexp_eatClassControlLetter = function(state) {
+ var ch = state.current();
+ if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+pp$9.regexp_eatHexEscapeSequence = function(state) {
+ var start = state.pos;
+ if (state.eat(0x78 /* x */)) {
+ if (this.regexp_eatFixedHexDigits(state, 2)) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
+pp$9.regexp_eatDecimalDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isDecimalDigit(ch = state.current())) {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ }
+ return state.pos !== start
+};
+function isDecimalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
+pp$9.regexp_eatHexDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isHexDigit(ch = state.current())) {
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return state.pos !== start
+};
+function isHexDigit(ch) {
+ return (
+ (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||
+ (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)
+ )
+}
+function hexToInt(ch) {
+ if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {
+ return 10 + (ch - 0x41 /* A */)
+ }
+ if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {
+ return 10 + (ch - 0x61 /* a */)
+ }
+ return ch - 0x30 /* 0 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
+// Allows only 0-377(octal) i.e. 0-255(decimal).
+pp$9.regexp_eatLegacyOctalEscapeSequence = function(state) {
+ if (this.regexp_eatOctalDigit(state)) {
+ var n1 = state.lastIntValue;
+ if (this.regexp_eatOctalDigit(state)) {
+ var n2 = state.lastIntValue;
+ if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {
+ state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;
+ } else {
+ state.lastIntValue = n1 * 8 + n2;
+ }
+ } else {
+ state.lastIntValue = n1;
+ }
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
+pp$9.regexp_eatOctalDigit = function(state) {
+ var ch = state.current();
+ if (isOctalDigit(ch)) {
+ state.lastIntValue = ch - 0x30; /* 0 */
+ state.advance();
+ return true
+ }
+ state.lastIntValue = 0;
+ return false
+};
+function isOctalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
+// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+pp$9.regexp_eatFixedHexDigits = function(state, length) {
+ var start = state.pos;
+ state.lastIntValue = 0;
+ for (var i = 0; i < length; ++i) {
+ var ch = state.current();
+ if (!isHexDigit(ch)) {
+ state.pos = start;
+ return false
+ }
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return true
+};
+
// Object type used to represent tokens. Note that normally, tokens
// simply exist as properties on the parser object. This is only
// used for the onToken callback and the external tokenizer.
@@ -2975,9 +4548,6 @@ var Token = function Token(p) {
var pp$8 = Parser.prototype;
-// Are we running under Rhino?
-var isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]";
-
// Move to the next token
pp$8.next = function() {
@@ -3327,22 +4897,6 @@ pp$8.finishOp = function(type, size) {
return this.finishToken(type, str)
};
-// Parse a regular expression. Some context-awareness is necessary,
-// since a '/' inside a '[]' set does not end the expression.
-
-function tryCreateRegexp(src, flags, throwErrorAt, parser) {
- try {
- return new RegExp(src, flags)
- } catch (e) {
- if (throwErrorAt !== undefined) {
- if (e instanceof SyntaxError) { parser.raise(throwErrorAt, "Error parsing regular expression: " + e.message); }
- throw e
- }
- }
-}
-
-var regexpUnicodeSupport = !!tryCreateRegexp("\uffff", "u");
-
pp$8.readRegexp = function() {
var this$1 = this;
@@ -3359,50 +4913,28 @@ pp$8.readRegexp = function() {
} else { escaped = false; }
++this$1.pos;
}
- var content = this.input.slice(start, this.pos);
+ var pattern = this.input.slice(start, this.pos);
++this.pos;
- // Need to use `readWord1` because '\uXXXX' sequences are allowed
- // here (don't ask).
- var mods = this.readWord1();
- var tmp = content, tmpFlags = "";
- if (mods) {
- var validFlags = /^[gim]*$/;
- if (this.options.ecmaVersion >= 6) { validFlags = /^[gimuy]*$/; }
- if (this.options.ecmaVersion >= 9) { validFlags = /^[gimsuy]*$/; }
- if (!validFlags.test(mods)) { this.raise(start, "Invalid regular expression flag"); }
- if (mods.indexOf("u") >= 0) {
- if (regexpUnicodeSupport) {
- tmpFlags = "u";
- } else {
- // Replace each astral symbol and every Unicode escape sequence that
- // possibly represents an astral symbol or a paired surrogate with a
- // single ASCII symbol to avoid throwing on regular expressions that
- // are only valid in combination with the `/u` flag.
- // Note: replacing with the ASCII symbol `x` might cause false
- // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
- // perfectly valid pattern that is equivalent to `[a-b]`, but it would
- // be replaced by `[x-b]` which throws an error.
- tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (_match, code, offset) {
- code = Number("0x" + code);
- if (code > 0x10FFFF) { this$1.raise(start + offset + 3, "Code point out of bounds"); }
- return "x"
- });
- tmp = tmp.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x");
- tmpFlags = tmpFlags.replace("u", "");
- }
- }
- }
- // Detect invalid regular expressions.
+ var flagsStart = this.pos;
+ var flags = this.readWord1();
+ if (this.containsEsc) { this.unexpected(flagsStart); }
+
+ // Validate pattern
+ var state = this.regexpState || (this.regexpState = new RegExpValidationState(this));
+ state.reset(start, pattern, flags);
+ this.validateRegExpFlags(state);
+ this.validateRegExpPattern(state);
+
+ // Create Literal#value property value.
var value = null;
- // Rhino's regular expression parser is flaky and throws uncatchable exceptions,
- // so don't do detection if we are running under Rhino
- if (!isRhino) {
- tryCreateRegexp(tmp, tmpFlags, start, this);
- // Get a regular expression object for this pattern-flag pair, or `null` in
- // case the current environment doesn't support the flags it uses.
- value = tryCreateRegexp(content, mods);
+ try {
+ value = new RegExp(pattern, flags);
+ } catch (e) {
+ // ESTree requires null if it failed to instantiate RegExp object.
+ // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral
}
- return this.finishToken(types.regexp, {pattern: content, flags: mods, value: value})
+
+ return this.finishToken(types.regexp, {pattern: pattern, flags: flags, value: value})
};
// Read an integer in the given radix. Return null if zero digits
@@ -3633,10 +5165,16 @@ pp$8.readEscapedChar = function(inTemplate) {
octalStr = octalStr.slice(0, -1);
octal = parseInt(octalStr, 8);
}
- if (octalStr !== "0" && (this.strict || inTemplate)) {
- this.invalidStringToken(this.pos - 2, "Octal literal in strict mode");
- }
this.pos += octalStr.length - 1;
+ ch = this.input.charCodeAt(this.pos);
+ if ((octalStr !== "0" || ch == 56 || ch == 57) && (this.strict || inTemplate)) {
+ this.invalidStringToken(
+ this.pos - 1 - octalStr.length,
+ inTemplate
+ ? "Octal literal in template string"
+ : "Octal literal in strict mode"
+ );
+ }
return String.fromCharCode(octal)
}
return String.fromCharCode(ch)
@@ -3722,7 +5260,7 @@ pp$8.readWord = function() {
// [dammit]: acorn_loose.js
// [walk]: util/walk.js
-var version = "5.3.0";
+var version = "5.5.3";
// The main exported interface (under `self.acorn` when in the
// browser) is a `parse` function that takes a code string and
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js
index c7bf2b5494..5273fc5459 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js
@@ -33,8 +33,8 @@ var keywordRelationalOperator = /^in(stanceof)?$/;
// code point above 128.
// Generated by `bin/generate-identifier-regex.js`.
-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";
-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";
+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\u0860-\u086a\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\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\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-\u312e\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fea\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";
+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\u0afa-\u0aff\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\u0d00-\u0d03\u0d3b\u0d3c\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\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\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";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
@@ -48,10 +48,10 @@ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
// generated by bin/generate-identifier-regex.js
// eslint-disable-next-line comma-spacing
-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];
+var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,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,257,0,11,39,8,0,22,0,12,39,3,3,55,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,698,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,1,31,6124,20,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,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,15,7472,3104,541];
// eslint-disable-next-line comma-spacing
-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];
+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,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,19719,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];
// This has a complexity linear to the value of the code. The
// assumption is that looking up astral identifier characters is
@@ -519,6 +519,9 @@ var Parser = function Parser(options, input, startPos) {
// Scope tracking for duplicate variable names (see scope.js)
this.scopeStack = [];
this.enterFunctionScope();
+
+ // For RegExp validation
+ this.regexpState = null;
};
// DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them
@@ -869,10 +872,14 @@ pp$1.parseDoStatement = function(node) {
pp$1.parseForStatement = function(node) {
this.next();
+ var awaitAt = (this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await")) ? this.lastTokStart : -1;
this.labels.push(loopLabel);
this.enterLexicalScope();
this.expect(types.parenL);
- if (this.type === types.semi) { return this.parseFor(node, null) }
+ if (this.type === types.semi) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ return this.parseFor(node, null)
+ }
var isLet = this.isLet();
if (this.type === types._var || this.type === types._const || isLet) {
var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
@@ -880,19 +887,32 @@ pp$1.parseForStatement = function(node) {
this.parseVar(init$1, true, kind);
this.finishNode(init$1, "VariableDeclaration");
if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1 &&
- !(kind !== "var" && init$1.declarations[0].init))
- { return this.parseForIn(node, init$1) }
+ !(kind !== "var" && init$1.declarations[0].init)) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
+ return this.parseForIn(node, init$1)
+ }
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
return this.parseFor(node, init$1)
}
var refDestructuringErrors = new DestructuringErrors;
var init = this.parseExpression(true, refDestructuringErrors);
if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
this.toAssignable(init, false, refDestructuringErrors);
this.checkLVal(init);
return this.parseForIn(node, init)
} else {
this.checkExpressionErrors(refDestructuringErrors, true);
}
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
return this.parseFor(node, init)
};
@@ -1163,7 +1183,7 @@ pp$1.parseVarId = function(decl, kind) {
pp$1.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) {
this.initFunction(node);
- if (this.options.ecmaVersion >= 6 && !isAsync)
+ if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync)
{ node.generator = this.eat(types.star); }
if (this.options.ecmaVersion >= 8)
{ node.async = !!isAsync; }
@@ -1256,6 +1276,7 @@ pp$1.parseClassMember = function(classBody) {
if (!isGenerator) {
if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) {
isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
} else if (tryContextual("get")) {
method.kind = "get";
} else if (tryContextual("set")) {
@@ -1375,7 +1396,7 @@ pp$1.checkPatternExport = function(exports, pat) {
{
var prop = list[i];
- this$1.checkPatternExport(exports, prop.value);
+ this$1.checkPatternExport(exports, prop);
} }
else if (type == "ArrayPattern")
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
@@ -1383,8 +1404,12 @@ pp$1.checkPatternExport = function(exports, pat) {
if (elt) { this$1.checkPatternExport(exports, elt); }
} }
+ else if (type == "Property")
+ { this.checkPatternExport(exports, pat.value); }
else if (type == "AssignmentPattern")
{ this.checkPatternExport(exports, pat.left); }
+ else if (type == "RestElement")
+ { this.checkPatternExport(exports, pat.argument); }
else if (type == "ParenthesizedExpression")
{ this.checkPatternExport(exports, pat.expression); }
};
@@ -1533,12 +1558,22 @@ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
case "ObjectExpression":
node.type = "ObjectPattern";
if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
- for (var i = 0, list = node.properties; i < list.length; i += 1)
- {
- var prop = list[i];
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
+ var prop = list[i];
this$1.toAssignable(prop, isBinding);
- }
+ // Early error:
+ // AssignmentRestProperty[Yield, Await] :
+ // `...` DestructuringAssignmentTarget[Yield, Await]
+ //
+ // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.
+ if (
+ prop.type === "RestElement" &&
+ (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")
+ ) {
+ this$1.raise(prop.argument.start, "Unexpected token");
+ }
+ }
break
case "Property":
@@ -1787,6 +1822,8 @@ var pp$3 = Parser.prototype;
// strict mode, init properties are also not allowed to be repeated.
pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
+ if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
+ { return }
if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
{ return }
var key = prop.key;
@@ -2313,7 +2350,7 @@ pp$3.parseTemplate = function(ref) {
pp$3.isAsyncProp = function(prop) {
return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
- (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword) &&
+ (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&
!lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
};
@@ -2340,6 +2377,32 @@ pp$3.parseObj = function(isPattern, refDestructuringErrors) {
pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
+ if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {
+ if (isPattern) {
+ prop.argument = this.parseIdent(false);
+ if (this.type === types.comma) {
+ this.raise(this.start, "Comma is not permitted after the rest element");
+ }
+ return this.finishNode(prop, "RestElement")
+ }
+ // To disallow parenthesized identifier via `this.toAssignable()`.
+ if (this.type === types.parenL && refDestructuringErrors) {
+ if (refDestructuringErrors.parenthesizedAssign < 0) {
+ refDestructuringErrors.parenthesizedAssign = this.start;
+ }
+ if (refDestructuringErrors.parenthesizedBind < 0) {
+ refDestructuringErrors.parenthesizedBind = this.start;
+ }
+ }
+ // Parse argument.
+ prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
+ // To disallow trailing comma via `this.toAssignable()`.
+ if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
+ refDestructuringErrors.trailingComma = this.start;
+ }
+ // Finish
+ return this.finishNode(prop, "SpreadElement")
+ }
if (this.options.ecmaVersion >= 6) {
prop.method = false;
prop.shorthand = false;
@@ -2354,6 +2417,7 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
this.parsePropertyName(prop);
if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
this.parsePropertyName(prop, refDestructuringErrors);
} else {
isAsync = false;
@@ -2962,6 +3026,1515 @@ types.name.updateContext = function(prevType) {
this.exprAllowed = allowed;
};
+var data = {
+ "$LONE": [
+ "ASCII",
+ "ASCII_Hex_Digit",
+ "AHex",
+ "Alphabetic",
+ "Alpha",
+ "Any",
+ "Assigned",
+ "Bidi_Control",
+ "Bidi_C",
+ "Bidi_Mirrored",
+ "Bidi_M",
+ "Case_Ignorable",
+ "CI",
+ "Cased",
+ "Changes_When_Casefolded",
+ "CWCF",
+ "Changes_When_Casemapped",
+ "CWCM",
+ "Changes_When_Lowercased",
+ "CWL",
+ "Changes_When_NFKC_Casefolded",
+ "CWKCF",
+ "Changes_When_Titlecased",
+ "CWT",
+ "Changes_When_Uppercased",
+ "CWU",
+ "Dash",
+ "Default_Ignorable_Code_Point",
+ "DI",
+ "Deprecated",
+ "Dep",
+ "Diacritic",
+ "Dia",
+ "Emoji",
+ "Emoji_Component",
+ "Emoji_Modifier",
+ "Emoji_Modifier_Base",
+ "Emoji_Presentation",
+ "Extender",
+ "Ext",
+ "Grapheme_Base",
+ "Gr_Base",
+ "Grapheme_Extend",
+ "Gr_Ext",
+ "Hex_Digit",
+ "Hex",
+ "IDS_Binary_Operator",
+ "IDSB",
+ "IDS_Trinary_Operator",
+ "IDST",
+ "ID_Continue",
+ "IDC",
+ "ID_Start",
+ "IDS",
+ "Ideographic",
+ "Ideo",
+ "Join_Control",
+ "Join_C",
+ "Logical_Order_Exception",
+ "LOE",
+ "Lowercase",
+ "Lower",
+ "Math",
+ "Noncharacter_Code_Point",
+ "NChar",
+ "Pattern_Syntax",
+ "Pat_Syn",
+ "Pattern_White_Space",
+ "Pat_WS",
+ "Quotation_Mark",
+ "QMark",
+ "Radical",
+ "Regional_Indicator",
+ "RI",
+ "Sentence_Terminal",
+ "STerm",
+ "Soft_Dotted",
+ "SD",
+ "Terminal_Punctuation",
+ "Term",
+ "Unified_Ideograph",
+ "UIdeo",
+ "Uppercase",
+ "Upper",
+ "Variation_Selector",
+ "VS",
+ "White_Space",
+ "space",
+ "XID_Continue",
+ "XIDC",
+ "XID_Start",
+ "XIDS"
+ ],
+ "General_Category": [
+ "Cased_Letter",
+ "LC",
+ "Close_Punctuation",
+ "Pe",
+ "Connector_Punctuation",
+ "Pc",
+ "Control",
+ "Cc",
+ "cntrl",
+ "Currency_Symbol",
+ "Sc",
+ "Dash_Punctuation",
+ "Pd",
+ "Decimal_Number",
+ "Nd",
+ "digit",
+ "Enclosing_Mark",
+ "Me",
+ "Final_Punctuation",
+ "Pf",
+ "Format",
+ "Cf",
+ "Initial_Punctuation",
+ "Pi",
+ "Letter",
+ "L",
+ "Letter_Number",
+ "Nl",
+ "Line_Separator",
+ "Zl",
+ "Lowercase_Letter",
+ "Ll",
+ "Mark",
+ "M",
+ "Combining_Mark",
+ "Math_Symbol",
+ "Sm",
+ "Modifier_Letter",
+ "Lm",
+ "Modifier_Symbol",
+ "Sk",
+ "Nonspacing_Mark",
+ "Mn",
+ "Number",
+ "N",
+ "Open_Punctuation",
+ "Ps",
+ "Other",
+ "C",
+ "Other_Letter",
+ "Lo",
+ "Other_Number",
+ "No",
+ "Other_Punctuation",
+ "Po",
+ "Other_Symbol",
+ "So",
+ "Paragraph_Separator",
+ "Zp",
+ "Private_Use",
+ "Co",
+ "Punctuation",
+ "P",
+ "punct",
+ "Separator",
+ "Z",
+ "Space_Separator",
+ "Zs",
+ "Spacing_Mark",
+ "Mc",
+ "Surrogate",
+ "Cs",
+ "Symbol",
+ "S",
+ "Titlecase_Letter",
+ "Lt",
+ "Unassigned",
+ "Cn",
+ "Uppercase_Letter",
+ "Lu"
+ ],
+ "Script": [
+ "Adlam",
+ "Adlm",
+ "Ahom",
+ "Anatolian_Hieroglyphs",
+ "Hluw",
+ "Arabic",
+ "Arab",
+ "Armenian",
+ "Armn",
+ "Avestan",
+ "Avst",
+ "Balinese",
+ "Bali",
+ "Bamum",
+ "Bamu",
+ "Bassa_Vah",
+ "Bass",
+ "Batak",
+ "Batk",
+ "Bengali",
+ "Beng",
+ "Bhaiksuki",
+ "Bhks",
+ "Bopomofo",
+ "Bopo",
+ "Brahmi",
+ "Brah",
+ "Braille",
+ "Brai",
+ "Buginese",
+ "Bugi",
+ "Buhid",
+ "Buhd",
+ "Canadian_Aboriginal",
+ "Cans",
+ "Carian",
+ "Cari",
+ "Caucasian_Albanian",
+ "Aghb",
+ "Chakma",
+ "Cakm",
+ "Cham",
+ "Cherokee",
+ "Cher",
+ "Common",
+ "Zyyy",
+ "Coptic",
+ "Copt",
+ "Qaac",
+ "Cuneiform",
+ "Xsux",
+ "Cypriot",
+ "Cprt",
+ "Cyrillic",
+ "Cyrl",
+ "Deseret",
+ "Dsrt",
+ "Devanagari",
+ "Deva",
+ "Duployan",
+ "Dupl",
+ "Egyptian_Hieroglyphs",
+ "Egyp",
+ "Elbasan",
+ "Elba",
+ "Ethiopic",
+ "Ethi",
+ "Georgian",
+ "Geor",
+ "Glagolitic",
+ "Glag",
+ "Gothic",
+ "Goth",
+ "Grantha",
+ "Gran",
+ "Greek",
+ "Grek",
+ "Gujarati",
+ "Gujr",
+ "Gurmukhi",
+ "Guru",
+ "Han",
+ "Hani",
+ "Hangul",
+ "Hang",
+ "Hanunoo",
+ "Hano",
+ "Hatran",
+ "Hatr",
+ "Hebrew",
+ "Hebr",
+ "Hiragana",
+ "Hira",
+ "Imperial_Aramaic",
+ "Armi",
+ "Inherited",
+ "Zinh",
+ "Qaai",
+ "Inscriptional_Pahlavi",
+ "Phli",
+ "Inscriptional_Parthian",
+ "Prti",
+ "Javanese",
+ "Java",
+ "Kaithi",
+ "Kthi",
+ "Kannada",
+ "Knda",
+ "Katakana",
+ "Kana",
+ "Kayah_Li",
+ "Kali",
+ "Kharoshthi",
+ "Khar",
+ "Khmer",
+ "Khmr",
+ "Khojki",
+ "Khoj",
+ "Khudawadi",
+ "Sind",
+ "Lao",
+ "Laoo",
+ "Latin",
+ "Latn",
+ "Lepcha",
+ "Lepc",
+ "Limbu",
+ "Limb",
+ "Linear_A",
+ "Lina",
+ "Linear_B",
+ "Linb",
+ "Lisu",
+ "Lycian",
+ "Lyci",
+ "Lydian",
+ "Lydi",
+ "Mahajani",
+ "Mahj",
+ "Malayalam",
+ "Mlym",
+ "Mandaic",
+ "Mand",
+ "Manichaean",
+ "Mani",
+ "Marchen",
+ "Marc",
+ "Masaram_Gondi",
+ "Gonm",
+ "Meetei_Mayek",
+ "Mtei",
+ "Mende_Kikakui",
+ "Mend",
+ "Meroitic_Cursive",
+ "Merc",
+ "Meroitic_Hieroglyphs",
+ "Mero",
+ "Miao",
+ "Plrd",
+ "Modi",
+ "Mongolian",
+ "Mong",
+ "Mro",
+ "Mroo",
+ "Multani",
+ "Mult",
+ "Myanmar",
+ "Mymr",
+ "Nabataean",
+ "Nbat",
+ "New_Tai_Lue",
+ "Talu",
+ "Newa",
+ "Nko",
+ "Nkoo",
+ "Nushu",
+ "Nshu",
+ "Ogham",
+ "Ogam",
+ "Ol_Chiki",
+ "Olck",
+ "Old_Hungarian",
+ "Hung",
+ "Old_Italic",
+ "Ital",
+ "Old_North_Arabian",
+ "Narb",
+ "Old_Permic",
+ "Perm",
+ "Old_Persian",
+ "Xpeo",
+ "Old_South_Arabian",
+ "Sarb",
+ "Old_Turkic",
+ "Orkh",
+ "Oriya",
+ "Orya",
+ "Osage",
+ "Osge",
+ "Osmanya",
+ "Osma",
+ "Pahawh_Hmong",
+ "Hmng",
+ "Palmyrene",
+ "Palm",
+ "Pau_Cin_Hau",
+ "Pauc",
+ "Phags_Pa",
+ "Phag",
+ "Phoenician",
+ "Phnx",
+ "Psalter_Pahlavi",
+ "Phlp",
+ "Rejang",
+ "Rjng",
+ "Runic",
+ "Runr",
+ "Samaritan",
+ "Samr",
+ "Saurashtra",
+ "Saur",
+ "Sharada",
+ "Shrd",
+ "Shavian",
+ "Shaw",
+ "Siddham",
+ "Sidd",
+ "SignWriting",
+ "Sgnw",
+ "Sinhala",
+ "Sinh",
+ "Sora_Sompeng",
+ "Sora",
+ "Soyombo",
+ "Soyo",
+ "Sundanese",
+ "Sund",
+ "Syloti_Nagri",
+ "Sylo",
+ "Syriac",
+ "Syrc",
+ "Tagalog",
+ "Tglg",
+ "Tagbanwa",
+ "Tagb",
+ "Tai_Le",
+ "Tale",
+ "Tai_Tham",
+ "Lana",
+ "Tai_Viet",
+ "Tavt",
+ "Takri",
+ "Takr",
+ "Tamil",
+ "Taml",
+ "Tangut",
+ "Tang",
+ "Telugu",
+ "Telu",
+ "Thaana",
+ "Thaa",
+ "Thai",
+ "Tibetan",
+ "Tibt",
+ "Tifinagh",
+ "Tfng",
+ "Tirhuta",
+ "Tirh",
+ "Ugaritic",
+ "Ugar",
+ "Vai",
+ "Vaii",
+ "Warang_Citi",
+ "Wara",
+ "Yi",
+ "Yiii",
+ "Zanabazar_Square",
+ "Zanb"
+ ]
+};
+Array.prototype.push.apply(data.$LONE, data.General_Category);
+data.gc = data.General_Category;
+data.sc = data.Script_Extensions = data.scx = data.Script;
+
+var pp$9 = Parser.prototype;
+
+var RegExpValidationState = function RegExpValidationState(parser) {
+ this.parser = parser;
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "");
+ this.source = "";
+ this.flags = "";
+ this.start = 0;
+ this.switchU = false;
+ this.switchN = false;
+ this.pos = 0;
+ this.lastIntValue = 0;
+ this.lastStringValue = "";
+ this.lastAssertionIsQuantifiable = false;
+ this.numCapturingParens = 0;
+ this.maxBackReference = 0;
+ this.groupNames = [];
+ this.backReferenceNames = [];
+};
+
+RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
+ var unicode = flags.indexOf("u") !== -1;
+ this.start = start | 0;
+ this.source = pattern + "";
+ this.flags = flags;
+ this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
+ this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
+};
+
+RegExpValidationState.prototype.raise = function raise (message) {
+ this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message));
+};
+
+// If u flag is given, this returns the code point at the index (it combines a surrogate pair).
+// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).
+RegExpValidationState.prototype.at = function at (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return -1
+ }
+ var c = s.charCodeAt(i);
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
+ return c
+ }
+ return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00
+};
+
+RegExpValidationState.prototype.nextIndex = function nextIndex (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return l
+ }
+ var c = s.charCodeAt(i);
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
+ return i + 1
+ }
+ return i + 2
+};
+
+RegExpValidationState.prototype.current = function current () {
+ return this.at(this.pos)
+};
+
+RegExpValidationState.prototype.lookahead = function lookahead () {
+ return this.at(this.nextIndex(this.pos))
+};
+
+RegExpValidationState.prototype.advance = function advance () {
+ this.pos = this.nextIndex(this.pos);
+};
+
+RegExpValidationState.prototype.eat = function eat (ch) {
+ if (this.current() === ch) {
+ this.advance();
+ return true
+ }
+ return false
+};
+
+function codePointToString$1(ch) {
+ if (ch <= 0xFFFF) { return String.fromCharCode(ch) }
+ ch -= 0x10000;
+ return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)
+}
+
+/**
+ * Validate the flags part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+pp$9.validateRegExpFlags = function(state) {
+ var this$1 = this;
+
+ var validFlags = state.validFlags;
+ var flags = state.flags;
+
+ for (var i = 0; i < flags.length; i++) {
+ var flag = flags.charAt(i);
+ if (validFlags.indexOf(flag) == -1) {
+ this$1.raise(state.start, "Invalid regular expression flag");
+ }
+ if (flags.indexOf(flag, i + 1) > -1) {
+ this$1.raise(state.start, "Duplicate regular expression flag");
+ }
+ }
+};
+
+/**
+ * Validate the pattern part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+pp$9.validateRegExpPattern = function(state) {
+ this.regexp_pattern(state);
+
+ // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
+ // parsing contains a |GroupName|, reparse with the goal symbol
+ // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*
+ // exception if _P_ did not conform to the grammar, if any elements of _P_
+ // were not matched by the parse, or if any Early Error conditions exist.
+ if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {
+ state.switchN = true;
+ this.regexp_pattern(state);
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
+pp$9.regexp_pattern = function(state) {
+ state.pos = 0;
+ state.lastIntValue = 0;
+ state.lastStringValue = "";
+ state.lastAssertionIsQuantifiable = false;
+ state.numCapturingParens = 0;
+ state.maxBackReference = 0;
+ state.groupNames.length = 0;
+ state.backReferenceNames.length = 0;
+
+ this.regexp_disjunction(state);
+
+ if (state.pos !== state.source.length) {
+ // Make the same messages as V8.
+ if (state.eat(0x29 /* ) */)) {
+ state.raise("Unmatched ')'");
+ }
+ if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {
+ state.raise("Lone quantifier brackets");
+ }
+ }
+ if (state.maxBackReference > state.numCapturingParens) {
+ state.raise("Invalid escape");
+ }
+ for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {
+ var name = list[i];
+
+ if (state.groupNames.indexOf(name) === -1) {
+ state.raise("Invalid named capture referenced");
+ }
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
+pp$9.regexp_disjunction = function(state) {
+ var this$1 = this;
+
+ this.regexp_alternative(state);
+ while (state.eat(0x7C /* | */)) {
+ this$1.regexp_alternative(state);
+ }
+
+ // Make the same message as V8.
+ if (this.regexp_eatQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ if (state.eat(0x7B /* { */)) {
+ state.raise("Lone quantifier brackets");
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
+pp$9.regexp_alternative = function(state) {
+ while (state.pos < state.source.length && this.regexp_eatTerm(state))
+ { }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
+pp$9.regexp_eatTerm = function(state) {
+ if (this.regexp_eatAssertion(state)) {
+ // Handle `QuantifiableAssertion Quantifier` alternative.
+ // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
+ // is a QuantifiableAssertion.
+ if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {
+ // Make the same message as V8.
+ if (state.switchU) {
+ state.raise("Invalid quantifier");
+ }
+ }
+ return true
+ }
+
+ if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {
+ this.regexp_eatQuantifier(state);
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
+pp$9.regexp_eatAssertion = function(state) {
+ var start = state.pos;
+ state.lastAssertionIsQuantifiable = false;
+
+ // ^, $
+ if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {
+ return true
+ }
+
+ // \b \B
+ if (state.eat(0x5C /* \ */)) {
+ if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ // Lookahead / Lookbehind
+ if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {
+ var lookbehind = false;
+ if (this.options.ecmaVersion >= 9) {
+ lookbehind = state.eat(0x3C /* < */);
+ }
+ if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {
+ this.regexp_disjunction(state);
+ if (!state.eat(0x29 /* ) */)) {
+ state.raise("Unterminated group");
+ }
+ state.lastAssertionIsQuantifiable = !lookbehind;
+ return true
+ }
+ }
+
+ state.pos = start;
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
+pp$9.regexp_eatQuantifier = function(state, noError) {
+ if ( noError === void 0 ) noError = false;
+
+ if (this.regexp_eatQuantifierPrefix(state, noError)) {
+ state.eat(0x3F /* ? */);
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
+pp$9.regexp_eatQuantifierPrefix = function(state, noError) {
+ return (
+ state.eat(0x2A /* * */) ||
+ state.eat(0x2B /* + */) ||
+ state.eat(0x3F /* ? */) ||
+ this.regexp_eatBracedQuantifier(state, noError)
+ )
+};
+pp$9.regexp_eatBracedQuantifier = function(state, noError) {
+ var start = state.pos;
+ if (state.eat(0x7B /* { */)) {
+ var min = 0, max = -1;
+ if (this.regexp_eatDecimalDigits(state)) {
+ min = state.lastIntValue;
+ if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {
+ max = state.lastIntValue;
+ }
+ if (state.eat(0x7D /* } */)) {
+ // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term
+ if (max !== -1 && max < min && !noError) {
+ state.raise("numbers out of order in {} quantifier");
+ }
+ return true
+ }
+ }
+ if (state.switchU && !noError) {
+ state.raise("Incomplete quantifier");
+ }
+ state.pos = start;
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
+pp$9.regexp_eatAtom = function(state) {
+ return (
+ this.regexp_eatPatternCharacters(state) ||
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state)
+ )
+};
+pp$9.regexp_eatReverseSolidusAtomEscape = function(state) {
+ var start = state.pos;
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatAtomEscape(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatUncapturingGroup = function(state) {
+ var start = state.pos;
+ if (state.eat(0x28 /* ( */)) {
+ if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatCapturingGroup = function(state) {
+ if (state.eat(0x28 /* ( */)) {
+ if (this.options.ecmaVersion >= 9) {
+ this.regexp_groupSpecifier(state);
+ } else if (state.current() === 0x3F /* ? */) {
+ state.raise("Invalid group");
+ }
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ state.numCapturingParens += 1;
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
+pp$9.regexp_eatExtendedAtom = function(state) {
+ return (
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state) ||
+ this.regexp_eatInvalidBracedQuantifier(state) ||
+ this.regexp_eatExtendedPatternCharacter(state)
+ )
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
+pp$9.regexp_eatInvalidBracedQuantifier = function(state) {
+ if (this.regexp_eatBracedQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
+pp$9.regexp_eatSyntaxCharacter = function(state) {
+ var ch = state.current();
+ if (isSyntaxCharacter(ch)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+ return false
+};
+function isSyntaxCharacter(ch) {
+ return (
+ ch === 0x24 /* $ */ ||
+ ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||
+ ch === 0x2E /* . */ ||
+ ch === 0x3F /* ? */ ||
+ ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||
+ ch >= 0x7B /* { */ && ch <= 0x7D /* } */
+ )
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
+// But eat eager.
+pp$9.regexp_eatPatternCharacters = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
+ state.advance();
+ }
+ return state.pos !== start
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
+pp$9.regexp_eatExtendedPatternCharacter = function(state) {
+ var ch = state.current();
+ if (
+ ch !== -1 &&
+ ch !== 0x24 /* $ */ &&
+ !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&
+ ch !== 0x2E /* . */ &&
+ ch !== 0x3F /* ? */ &&
+ ch !== 0x5B /* [ */ &&
+ ch !== 0x5E /* ^ */ &&
+ ch !== 0x7C /* | */
+ ) {
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// GroupSpecifier[U] ::
+// [empty]
+// `?` GroupName[?U]
+pp$9.regexp_groupSpecifier = function(state) {
+ if (state.eat(0x3F /* ? */)) {
+ if (this.regexp_eatGroupName(state)) {
+ if (state.groupNames.indexOf(state.lastStringValue) !== -1) {
+ state.raise("Duplicate capture group name");
+ }
+ state.groupNames.push(state.lastStringValue);
+ return
+ }
+ state.raise("Invalid group");
+ }
+};
+
+// GroupName[U] ::
+// `<` RegExpIdentifierName[?U] `>`
+// Note: this updates `state.lastStringValue` property with the eaten name.
+pp$9.regexp_eatGroupName = function(state) {
+ state.lastStringValue = "";
+ if (state.eat(0x3C /* < */)) {
+ if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
+ return true
+ }
+ state.raise("Invalid capture group name");
+ }
+ return false
+};
+
+// RegExpIdentifierName[U] ::
+// RegExpIdentifierStart[?U]
+// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]
+// Note: this updates `state.lastStringValue` property with the eaten name.
+pp$9.regexp_eatRegExpIdentifierName = function(state) {
+ state.lastStringValue = "";
+ if (this.regexp_eatRegExpIdentifierStart(state)) {
+ state.lastStringValue += codePointToString$1(state.lastIntValue);
+ while (this.regexp_eatRegExpIdentifierPart(state)) {
+ state.lastStringValue += codePointToString$1(state.lastIntValue);
+ }
+ return true
+ }
+ return false
+};
+
+// RegExpIdentifierStart[U] ::
+// UnicodeIDStart
+// `$`
+// `_`
+// `\` RegExpUnicodeEscapeSequence[?U]
+pp$9.regexp_eatRegExpIdentifierStart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierStart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+};
+function isRegExpIdentifierStart(ch) {
+ return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */
+}
+
+// RegExpIdentifierPart[U] ::
+// UnicodeIDContinue
+// `$`
+// `_`
+// `\` RegExpUnicodeEscapeSequence[?U]
+// <ZWNJ>
+// <ZWJ>
+pp$9.regexp_eatRegExpIdentifierPart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierPart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+};
+function isRegExpIdentifierPart(ch) {
+ return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* <ZWNJ> */ || ch === 0x200D /* <ZWJ> */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
+pp$9.regexp_eatAtomEscape = function(state) {
+ if (
+ this.regexp_eatBackReference(state) ||
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state) ||
+ (state.switchN && this.regexp_eatKGroupName(state))
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ if (state.current() === 0x63 /* c */) {
+ state.raise("Invalid unicode escape");
+ }
+ state.raise("Invalid escape");
+ }
+ return false
+};
+pp$9.regexp_eatBackReference = function(state) {
+ var start = state.pos;
+ if (this.regexp_eatDecimalEscape(state)) {
+ var n = state.lastIntValue;
+ if (state.switchU) {
+ // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape
+ if (n > state.maxBackReference) {
+ state.maxBackReference = n;
+ }
+ return true
+ }
+ if (n <= state.numCapturingParens) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatKGroupName = function(state) {
+ if (state.eat(0x6B /* k */)) {
+ if (this.regexp_eatGroupName(state)) {
+ state.backReferenceNames.push(state.lastStringValue);
+ return true
+ }
+ state.raise("Invalid named reference");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
+pp$9.regexp_eatCharacterEscape = function(state) {
+ return (
+ this.regexp_eatControlEscape(state) ||
+ this.regexp_eatCControlLetter(state) ||
+ this.regexp_eatZero(state) ||
+ this.regexp_eatHexEscapeSequence(state) ||
+ this.regexp_eatRegExpUnicodeEscapeSequence(state) ||
+ (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||
+ this.regexp_eatIdentityEscape(state)
+ )
+};
+pp$9.regexp_eatCControlLetter = function(state) {
+ var start = state.pos;
+ if (state.eat(0x63 /* c */)) {
+ if (this.regexp_eatControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+};
+pp$9.regexp_eatZero = function(state) {
+ if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
+ state.lastIntValue = 0;
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
+pp$9.regexp_eatControlEscape = function(state) {
+ var ch = state.current();
+ if (ch === 0x74 /* t */) {
+ state.lastIntValue = 0x09; /* \t */
+ state.advance();
+ return true
+ }
+ if (ch === 0x6E /* n */) {
+ state.lastIntValue = 0x0A; /* \n */
+ state.advance();
+ return true
+ }
+ if (ch === 0x76 /* v */) {
+ state.lastIntValue = 0x0B; /* \v */
+ state.advance();
+ return true
+ }
+ if (ch === 0x66 /* f */) {
+ state.lastIntValue = 0x0C; /* \f */
+ state.advance();
+ return true
+ }
+ if (ch === 0x72 /* r */) {
+ state.lastIntValue = 0x0D; /* \r */
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
+pp$9.regexp_eatControlLetter = function(state) {
+ var ch = state.current();
+ if (isControlLetter(ch)) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+};
+function isControlLetter(ch) {
+ return (
+ (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)
+ )
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
+pp$9.regexp_eatRegExpUnicodeEscapeSequence = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x75 /* u */)) {
+ if (this.regexp_eatFixedHexDigits(state, 4)) {
+ var lead = state.lastIntValue;
+ if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {
+ var leadSurrogateEnd = state.pos;
+ if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {
+ var trail = state.lastIntValue;
+ if (trail >= 0xDC00 && trail <= 0xDFFF) {
+ state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;
+ return true
+ }
+ }
+ state.pos = leadSurrogateEnd;
+ state.lastIntValue = lead;
+ }
+ return true
+ }
+ if (
+ state.switchU &&
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatHexDigits(state) &&
+ state.eat(0x7D /* } */) &&
+ isValidUnicode(state.lastIntValue)
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid unicode escape");
+ }
+ state.pos = start;
+ }
+
+ return false
+};
+function isValidUnicode(ch) {
+ return ch >= 0 && ch <= 0x10FFFF
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
+pp$9.regexp_eatIdentityEscape = function(state) {
+ if (state.switchU) {
+ if (this.regexp_eatSyntaxCharacter(state)) {
+ return true
+ }
+ if (state.eat(0x2F /* / */)) {
+ state.lastIntValue = 0x2F; /* / */
+ return true
+ }
+ return false
+ }
+
+ var ch = state.current();
+ if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
+pp$9.regexp_eatDecimalEscape = function(state) {
+ state.lastIntValue = 0;
+ var ch = state.current();
+ if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
+ do {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
+pp$9.regexp_eatCharacterClassEscape = function(state) {
+ var ch = state.current();
+
+ if (isCharacterClassEscape(ch)) {
+ state.lastIntValue = -1;
+ state.advance();
+ return true
+ }
+
+ if (
+ state.switchU &&
+ this.options.ecmaVersion >= 9 &&
+ (ch === 0x50 /* P */ || ch === 0x70 /* p */)
+ ) {
+ state.lastIntValue = -1;
+ state.advance();
+ if (
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatUnicodePropertyValueExpression(state) &&
+ state.eat(0x7D /* } */)
+ ) {
+ return true
+ }
+ state.raise("Invalid property name");
+ }
+
+ return false
+};
+function isCharacterClassEscape(ch) {
+ return (
+ ch === 0x64 /* d */ ||
+ ch === 0x44 /* D */ ||
+ ch === 0x73 /* s */ ||
+ ch === 0x53 /* S */ ||
+ ch === 0x77 /* w */ ||
+ ch === 0x57 /* W */
+ )
+}
+
+// UnicodePropertyValueExpression ::
+// UnicodePropertyName `=` UnicodePropertyValue
+// LoneUnicodePropertyNameOrValue
+pp$9.regexp_eatUnicodePropertyValueExpression = function(state) {
+ var start = state.pos;
+
+ // UnicodePropertyName `=` UnicodePropertyValue
+ if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {
+ var name = state.lastStringValue;
+ if (this.regexp_eatUnicodePropertyValue(state)) {
+ var value = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
+ return true
+ }
+ }
+ state.pos = start;
+
+ // LoneUnicodePropertyNameOrValue
+ if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
+ var nameOrValue = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);
+ return true
+ }
+ return false
+};
+pp$9.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
+ if (!data.hasOwnProperty(name) || data[name].indexOf(value) === -1) {
+ state.raise("Invalid property name");
+ }
+};
+pp$9.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
+ if (data.$LONE.indexOf(nameOrValue) === -1) {
+ state.raise("Invalid property name");
+ }
+};
+
+// UnicodePropertyName ::
+// UnicodePropertyNameCharacters
+pp$9.regexp_eatUnicodePropertyName = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyNameCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString$1(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+};
+function isUnicodePropertyNameCharacter(ch) {
+ return isControlLetter(ch) || ch === 0x5F /* _ */
+}
+
+// UnicodePropertyValue ::
+// UnicodePropertyValueCharacters
+pp$9.regexp_eatUnicodePropertyValue = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyValueCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString$1(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+};
+function isUnicodePropertyValueCharacter(ch) {
+ return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)
+}
+
+// LoneUnicodePropertyNameOrValue ::
+// UnicodePropertyValueCharacters
+pp$9.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
+ return this.regexp_eatUnicodePropertyValue(state)
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
+pp$9.regexp_eatCharacterClass = function(state) {
+ if (state.eat(0x5B /* [ */)) {
+ state.eat(0x5E /* ^ */);
+ this.regexp_classRanges(state);
+ if (state.eat(0x5D /* [ */)) {
+ return true
+ }
+ // Unreachable since it threw "unterminated regular expression" error before.
+ state.raise("Unterminated character class");
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
+// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
+// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
+pp$9.regexp_classRanges = function(state) {
+ var this$1 = this;
+
+ while (this.regexp_eatClassAtom(state)) {
+ var left = state.lastIntValue;
+ if (state.eat(0x2D /* - */) && this$1.regexp_eatClassAtom(state)) {
+ var right = state.lastIntValue;
+ if (state.switchU && (left === -1 || right === -1)) {
+ state.raise("Invalid character class");
+ }
+ if (left !== -1 && right !== -1 && left > right) {
+ state.raise("Range out of order in character class");
+ }
+ }
+ }
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
+// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
+pp$9.regexp_eatClassAtom = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatClassEscape(state)) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ var ch$1 = state.current();
+ if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {
+ state.raise("Invalid class escape");
+ }
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+
+ var ch = state.current();
+ if (ch !== 0x5D /* [ */) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
+pp$9.regexp_eatClassEscape = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x62 /* b */)) {
+ state.lastIntValue = 0x08; /* <BS> */
+ return true
+ }
+
+ if (state.switchU && state.eat(0x2D /* - */)) {
+ state.lastIntValue = 0x2D; /* - */
+ return true
+ }
+
+ if (!state.switchU && state.eat(0x63 /* c */)) {
+ if (this.regexp_eatClassControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ return (
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state)
+ )
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
+pp$9.regexp_eatClassControlLetter = function(state) {
+ var ch = state.current();
+ if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+pp$9.regexp_eatHexEscapeSequence = function(state) {
+ var start = state.pos;
+ if (state.eat(0x78 /* x */)) {
+ if (this.regexp_eatFixedHexDigits(state, 2)) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
+pp$9.regexp_eatDecimalDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isDecimalDigit(ch = state.current())) {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ }
+ return state.pos !== start
+};
+function isDecimalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
+pp$9.regexp_eatHexDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isHexDigit(ch = state.current())) {
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return state.pos !== start
+};
+function isHexDigit(ch) {
+ return (
+ (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||
+ (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)
+ )
+}
+function hexToInt(ch) {
+ if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {
+ return 10 + (ch - 0x41 /* A */)
+ }
+ if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {
+ return 10 + (ch - 0x61 /* a */)
+ }
+ return ch - 0x30 /* 0 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
+// Allows only 0-377(octal) i.e. 0-255(decimal).
+pp$9.regexp_eatLegacyOctalEscapeSequence = function(state) {
+ if (this.regexp_eatOctalDigit(state)) {
+ var n1 = state.lastIntValue;
+ if (this.regexp_eatOctalDigit(state)) {
+ var n2 = state.lastIntValue;
+ if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {
+ state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;
+ } else {
+ state.lastIntValue = n1 * 8 + n2;
+ }
+ } else {
+ state.lastIntValue = n1;
+ }
+ return true
+ }
+ return false
+};
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
+pp$9.regexp_eatOctalDigit = function(state) {
+ var ch = state.current();
+ if (isOctalDigit(ch)) {
+ state.lastIntValue = ch - 0x30; /* 0 */
+ state.advance();
+ return true
+ }
+ state.lastIntValue = 0;
+ return false
+};
+function isOctalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */
+}
+
+// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
+// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
+// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+pp$9.regexp_eatFixedHexDigits = function(state, length) {
+ var start = state.pos;
+ state.lastIntValue = 0;
+ for (var i = 0; i < length; ++i) {
+ var ch = state.current();
+ if (!isHexDigit(ch)) {
+ state.pos = start;
+ return false
+ }
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return true
+};
+
// Object type used to represent tokens. Note that normally, tokens
// simply exist as properties on the parser object. This is only
// used for the onToken callback and the external tokenizer.
@@ -2981,9 +4554,6 @@ var Token = function Token(p) {
var pp$8 = Parser.prototype;
-// Are we running under Rhino?
-var isRhino = typeof Packages == "object" && Object.prototype.toString.call(Packages) == "[object JavaPackage]";
-
// Move to the next token
pp$8.next = function() {
@@ -3333,22 +4903,6 @@ pp$8.finishOp = function(type, size) {
return this.finishToken(type, str)
};
-// Parse a regular expression. Some context-awareness is necessary,
-// since a '/' inside a '[]' set does not end the expression.
-
-function tryCreateRegexp(src, flags, throwErrorAt, parser) {
- try {
- return new RegExp(src, flags)
- } catch (e) {
- if (throwErrorAt !== undefined) {
- if (e instanceof SyntaxError) { parser.raise(throwErrorAt, "Error parsing regular expression: " + e.message); }
- throw e
- }
- }
-}
-
-var regexpUnicodeSupport = !!tryCreateRegexp("\uffff", "u");
-
pp$8.readRegexp = function() {
var this$1 = this;
@@ -3365,50 +4919,28 @@ pp$8.readRegexp = function() {
} else { escaped = false; }
++this$1.pos;
}
- var content = this.input.slice(start, this.pos);
+ var pattern = this.input.slice(start, this.pos);
++this.pos;
- // Need to use `readWord1` because '\uXXXX' sequences are allowed
- // here (don't ask).
- var mods = this.readWord1();
- var tmp = content, tmpFlags = "";
- if (mods) {
- var validFlags = /^[gim]*$/;
- if (this.options.ecmaVersion >= 6) { validFlags = /^[gimuy]*$/; }
- if (this.options.ecmaVersion >= 9) { validFlags = /^[gimsuy]*$/; }
- if (!validFlags.test(mods)) { this.raise(start, "Invalid regular expression flag"); }
- if (mods.indexOf("u") >= 0) {
- if (regexpUnicodeSupport) {
- tmpFlags = "u";
- } else {
- // Replace each astral symbol and every Unicode escape sequence that
- // possibly represents an astral symbol or a paired surrogate with a
- // single ASCII symbol to avoid throwing on regular expressions that
- // are only valid in combination with the `/u` flag.
- // Note: replacing with the ASCII symbol `x` might cause false
- // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
- // perfectly valid pattern that is equivalent to `[a-b]`, but it would
- // be replaced by `[x-b]` which throws an error.
- tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (_match, code, offset) {
- code = Number("0x" + code);
- if (code > 0x10FFFF) { this$1.raise(start + offset + 3, "Code point out of bounds"); }
- return "x"
- });
- tmp = tmp.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x");
- tmpFlags = tmpFlags.replace("u", "");
- }
- }
- }
- // Detect invalid regular expressions.
+ var flagsStart = this.pos;
+ var flags = this.readWord1();
+ if (this.containsEsc) { this.unexpected(flagsStart); }
+
+ // Validate pattern
+ var state = this.regexpState || (this.regexpState = new RegExpValidationState(this));
+ state.reset(start, pattern, flags);
+ this.validateRegExpFlags(state);
+ this.validateRegExpPattern(state);
+
+ // Create Literal#value property value.
var value = null;
- // Rhino's regular expression parser is flaky and throws uncatchable exceptions,
- // so don't do detection if we are running under Rhino
- if (!isRhino) {
- tryCreateRegexp(tmp, tmpFlags, start, this);
- // Get a regular expression object for this pattern-flag pair, or `null` in
- // case the current environment doesn't support the flags it uses.
- value = tryCreateRegexp(content, mods);
+ try {
+ value = new RegExp(pattern, flags);
+ } catch (e) {
+ // ESTree requires null if it failed to instantiate RegExp object.
+ // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral
}
- return this.finishToken(types.regexp, {pattern: content, flags: mods, value: value})
+
+ return this.finishToken(types.regexp, {pattern: pattern, flags: flags, value: value})
};
// Read an integer in the given radix. Return null if zero digits
@@ -3639,10 +5171,16 @@ pp$8.readEscapedChar = function(inTemplate) {
octalStr = octalStr.slice(0, -1);
octal = parseInt(octalStr, 8);
}
- if (octalStr !== "0" && (this.strict || inTemplate)) {
- this.invalidStringToken(this.pos - 2, "Octal literal in strict mode");
- }
this.pos += octalStr.length - 1;
+ ch = this.input.charCodeAt(this.pos);
+ if ((octalStr !== "0" || ch == 56 || ch == 57) && (this.strict || inTemplate)) {
+ this.invalidStringToken(
+ this.pos - 1 - octalStr.length,
+ inTemplate
+ ? "Octal literal in template string"
+ : "Octal literal in strict mode"
+ );
+ }
return String.fromCharCode(octal)
}
return String.fromCharCode(ch)
@@ -3728,7 +5266,7 @@ pp$8.readWord = function() {
// [dammit]: acorn_loose.js
// [walk]: util/walk.js
-var version = "5.3.0";
+var version = "5.5.3";
// The main exported interface (under `self.acorn` when in the
// browser) is a `parse` function that takes a code string and
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js
index 469f73a2ff..197cc4d86e 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js
@@ -1,5 +1,7 @@
import { Node, SourceLocation, Token, addLooseExports, defaultOptions, getLineInfo, isNewLine, lineBreak, lineBreakG, tokTypes, tokenizer } from './acorn.es';
+function noop() {}
+
// Registered plugins
var pluginsLoose = {};
@@ -10,6 +12,8 @@ var LooseParser = function LooseParser(input, options) {
this.options = this.toks.options;
this.input = this.toks.input;
this.tok = this.last = {type: tokTypes.eof, start: 0, end: 0};
+ this.tok.validateRegExpFlags = noop;
+ this.tok.validateRegExpPattern = noop;
if (this.options.locations) {
var here = this.toks.curPosition();
this.tok.loc = new SourceLocation(this.toks, here, here);
@@ -269,7 +273,7 @@ lp.resetTo = function(pos) {
var ch = this.input.charAt(pos - 1);
this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
/[enwfd]/.test(ch) &&
- /\b(keywords|case|else|return|throw|new|in|(instance|type)of|delete|void)$/.test(this.input.slice(pos - 10, pos));
+ /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
if (this.options.locations) {
this.toks.curLine = 1;
@@ -343,7 +347,9 @@ lp$1.parseStatement = function() {
return this.finishNode(node, "DoWhileStatement")
case tokTypes._for:
- this.next();
+ this.next(); // `for` keyword
+ var isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await");
+
this.pushCx();
this.expect(tokTypes.parenL);
if (this.tok.type === tokTypes.semi) { return this.parseFor(node, null) }
@@ -351,13 +357,20 @@ lp$1.parseStatement = function() {
if (isLet || this.tok.type === tokTypes._var || this.tok.type === tokTypes._const) {
var init$1 = this.parseVar(true, isLet ? "let" : this.tok.value);
if (init$1.declarations.length === 1 && (this.tok.type === tokTypes._in || this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== tokTypes._in) {
+ node.await = isAwait;
+ }
return this.parseForIn(node, init$1)
}
return this.parseFor(node, init$1)
}
var init = this.parseExpression(true);
- if (this.tok.type === tokTypes._in || this.isContextual("of"))
- { return this.parseForIn(node, this.toAssignable(init)) }
+ if (this.tok.type === tokTypes._in || this.isContextual("of")) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, this.toAssignable(init))
+ }
return this.parseFor(node, init)
case tokTypes._function:
@@ -582,8 +595,9 @@ lp$1.parseClass = function(isStatement) {
if (!method.computed &&
method.key.type === "Identifier" && method.key.name === "async" && this$1.tok.type !== tokTypes.parenL &&
!this$1.canInsertSemicolon()) {
- this$1.parsePropertyName(method);
isAsync = true;
+ isGenerator = this$1.options.ecmaVersion >= 9 && this$1.eat(tokTypes.star);
+ this$1.parsePropertyName(method);
} else {
isAsync = false;
}
@@ -1128,6 +1142,12 @@ lp$2.parseObj = function() {
if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
while (!this.closes(tokTypes.braceR, indent, line)) {
var prop = this$1.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
+ if (this$1.options.ecmaVersion >= 9 && this$1.eat(tokTypes.ellipsis)) {
+ prop.argument = this$1.parseMaybeAssign();
+ node.properties.push(this$1.finishNode(prop, "SpreadElement"));
+ this$1.eat(tokTypes.comma);
+ continue
+ }
if (this$1.options.ecmaVersion >= 6) {
start = this$1.storeCurrentPos();
prop.method = false;
@@ -1136,8 +1156,9 @@ lp$2.parseObj = function() {
}
this$1.parsePropertyName(prop);
if (this$1.toks.isAsyncProp(prop)) {
- this$1.parsePropertyName(prop);
isAsync = true;
+ isGenerator = this$1.options.ecmaVersion >= 9 && this$1.eat(tokTypes.star);
+ this$1.parsePropertyName(prop);
} else {
isAsync = false;
}
@@ -1238,16 +1259,17 @@ lp$2.toAssignable = function(node, binding) {
return this.dummyIdent()
} else if (node.type == "ObjectExpression") {
node.type = "ObjectPattern";
- var props = node.properties;
- for (var i = 0, list = props; i < list.length; i += 1)
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
{
var prop = list[i];
- this$1.toAssignable(prop.value, binding);
+ this$1.toAssignable(prop, binding);
}
} else if (node.type == "ArrayExpression") {
node.type = "ArrayPattern";
this.toAssignableList(node.elements, binding);
+ } else if (node.type == "Property") {
+ this.toAssignable(node.value, binding);
} else if (node.type == "SpreadElement") {
node.type = "RestElement";
this.toAssignable(node.argument, binding);
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js
index fbfe0f88b1..23a616692e 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js
@@ -4,6 +4,8 @@
(factory((global.acorn = global.acorn || {}, global.acorn.loose = {}),global.acorn));
}(this, (function (exports,__acorn) { 'use strict';
+function noop() {}
+
// Registered plugins
var pluginsLoose = {};
@@ -14,6 +16,8 @@ var LooseParser = function LooseParser(input, options) {
this.options = this.toks.options;
this.input = this.toks.input;
this.tok = this.last = {type: __acorn.tokTypes.eof, start: 0, end: 0};
+ this.tok.validateRegExpFlags = noop;
+ this.tok.validateRegExpPattern = noop;
if (this.options.locations) {
var here = this.toks.curPosition();
this.tok.loc = new __acorn.SourceLocation(this.toks, here, here);
@@ -273,7 +277,7 @@ lp.resetTo = function(pos) {
var ch = this.input.charAt(pos - 1);
this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
/[enwfd]/.test(ch) &&
- /\b(keywords|case|else|return|throw|new|in|(instance|type)of|delete|void)$/.test(this.input.slice(pos - 10, pos));
+ /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
if (this.options.locations) {
this.toks.curLine = 1;
@@ -347,7 +351,9 @@ lp$1.parseStatement = function() {
return this.finishNode(node, "DoWhileStatement")
case __acorn.tokTypes._for:
- this.next();
+ this.next(); // `for` keyword
+ var isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await");
+
this.pushCx();
this.expect(__acorn.tokTypes.parenL);
if (this.tok.type === __acorn.tokTypes.semi) { return this.parseFor(node, null) }
@@ -355,13 +361,20 @@ lp$1.parseStatement = function() {
if (isLet || this.tok.type === __acorn.tokTypes._var || this.tok.type === __acorn.tokTypes._const) {
var init$1 = this.parseVar(true, isLet ? "let" : this.tok.value);
if (init$1.declarations.length === 1 && (this.tok.type === __acorn.tokTypes._in || this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== __acorn.tokTypes._in) {
+ node.await = isAwait;
+ }
return this.parseForIn(node, init$1)
}
return this.parseFor(node, init$1)
}
var init = this.parseExpression(true);
- if (this.tok.type === __acorn.tokTypes._in || this.isContextual("of"))
- { return this.parseForIn(node, this.toAssignable(init)) }
+ if (this.tok.type === __acorn.tokTypes._in || this.isContextual("of")) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== __acorn.tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, this.toAssignable(init))
+ }
return this.parseFor(node, init)
case __acorn.tokTypes._function:
@@ -586,8 +599,9 @@ lp$1.parseClass = function(isStatement) {
if (!method.computed &&
method.key.type === "Identifier" && method.key.name === "async" && this$1.tok.type !== __acorn.tokTypes.parenL &&
!this$1.canInsertSemicolon()) {
- this$1.parsePropertyName(method);
isAsync = true;
+ isGenerator = this$1.options.ecmaVersion >= 9 && this$1.eat(__acorn.tokTypes.star);
+ this$1.parsePropertyName(method);
} else {
isAsync = false;
}
@@ -1132,6 +1146,12 @@ lp$2.parseObj = function() {
if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
while (!this.closes(__acorn.tokTypes.braceR, indent, line)) {
var prop = this$1.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
+ if (this$1.options.ecmaVersion >= 9 && this$1.eat(__acorn.tokTypes.ellipsis)) {
+ prop.argument = this$1.parseMaybeAssign();
+ node.properties.push(this$1.finishNode(prop, "SpreadElement"));
+ this$1.eat(__acorn.tokTypes.comma);
+ continue
+ }
if (this$1.options.ecmaVersion >= 6) {
start = this$1.storeCurrentPos();
prop.method = false;
@@ -1140,8 +1160,9 @@ lp$2.parseObj = function() {
}
this$1.parsePropertyName(prop);
if (this$1.toks.isAsyncProp(prop)) {
- this$1.parsePropertyName(prop);
isAsync = true;
+ isGenerator = this$1.options.ecmaVersion >= 9 && this$1.eat(__acorn.tokTypes.star);
+ this$1.parsePropertyName(prop);
} else {
isAsync = false;
}
@@ -1242,16 +1263,17 @@ lp$2.toAssignable = function(node, binding) {
return this.dummyIdent()
} else if (node.type == "ObjectExpression") {
node.type = "ObjectPattern";
- var props = node.properties;
- for (var i = 0, list = props; i < list.length; i += 1)
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
{
var prop = list[i];
- this$1.toAssignable(prop.value, binding);
+ this$1.toAssignable(prop, binding);
}
} else if (node.type == "ArrayExpression") {
node.type = "ArrayPattern";
this.toAssignableList(node.elements, binding);
+ } else if (node.type == "Property") {
+ this.toAssignable(node.value, binding);
} else if (node.type == "SpreadElement") {
node.type = "RestElement";
this.toAssignable(node.argument, binding);
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js
index 40356507d9..e8fd28f915 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js
@@ -218,6 +218,15 @@ base.SwitchStatement = function (node, st, c) {
}
}
};
+base.SwitchCase = function (node, st, c) {
+ if (node.test) { c(node.test, st, "Expression"); }
+ for (var i = 0, list = node.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+};
base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) {
if (node.argument) { c(node.argument, st, "Expression"); }
};
@@ -301,10 +310,10 @@ base.ArrayPattern = function (node, st, c) {
}
};
base.ObjectPattern = function (node, st, c) {
- for (var i = 0, list = node.properties; i < list.length; i += 1)
- {
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
var prop = list[i];
+ if (prop.computed) { c(prop.key, st, "Expression"); }
c(prop.value, st, "Pattern");
}
};
@@ -386,17 +395,20 @@ base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifi
base.TaggedTemplateExpression = function (node, st, c) {
c(node.tag, st, "Expression");
- c(node.quasi, st);
+ c(node.quasi, st, "Expression");
};
base.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, "Class"); };
base.Class = function (node, st, c) {
if (node.id) { c(node.id, st, "Pattern"); }
if (node.superClass) { c(node.superClass, st, "Expression"); }
- for (var i = 0, list = node.body.body; i < list.length; i += 1)
+ c(node.body, st);
+};
+base.ClassBody = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
{
- var item = list[i];
+ var elt = list[i];
- c(item, st);
+ c(elt, st);
}
};
base.MethodDefinition = base.Property = function (node, st, c) {
diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/walk.js b/tools/node_modules/eslint/node_modules/acorn/dist/walk.js
index 64dae20f02..765e561726 100644
--- a/tools/node_modules/eslint/node_modules/acorn/dist/walk.js
+++ b/tools/node_modules/eslint/node_modules/acorn/dist/walk.js
@@ -224,6 +224,15 @@ base.SwitchStatement = function (node, st, c) {
}
}
};
+base.SwitchCase = function (node, st, c) {
+ if (node.test) { c(node.test, st, "Expression"); }
+ for (var i = 0, list = node.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+};
base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) {
if (node.argument) { c(node.argument, st, "Expression"); }
};
@@ -307,10 +316,10 @@ base.ArrayPattern = function (node, st, c) {
}
};
base.ObjectPattern = function (node, st, c) {
- for (var i = 0, list = node.properties; i < list.length; i += 1)
- {
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
var prop = list[i];
+ if (prop.computed) { c(prop.key, st, "Expression"); }
c(prop.value, st, "Pattern");
}
};
@@ -392,17 +401,20 @@ base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifi
base.TaggedTemplateExpression = function (node, st, c) {
c(node.tag, st, "Expression");
- c(node.quasi, st);
+ c(node.quasi, st, "Expression");
};
base.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, "Class"); };
base.Class = function (node, st, c) {
if (node.id) { c(node.id, st, "Pattern"); }
if (node.superClass) { c(node.superClass, st, "Expression"); }
- for (var i = 0, list = node.body.body; i < list.length; i += 1)
+ c(node.body, st);
+};
+base.ClassBody = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
{
- var item = list[i];
+ var elt = list[i];
- c(item, st);
+ c(elt, st);
}
};
base.MethodDefinition = base.Property = function (node, st, c) {
diff --git a/tools/node_modules/eslint/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn/package.json
index 3512ede7ce..c6611902fa 100644
--- a/tools/node_modules/eslint/node_modules/acorn/package.json
+++ b/tools/node_modules/eslint/node_modules/acorn/package.json
@@ -1,27 +1,27 @@
{
- "_from": "acorn@^5.2.1",
- "_id": "acorn@5.3.0",
+ "_from": "acorn@^5.5.0",
+ "_id": "acorn@5.5.3",
"_inBundle": false,
- "_integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==",
+ "_integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==",
"_location": "/eslint/acorn",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "acorn@^5.2.1",
+ "raw": "acorn@^5.5.0",
"name": "acorn",
"escapedName": "acorn",
- "rawSpec": "^5.2.1",
+ "rawSpec": "^5.5.0",
"saveSpec": null,
- "fetchSpec": "^5.2.1"
+ "fetchSpec": "^5.5.0"
},
"_requiredBy": [
"/eslint/espree"
],
- "_resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz",
- "_shasum": "7446d39459c54fb49a80e6ee6478149b940ec822",
- "_spec": "acorn@^5.2.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
+ "_resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
+ "_shasum": "f473dd47e0277a08e28e9bec5aeeb04751f0b8c9",
+ "_spec": "acorn@^5.5.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
"bin": {
"acorn": "./bin/acorn"
},
@@ -37,9 +37,6 @@
"name": "Adrian Heine"
},
{
- "name": "Adrian Heine nƩ Lang"
- },
- {
"name": "Adrian Rakovsky"
},
{
@@ -64,6 +61,9 @@
"name": "Artem Govorov"
},
{
+ "name": "Boopesh Mahendran"
+ },
+ {
"name": "Bradley Heinz"
},
{
@@ -229,6 +229,9 @@
"name": "Shahar Soel"
},
{
+ "name": "Sheel Bedi"
+ },
+ {
"name": "Simen Bekkhus"
},
{
@@ -261,9 +264,9 @@
"eslint-plugin-standard": "^3.0.1",
"rollup": "^0.45.0",
"rollup-plugin-buble": "^0.16.0",
- "test262": "git+https://github.com/tc39/test262.git#51553973738063f457e248f7f1e643c561c8a64c",
- "test262-parser-runner": "^0.2.0",
- "unicode-9.0.0": "^0.7.0"
+ "test262": "git+https://github.com/tc39/test262.git#18c1e799a01cc976695983b61e225ce7959bdd91",
+ "test262-parser-runner": "^0.3.1",
+ "unicode-10.0.0": "^0.7.5"
},
"engines": {
"node": ">=0.4.0"
@@ -301,5 +304,5 @@
"test": "node test/run.js && node test/lint.js",
"test:test262": "node bin/run_test262.js"
},
- "version": "5.3.0"
+ "version": "5.5.3"
}
diff --git a/tools/node_modules/eslint/node_modules/acorn/yarn-error.log b/tools/node_modules/eslint/node_modules/acorn/yarn-error.log
new file mode 100644
index 0000000000..de7eda162a
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/acorn/yarn-error.log
@@ -0,0 +1,91 @@
+Arguments:
+ /home/marijn/prog/node/bin/node /home/marijn/.yarn/bin/yarn.js publish
+
+PATH:
+ /home/marijn/.yarn/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/marijn/prog/node/bin:/home/marijn/bin:/usr/sbin:/sbin:./node_modules/.bin
+
+Yarn version:
+ 1.3.2
+
+Node version:
+ 9.5.0
+
+Platform:
+ linux x64
+
+npm manifest:
+ {
+ "name": "acorn",
+ "description": "ECMAScript parser",
+ "homepage": "https://github.com/acornjs/acorn",
+ "main": "dist/acorn.js",
+ "module": "dist/acorn.es.js",
+ "version": "5.5.3",
+ "engines": {
+ "node": ">=0.4.0"
+ },
+ "maintainers": [
+ {
+ "name": "Marijn Haverbeke",
+ "email": "marijnh@gmail.com",
+ "web": "http://marijnhaverbeke.nl"
+ },
+ {
+ "name": "Ingvar Stepanyan",
+ "email": "me@rreverser.com",
+ "web": "http://rreverser.com/"
+ }
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/acornjs/acorn.git"
+ },
+ "license": "MIT",
+ "scripts": {
+ "prepare": "npm test",
+ "test": "node test/run.js && node test/lint.js",
+ "pretest": "npm run build:main && npm run build:loose",
+ "test:test262": "node bin/run_test262.js",
+ "build": "npm run build:main && npm run build:walk && npm run build:loose && npm run build:bin",
+ "build:main": "rollup -c rollup/config.main.js",
+ "build:walk": "rollup -c rollup/config.walk.js",
+ "build:loose": "rollup -c rollup/config.loose.js && rollup -c rollup/config.loose_es.js",
+ "build:bin": "rollup -c rollup/config.bin.js",
+ "lint": "eslint src/"
+ },
+ "bin": {
+ "acorn": "./bin/acorn"
+ },
+ "devDependencies": {
+ "eslint": "^4.10.0",
+ "eslint-config-standard": "^10.2.1",
+ "eslint-plugin-import": "^2.2.0",
+ "eslint-plugin-node": "^5.2.1",
+ "eslint-plugin-promise": "^3.5.0",
+ "eslint-plugin-standard": "^3.0.1",
+ "rollup": "^0.45.0",
+ "rollup-plugin-buble": "^0.16.0",
+ "test262": "git+https://github.com/tc39/test262.git#18c1e799a01cc976695983b61e225ce7959bdd91",
+ "test262-parser-runner": "^0.3.1",
+ "unicode-10.0.0": "^0.7.5"
+ }
+ }
+
+yarn manifest:
+ No manifest
+
+Lockfile:
+ No lockfile
+
+Trace:
+ Error: https://registry.yarnpkg.com/acorn: You must be logged in to publish packages.
+ at Request.params.callback [as _callback] (/home/marijn/.yarn/lib/cli.js:62098:18)
+ at Request.self.callback (/home/marijn/.yarn/lib/cli.js:123085:22)
+ at Request.emit (events.js:160:13)
+ at Request.<anonymous> (/home/marijn/.yarn/lib/cli.js:124068:10)
+ at Request.emit (events.js:160:13)
+ at IncomingMessage.<anonymous> (/home/marijn/.yarn/lib/cli.js:123988:12)
+ at Object.onceWrapper (events.js:255:19)
+ at IncomingMessage.emit (events.js:165:20)
+ at endReadableNT (_stream_readable.js:1101:12)
+ at process._tickCallback (internal/process/next_tick.js:152:19)
diff --git a/tools/node_modules/eslint/node_modules/ajv-keywords/package.json b/tools/node_modules/eslint/node_modules/ajv-keywords/package.json
index ec2cfa0ace..d1715295c7 100644
--- a/tools/node_modules/eslint/node_modules/ajv-keywords/package.json
+++ b/tools/node_modules/eslint/node_modules/ajv-keywords/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
"_shasum": "617997fc5f60576894c435f940d819e135b80762",
"_spec": "ajv-keywords@^2.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/table",
"author": {
"name": "Evgeny Poberezkin"
},
diff --git a/tools/node_modules/eslint/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/ajv/package.json
index 512e883bb1..c7c6ed535e 100644
--- a/tools/node_modules/eslint/node_modules/ajv/package.json
+++ b/tools/node_modules/eslint/node_modules/ajv/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"_shasum": "73b5eeca3fab653e3d3f9422b341ad42205dc965",
"_spec": "ajv@^5.3.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Evgeny Poberezkin"
},
diff --git a/tools/node_modules/eslint/node_modules/ansi-escapes/package.json b/tools/node_modules/eslint/node_modules/ansi-escapes/package.json
index 02f4ba4318..936000345a 100644
--- a/tools/node_modules/eslint/node_modules/ansi-escapes/package.json
+++ b/tools/node_modules/eslint/node_modules/ansi-escapes/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
"_shasum": "ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92",
"_spec": "ansi-escapes@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/ansi-regex/package.json
index f2ecdfefa4..6fb072e4f8 100644
--- a/tools/node_modules/eslint/node_modules/ansi-regex/package.json
+++ b/tools/node_modules/eslint/node_modules/ansi-regex/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
"_spec": "ansi-regex@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/has-ansi",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/has-ansi",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/ansi-styles/package.json
index 1731867cce..77d95c74cd 100644
--- a/tools/node_modules/eslint/node_modules/ansi-styles/package.json
+++ b/tools/node_modules/eslint/node_modules/ansi-styles/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
"_spec": "ansi-styles@^2.2.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/argparse/README.md b/tools/node_modules/eslint/node_modules/argparse/README.md
index 2d0bcab435..7fa6c40503 100644
--- a/tools/node_modules/eslint/node_modules/argparse/README.md
+++ b/tools/node_modules/eslint/node_modules/argparse/README.md
@@ -1,7 +1,7 @@
argparse
========
-[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse)
+[![Build Status](https://secure.travis-ci.org/nodeca/argparse.svg?branch=master)](http://travis-ci.org/nodeca/argparse)
[![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse)
CLI arguments parser for node.js. Javascript port of python's
@@ -13,6 +13,10 @@ recorded in issue tracker.
- Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/).
- Use `defaultValue` instead of `default`.
+- Use `argparse.Const.REMAINDER` instead of `argparse.REMAINDER`, and
+ similarly for constant values `OPTIONAL`, `ZERO_OR_MORE`, and `ONE_OR_MORE`
+ (aliases for `nargs` values `'?'`, `'*'`, `'+'`, respectively), and
+ `SUPPRESS`.
Example
@@ -82,7 +86,7 @@ ArgumentParser objects
======================
```
-new ArgumentParser({paramters hash});
+new ArgumentParser({parameters hash});
```
Creates a new ArgumentParser object.
@@ -100,7 +104,7 @@ Creates a new ArgumentParser object.
- ```usage``` - The string describing the program usage (default: generated)
- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals.
-**Not supportied yet**
+**Not supported yet**
- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read.
diff --git a/tools/node_modules/eslint/node_modules/argparse/lib/action.js b/tools/node_modules/eslint/node_modules/argparse/lib/action.js
index ef35989932..1483c79ffa 100644
--- a/tools/node_modules/eslint/node_modules/argparse/lib/action.js
+++ b/tools/node_modules/eslint/node_modules/argparse/lib/action.js
@@ -10,7 +10,7 @@
* line. The keyword arguments to the Action constructor are also all attributes
* of Action instances.
*
- * #####Alowed keywords:
+ * ##### Allowed keywords:
*
* - `store`
* - `storeConstant`
diff --git a/tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js b/tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js
index a8e4148910..29036c14b2 100644
--- a/tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js
+++ b/tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js
@@ -414,7 +414,7 @@ HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix)
// if prog is long, put it on its own line
} else {
indent = $$.repeat(' ', prefix.length);
- parts = optionalParts + positionalParts;
+ parts = optionalParts.concat(positionalParts);
lines = _getLines(parts, indent);
if (lines.length > 1) {
lines = [].concat(
@@ -422,7 +422,7 @@ HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix)
_getLines(positionalParts, indent)
);
}
- lines = [ prog ] + lines;
+ lines = [ prog ].concat(lines);
}
// join lines into usage
usage = lines.join(c.EOL);
diff --git a/tools/node_modules/eslint/node_modules/argparse/package.json b/tools/node_modules/eslint/node_modules/argparse/package.json
index 72f490d3f5..433b109c24 100644
--- a/tools/node_modules/eslint/node_modules/argparse/package.json
+++ b/tools/node_modules/eslint/node_modules/argparse/package.json
@@ -1,8 +1,8 @@
{
"_from": "argparse@^1.0.7",
- "_id": "argparse@1.0.9",
+ "_id": "argparse@1.0.10",
"_inBundle": false,
- "_integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "_integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"_location": "/eslint/argparse",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/js-yaml"
],
- "_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "_shasum": "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86",
+ "_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "_shasum": "bcd6791ea5ae09725e17e5ad988134cd40b3d911",
"_spec": "argparse@^1.0.7",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
"bugs": {
"url": "https://github.com/nodeca/argparse/issues"
},
@@ -66,5 +66,5 @@
"scripts": {
"test": "make test"
},
- "version": "1.0.9"
+ "version": "1.0.10"
}
diff --git a/tools/node_modules/eslint/node_modules/array-union/package.json b/tools/node_modules/eslint/node_modules/array-union/package.json
index 07237eefb4..1d48aa818e 100644
--- a/tools/node_modules/eslint/node_modules/array-union/package.json
+++ b/tools/node_modules/eslint/node_modules/array-union/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"_shasum": "9a34410e4f4e3da23dea375be5be70f24778ec39",
"_spec": "array-union@^1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/array-uniq/package.json b/tools/node_modules/eslint/node_modules/array-uniq/package.json
index 0494720191..6589e84cbc 100644
--- a/tools/node_modules/eslint/node_modules/array-uniq/package.json
+++ b/tools/node_modules/eslint/node_modules/array-uniq/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"_shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6",
"_spec": "array-uniq@^1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/array-union",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/array-union",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/arrify/package.json b/tools/node_modules/eslint/node_modules/arrify/package.json
index 6c2366a1cd..4213a348f8 100644
--- a/tools/node_modules/eslint/node_modules/arrify/package.json
+++ b/tools/node_modules/eslint/node_modules/arrify/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"_shasum": "898508da2226f380df904728456849c1501a4b0d",
"_spec": "arrify@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json
index 82f047caf7..820d16dfe7 100644
--- a/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json
+++ b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
"_spec": "chalk@^1.1.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame",
"bugs": {
"url": "https://github.com/chalk/chalk/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json
index 90c5ca02ae..92ec2a3433 100644
--- a/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
"_spec": "strip-ansi@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/babel-code-frame/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/package.json
index b8d1b26b26..4d7ea2eb79 100644
--- a/tools/node_modules/eslint/node_modules/babel-code-frame/package.json
+++ b/tools/node_modules/eslint/node_modules/babel-code-frame/package.json
@@ -27,7 +27,7 @@
"_resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"_shasum": "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b",
"_spec": "babel-code-frame@^6.22.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Sebastian McKenzie",
"email": "sebmck@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/bail/package.json b/tools/node_modules/eslint/node_modules/bail/package.json
index ad24e6c518..1d9d614c9a 100644
--- a/tools/node_modules/eslint/node_modules/bail/package.json
+++ b/tools/node_modules/eslint/node_modules/bail/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
"_shasum": "f7d6c1731630a9f9f0d4d35ed1f962e2074a1764",
"_spec": "bail@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/balanced-match/package.json b/tools/node_modules/eslint/node_modules/balanced-match/package.json
index 3f0441881c..66101d9d65 100644
--- a/tools/node_modules/eslint/node_modules/balanced-match/package.json
+++ b/tools/node_modules/eslint/node_modules/balanced-match/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
"_spec": "balanced-match@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
"author": {
"name": "Julian Gruber",
"email": "mail@juliangruber.com",
diff --git a/tools/node_modules/eslint/node_modules/brace-expansion/LICENSE b/tools/node_modules/eslint/node_modules/brace-expansion/LICENSE
new file mode 100644
index 0000000000..de3226673c
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/brace-expansion/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/brace-expansion/README.md b/tools/node_modules/eslint/node_modules/brace-expansion/README.md
index ed2ec1fdd7..6b4e0e1640 100644
--- a/tools/node_modules/eslint/node_modules/brace-expansion/README.md
+++ b/tools/node_modules/eslint/node_modules/brace-expansion/README.md
@@ -63,7 +63,7 @@ Valid expansions are:
// {a,b,...}
```
-A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
+A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
```js
/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
@@ -98,6 +98,12 @@ npm install brace-expansion
- [Julian Gruber](https://github.com/juliangruber)
- [Isaac Z. Schlueter](https://github.com/isaacs)
+## Sponsors
+
+This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
+
+Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
+
## License
(MIT)
diff --git a/tools/node_modules/eslint/node_modules/brace-expansion/package.json b/tools/node_modules/eslint/node_modules/brace-expansion/package.json
index 3d8f19bef3..1352de7c16 100644
--- a/tools/node_modules/eslint/node_modules/brace-expansion/package.json
+++ b/tools/node_modules/eslint/node_modules/brace-expansion/package.json
@@ -1,8 +1,8 @@
{
"_from": "brace-expansion@^1.1.7",
- "_id": "brace-expansion@1.1.8",
+ "_id": "brace-expansion@1.1.11",
"_inBundle": false,
- "_integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"_location": "/eslint/brace-expansion",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/minimatch"
],
- "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
+ "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
"_spec": "brace-expansion@^1.1.7",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/minimatch",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/minimatch",
"author": {
"name": "Julian Gruber",
"email": "mail@juliangruber.com",
@@ -71,5 +71,5 @@
"android-browser/4.2..latest"
]
},
- "version": "1.1.8"
+ "version": "1.1.11"
}
diff --git a/tools/node_modules/eslint/node_modules/buffer-from/index.js b/tools/node_modules/eslint/node_modules/buffer-from/index.js
new file mode 100644
index 0000000000..d92a83d01f
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/buffer-from/index.js
@@ -0,0 +1,69 @@
+var toString = Object.prototype.toString
+
+var isModern = (
+ typeof Buffer.alloc === 'function' &&
+ typeof Buffer.allocUnsafe === 'function' &&
+ typeof Buffer.from === 'function'
+)
+
+function isArrayBuffer (input) {
+ return toString.call(input).slice(8, -1) === 'ArrayBuffer'
+}
+
+function fromArrayBuffer (obj, byteOffset, length) {
+ byteOffset >>>= 0
+
+ var maxLength = obj.byteLength - byteOffset
+
+ if (maxLength < 0) {
+ throw new RangeError("'offset' is out of bounds")
+ }
+
+ if (length === undefined) {
+ length = maxLength
+ } else {
+ length >>>= 0
+
+ if (length > maxLength) {
+ throw new RangeError("'length' is out of bounds")
+ }
+ }
+
+ return isModern
+ ? Buffer.from(obj.slice(byteOffset, byteOffset + length))
+ : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))
+}
+
+function fromString (string, encoding) {
+ if (typeof encoding !== 'string' || encoding === '') {
+ encoding = 'utf8'
+ }
+
+ if (!Buffer.isEncoding(encoding)) {
+ throw new TypeError('"encoding" must be a valid string encoding')
+ }
+
+ return isModern
+ ? Buffer.from(string, encoding)
+ : new Buffer(string, encoding)
+}
+
+function bufferFrom (value, encodingOrOffset, length) {
+ if (typeof value === 'number') {
+ throw new TypeError('"value" argument must not be a number')
+ }
+
+ if (isArrayBuffer(value)) {
+ return fromArrayBuffer(value, encodingOrOffset, length)
+ }
+
+ if (typeof value === 'string') {
+ return fromString(value, encodingOrOffset)
+ }
+
+ return isModern
+ ? Buffer.from(value)
+ : new Buffer(value)
+}
+
+module.exports = bufferFrom
diff --git a/tools/node_modules/eslint/node_modules/buffer-from/package.json b/tools/node_modules/eslint/node_modules/buffer-from/package.json
new file mode 100644
index 0000000000..632d1994e8
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/buffer-from/package.json
@@ -0,0 +1,49 @@
+{
+ "_from": "buffer-from@^1.0.0",
+ "_id": "buffer-from@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
+ "_location": "/eslint/buffer-from",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "buffer-from@^1.0.0",
+ "name": "buffer-from",
+ "escapedName": "buffer-from",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/eslint/concat-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
+ "_shasum": "4cb8832d23612589b0406e9e2956c17f06fdf531",
+ "_spec": "buffer-from@^1.0.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
+ "bugs": {
+ "url": "https://github.com/LinusU/buffer-from/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "A [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.",
+ "devDependencies": {
+ "standard": "^7.1.2"
+ },
+ "homepage": "https://github.com/LinusU/buffer-from#readme",
+ "keywords": [
+ "buffer",
+ "buffer from"
+ ],
+ "license": "MIT",
+ "name": "buffer-from",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/LinusU/buffer-from.git"
+ },
+ "scripts": {
+ "test": "standard && node test"
+ },
+ "version": "1.0.0"
+}
diff --git a/tools/node_modules/eslint/node_modules/buffer-from/readme.md b/tools/node_modules/eslint/node_modules/buffer-from/readme.md
new file mode 100644
index 0000000000..9880a558a7
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/buffer-from/readme.md
@@ -0,0 +1,69 @@
+# Buffer From
+
+A [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.
+
+## Installation
+
+```sh
+npm install --save buffer-from
+```
+
+## Usage
+
+```js
+const bufferFrom = require('buffer-from')
+
+console.log(bufferFrom([1, 2, 3, 4]))
+//=> <Buffer 01 02 03 04>
+
+const arr = new Uint8Array([1, 2, 3, 4])
+console.log(bufferFrom(arr.buffer, 1, 2))
+//=> <Buffer 02 03>
+
+console.log(bufferFrom('test', 'utf8'))
+//=> <Buffer 74 65 73 74>
+
+const buf = bufferFrom('test')
+console.log(bufferFrom(buf))
+//=> <Buffer 74 65 73 74>
+```
+
+## API
+
+### bufferFrom(array)
+
+- `array` &lt;Array&gt;
+
+Allocates a new `Buffer` using an `array` of octets.
+
+### bufferFrom(arrayBuffer[, byteOffset[, length]])
+
+- `arrayBuffer` &lt;ArrayBuffer&gt; The `.buffer` property of a TypedArray or ArrayBuffer
+- `byteOffset` &lt;Integer&gt; Where to start copying from `arrayBuffer`. **Default:** `0`
+- `length` &lt;Integer&gt; How many bytes to copy from `arrayBuffer`. **Default:** `arrayBuffer.length - byteOffset`
+
+When passed a reference to the `.buffer` property of a TypedArray instance, the
+newly created `Buffer` will share the same allocated memory as the TypedArray.
+
+The optional `byteOffset` and `length` arguments specify a memory range within
+the `arrayBuffer` that will be shared by the `Buffer`.
+
+### bufferFrom(buffer)
+
+- `buffer` &lt;Buffer&gt; An existing `Buffer` to copy data from
+
+Copies the passed `buffer` data onto a new `Buffer` instance.
+
+### bufferFrom(string[, encoding])
+
+- `string` &lt;String&gt; A string to encode.
+- `encoding` &lt;String&gt; The encoding of `string`. **Default:** `'utf8'`
+
+Creates a new `Buffer` containing the given JavaScript string `string`. If
+provided, the `encoding` parameter identifies the character encoding of
+`string`.
+
+## See also
+
+- [buffer-alloc](https://github.com/LinusU/buffer-alloc) A ponyfill for `Buffer.alloc`
+- [buffer-alloc-unsafe](https://github.com/LinusU/buffer-alloc-unsafe) A ponyfill for `Buffer.allocUnsafe`
diff --git a/tools/node_modules/eslint/node_modules/caller-path/package.json b/tools/node_modules/eslint/node_modules/caller-path/package.json
index 196800859a..0b22383dcb 100644
--- a/tools/node_modules/eslint/node_modules/caller-path/package.json
+++ b/tools/node_modules/eslint/node_modules/caller-path/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
"_shasum": "94085ef63581ecd3daa92444a8fe94e82577751f",
"_spec": "caller-path@^0.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/require-uncached",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/require-uncached",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/callsites/package.json b/tools/node_modules/eslint/node_modules/callsites/package.json
index 781adfa941..090a86fb80 100644
--- a/tools/node_modules/eslint/node_modules/callsites/package.json
+++ b/tools/node_modules/eslint/node_modules/callsites/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
"_shasum": "afab96262910a7f33c19a5775825c69f34e350ca",
"_spec": "callsites@^0.2.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/caller-path",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/caller-path",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/chalk/index.js b/tools/node_modules/eslint/node_modules/chalk/index.js
index 05e62b3466..1cc5fa89a9 100644
--- a/tools/node_modules/eslint/node_modules/chalk/index.js
+++ b/tools/node_modules/eslint/node_modules/chalk/index.js
@@ -1,7 +1,7 @@
'use strict';
const escapeStringRegexp = require('escape-string-regexp');
const ansiStyles = require('ansi-styles');
-const supportsColor = require('supports-color');
+const stdoutColor = require('supports-color').stdout;
const template = require('./templates.js');
@@ -19,7 +19,7 @@ function applyOptions(obj, options) {
options = options || {};
// Detect level if not set manually
- const scLevel = supportsColor ? supportsColor.level : 0;
+ const scLevel = stdoutColor ? stdoutColor.level : 0;
obj.level = options.level === undefined ? scLevel : options.level;
obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;
}
@@ -224,5 +224,5 @@ function chalkTag(chalk, strings) {
Object.defineProperties(Chalk.prototype, styles);
module.exports = Chalk(); // eslint-disable-line new-cap
-module.exports.supportsColor = supportsColor;
+module.exports.supportsColor = stdoutColor;
module.exports.default = module.exports; // For TypeScript
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js
index 3d3baa66d7..90a871c4d7 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js
@@ -102,30 +102,43 @@ function assembleStyles() {
});
}
+ const ansi2ansi = n => n;
const rgb2rgb = (r, g, b) => [r, g, b];
styles.color.close = '\u001B[39m';
styles.bgColor.close = '\u001B[49m';
- styles.color.ansi = {};
- styles.color.ansi256 = {};
+ styles.color.ansi = {
+ ansi: wrapAnsi16(ansi2ansi, 0)
+ };
+ styles.color.ansi256 = {
+ ansi256: wrapAnsi256(ansi2ansi, 0)
+ };
styles.color.ansi16m = {
rgb: wrapAnsi16m(rgb2rgb, 0)
};
- styles.bgColor.ansi = {};
- styles.bgColor.ansi256 = {};
+ styles.bgColor.ansi = {
+ ansi: wrapAnsi16(ansi2ansi, 10)
+ };
+ styles.bgColor.ansi256 = {
+ ansi256: wrapAnsi256(ansi2ansi, 10)
+ };
styles.bgColor.ansi16m = {
rgb: wrapAnsi16m(rgb2rgb, 10)
};
- for (const key of Object.keys(colorConvert)) {
+ for (let key of Object.keys(colorConvert)) {
if (typeof colorConvert[key] !== 'object') {
continue;
}
const suite = colorConvert[key];
+ if (key === 'ansi16') {
+ key = 'ansi';
+ }
+
if ('ansi16' in suite) {
styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json
index 179d2074d4..478ed41491 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json
@@ -1,27 +1,27 @@
{
- "_from": "ansi-styles@^3.1.0",
- "_id": "ansi-styles@3.2.0",
+ "_from": "ansi-styles@^3.2.1",
+ "_id": "ansi-styles@3.2.1",
"_inBundle": false,
- "_integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "_integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"_location": "/eslint/chalk/ansi-styles",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "ansi-styles@^3.1.0",
+ "raw": "ansi-styles@^3.2.1",
"name": "ansi-styles",
"escapedName": "ansi-styles",
- "rawSpec": "^3.1.0",
+ "rawSpec": "^3.2.1",
"saveSpec": null,
- "fetchSpec": "^3.1.0"
+ "fetchSpec": "^3.2.1"
},
"_requiredBy": [
"/eslint/chalk"
],
- "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "_shasum": "c159b8d5be0f9e5a6f346dab94f16ce022161b88",
- "_spec": "ansi-styles@^3.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
+ "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "_shasum": "41fbb20243e50b12be0f04b8dedbf07520ce841d",
+ "_spec": "ansi-styles@^3.2.1",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
@@ -42,6 +42,7 @@
"devDependencies": {
"ava": "*",
"babel-polyfill": "^6.23.0",
+ "svg-term-cli": "^2.1.1",
"xo": "*"
},
"engines": {
@@ -80,7 +81,8 @@
"url": "git+https://github.com/chalk/ansi-styles.git"
},
"scripts": {
+ "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor",
"test": "xo && ava"
},
- "version": "3.2.0"
+ "version": "3.2.1"
}
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md
index dce368742b..3158e2df59 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md
@@ -4,7 +4,7 @@
You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
-![](screenshot.png)
+<img src="https://cdn.rawgit.com/chalk/ansi-styles/8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
## Install
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js
index ae7c87b17c..62afa3a742 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js
@@ -1,2 +1,5 @@
'use strict';
-module.exports = false;
+module.exports = {
+ stdout: false,
+ stderr: false
+};
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js
index 20a29230e8..d0d008a901 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js
@@ -4,7 +4,22 @@ const hasFlag = require('has-flag');
const env = process.env;
-const support = level => {
+let forceColor;
+if (hasFlag('no-color') ||
+ hasFlag('no-colors') ||
+ hasFlag('color=false')) {
+ forceColor = false;
+} else if (hasFlag('color') ||
+ hasFlag('colors') ||
+ hasFlag('color=true') ||
+ hasFlag('color=always')) {
+ forceColor = true;
+}
+if ('FORCE_COLOR' in env) {
+ forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
+}
+
+function translateLevel(level) {
if (level === 0) {
return false;
}
@@ -15,12 +30,10 @@ const support = level => {
has256: level >= 2,
has16m: level >= 3
};
-};
+}
-let supportLevel = (() => {
- if (hasFlag('no-color') ||
- hasFlag('no-colors') ||
- hasFlag('color=false')) {
+function supportsColor(stream) {
+ if (forceColor === false) {
return 0;
}
@@ -34,30 +47,30 @@ let supportLevel = (() => {
return 2;
}
- if (hasFlag('color') ||
- hasFlag('colors') ||
- hasFlag('color=true') ||
- hasFlag('color=always')) {
- return 1;
- }
-
- if (process.stdout && !process.stdout.isTTY) {
+ if (stream && !stream.isTTY && forceColor !== true) {
+ // VS code debugger doesn't have isTTY set
+ if (env.VSCODE_PID) {
+ return 1;
+ }
return 0;
}
+ const min = forceColor ? 1 : 0;
+
if (process.platform === 'win32') {
// Node.js 7.5.0 is the first version of Node.js to include a patch to
// libuv that enables 256 color output on Windows. Anything earlier and it
// won't work. However, here we target Node.js 8 at minimum as it is an LTS
// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
- // release that supports 256 colors.
+ // release that supports 256 colors. Windows 10 build 14931 is the first release
+ // that supports 16m/TrueColor.
const osRelease = os.release().split('.');
if (
Number(process.versions.node.split('.')[0]) >= 8 &&
Number(osRelease[0]) >= 10 &&
Number(osRelease[2]) >= 10586
) {
- return 2;
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
@@ -68,21 +81,23 @@ let supportLevel = (() => {
return 1;
}
- return 0;
+ return min;
}
if ('TEAMCITY_VERSION' in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
}
+ if (env.COLORTERM === 'truecolor') {
+ return 3;
+ }
+
if ('TERM_PROGRAM' in env) {
const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
switch (env.TERM_PROGRAM) {
case 'iTerm.app':
return version >= 3 ? 3 : 2;
- case 'Hyper':
- return 3;
case 'Apple_Terminal':
return 2;
// No default
@@ -102,14 +117,19 @@ let supportLevel = (() => {
}
if (env.TERM === 'dumb') {
- return 0;
+ return min;
}
- return 0;
-})();
+ return min;
+}
-if ('FORCE_COLOR' in env) {
- supportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);
+function getSupportLevel(stream) {
+ const level = supportsColor(stream);
+ return translateLevel(level);
}
-module.exports = process && support(supportLevel);
+module.exports = {
+ supportsColor: getSupportLevel,
+ stdout: getSupportLevel(process.stdout),
+ stderr: getSupportLevel(process.stderr)
+};
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json
index e29d3acb2e..1a1820d044 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json
@@ -1,27 +1,27 @@
{
- "_from": "supports-color@^4.0.0",
- "_id": "supports-color@4.5.0",
+ "_from": "supports-color@^5.3.0",
+ "_id": "supports-color@5.3.0",
"_inBundle": false,
- "_integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "_integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
"_location": "/eslint/chalk/supports-color",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "supports-color@^4.0.0",
+ "raw": "supports-color@^5.3.0",
"name": "supports-color",
"escapedName": "supports-color",
- "rawSpec": "^4.0.0",
+ "rawSpec": "^5.3.0",
"saveSpec": null,
- "fetchSpec": "^4.0.0"
+ "fetchSpec": "^5.3.0"
},
"_requiredBy": [
"/eslint/chalk"
],
- "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "_shasum": "be7a0de484dec5c5cddf8b3d59125044912f635b",
- "_spec": "supports-color@^4.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
+ "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
+ "_shasum": "5b24ac15db80fa927cf5227a4a33fd3c4c7676c0",
+ "_spec": "supports-color@^5.3.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
@@ -33,7 +33,7 @@
},
"bundleDependencies": false,
"dependencies": {
- "has-flag": "^2.0.0"
+ "has-flag": "^3.0.0"
},
"deprecated": false,
"description": "Detect whether a terminal supports color",
@@ -81,5 +81,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "4.5.0"
+ "version": "5.3.0"
}
diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md
index 3bef57db0e..f6e4019573 100644
--- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md
+++ b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md
@@ -15,25 +15,25 @@ $ npm install supports-color
```js
const supportsColor = require('supports-color');
-if (supportsColor) {
- console.log('Terminal supports color');
+if (supportsColor.stdout) {
+ console.log('Terminal stdout supports color');
}
-if (supportsColor.has256) {
- console.log('Terminal supports 256 colors');
+if (supportsColor.stdout.has256) {
+ console.log('Terminal stdout supports 256 colors');
}
-if (supportsColor.has16m) {
- console.log('Terminal supports 16 million colors (truecolor)');
+if (supportsColor.stderr.has16m) {
+ console.log('Terminal stderr supports 16 million colors (truecolor)');
}
```
## API
-Returns an `Object`, or `false` if color is not supported.
+Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported.
-The returned object specifies a level of support for color through a `.level` property and a corresponding flag:
+The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag:
- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors)
- `.level = 2` and `.has256 = true`: 256 color support
diff --git a/tools/node_modules/eslint/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/chalk/package.json
index 862007d4c0..1dfaf9d234 100644
--- a/tools/node_modules/eslint/node_modules/chalk/package.json
+++ b/tools/node_modules/eslint/node_modules/chalk/package.json
@@ -1,12 +1,12 @@
{
"_from": "chalk@^2.1.0",
- "_id": "chalk@2.3.0",
+ "_id": "chalk@2.3.2",
"_inBundle": false,
- "_integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "_integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
"_location": "/eslint/chalk",
"_phantomChildren": {
"color-convert": "1.9.1",
- "has-flag": "2.0.0"
+ "has-flag": "3.0.0"
},
"_requested": {
"type": "range",
@@ -23,25 +23,25 @@
"/eslint/inquirer",
"/eslint/table"
],
- "_resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "_shasum": "b5ea48efc9c1793dccc9b4767c93914d3f2d52ba",
+ "_resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
+ "_shasum": "250dc96b07491bfd601e648d66ddf5f60c7a5c65",
"_spec": "chalk@^2.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"bugs": {
"url": "https://github.com/chalk/chalk/issues"
},
"bundleDependencies": false,
"dependencies": {
- "ansi-styles": "^3.1.0",
+ "ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
- "supports-color": "^4.0.0"
+ "supports-color": "^5.3.0"
},
"deprecated": false,
"description": "Terminal string styling done right",
"devDependencies": {
"ava": "*",
"coveralls": "^3.0.0",
- "execa": "^0.8.0",
+ "execa": "^0.9.0",
"import-fresh": "^2.0.0",
"matcha": "^0.7.0",
"nyc": "^11.0.2",
@@ -93,7 +93,7 @@
"test": "xo && tsc --project types && nyc ava"
},
"types": "types/index.d.ts",
- "version": "2.3.0",
+ "version": "2.3.2",
"xo": {
"envs": [
"node",
diff --git a/tools/node_modules/eslint/node_modules/chalk/readme.md b/tools/node_modules/eslint/node_modules/chalk/readme.md
index 9bb2e65e85..f96a9642cb 100644
--- a/tools/node_modules/eslint/node_modules/chalk/readme.md
+++ b/tools/node_modules/eslint/node_modules/chalk/readme.md
@@ -9,11 +9,11 @@
> Terminal string styling done right
-[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) [![Mentioned in Awesome Node.js](https://awesome.re/mentioned-badge.svg)](https://github.com/sindresorhus/awesome-nodejs)
+[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo) [![Mentioned in Awesome Node.js](https://awesome.re/mentioned-badge.svg)](https://github.com/sindresorhus/awesome-nodejs)
### [See what's new in Chalk 2](https://github.com/chalk/chalk/releases/tag/v2.0.0)
-![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png)
+<img src="https://cdn.rawgit.com/chalk/ansi-styles/8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" alt="" width="900">
## Highlights
@@ -26,7 +26,7 @@
- Doesn't extend `String.prototype`
- Clean and focused
- Actively maintained
-- [Used by ~17,000 packages](https://www.npmjs.com/browse/depended/chalk) as of June 20th, 2017
+- [Used by ~23,000 packages](https://www.npmjs.com/browse/depended/chalk) as of December 31, 2017
## Install
@@ -51,7 +51,7 @@ const chalk = require('chalk');
const log = console.log;
// Combine styled and normal strings
-log(chalk.blue('Hello') + 'World' + chalk.red('!'));
+log(chalk.blue('Hello') + ' World' + chalk.red('!'));
// Compose multiple styles using the chainable API
log(chalk.blue.bgRed.bold('Hello world!'));
@@ -124,7 +124,7 @@ Multiple arguments will be separated by space.
Color support is automatically detected, as is the level (see `chalk.level`). However, if you'd like to simply enable/disable Chalk, you can do so via the `.enabled` property.
-Chalk is enabled by default unless expicitly disabled via the constructor or `chalk.level` is `0`.
+Chalk is enabled by default unless explicitly disabled via the constructor or `chalk.level` is `0`.
If you need to change this in a reusable module, create a new instance:
@@ -265,8 +265,8 @@ The following color models can be used:
- [`hex`](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) - Example: `chalk.hex('#FF8800').bold('Orange!')`
- [`keyword`](https://www.w3.org/wiki/CSS/Properties/color/keywords) (CSS keywords) - Example: `chalk.keyword('orange').bold('Orange!')`
- [`hsl`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsl(32, 100, 50).bold('Orange!')`
-- [`hsv`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsl(32, 1, 1).bold('Orange!')`
-- [`hwb`](https://en.wikipedia.org/wiki/HWB_color_model) - Example: `chalk.hsl(32, 0, 50).bold('Orange!')`
+- [`hsv`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsv(32, 100, 100).bold('Orange!')`
+- [`hwb`](https://en.wikipedia.org/wiki/HWB_color_model) - Example: `chalk.hwb(32, 0, 50).bold('Orange!')`
- `ansi16`
- `ansi256`
diff --git a/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json b/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json
index 81ace40e82..ca111d3e17 100644
--- a/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json
+++ b/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
"_shasum": "f40779df1a101872bb510a3d295e1fccf147202f",
"_spec": "character-entities-legacy@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/character-entities/package.json b/tools/node_modules/eslint/node_modules/character-entities/package.json
index 52d6702630..7249c29e12 100644
--- a/tools/node_modules/eslint/node_modules/character-entities/package.json
+++ b/tools/node_modules/eslint/node_modules/character-entities/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
"_shasum": "f76871be5ef66ddb7f8f8e3478ecc374c27d6dca",
"_spec": "character-entities@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json b/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json
index b93546113a..d43a2ae0ea 100644
--- a/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json
+++ b/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
"_shasum": "942835f750e4ec61a308e60c2ef8cc1011202efc",
"_spec": "character-reference-invalid@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/chardet/package.json b/tools/node_modules/eslint/node_modules/chardet/package.json
index 5310a772d7..4ad479b7d2 100644
--- a/tools/node_modules/eslint/node_modules/chardet/package.json
+++ b/tools/node_modules/eslint/node_modules/chardet/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
"_shasum": "b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2",
"_spec": "chardet@^0.4.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/external-editor",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/external-editor",
"author": {
"name": "Dmitry Shirokov",
"email": "deadrunk@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/circular-json/package.json b/tools/node_modules/eslint/node_modules/circular-json/package.json
index da42f18c8f..604eafa7ef 100644
--- a/tools/node_modules/eslint/node_modules/circular-json/package.json
+++ b/tools/node_modules/eslint/node_modules/circular-json/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
"_shasum": "815c99ea84f6809529d2f45791bdf82711352d66",
"_spec": "circular-json@^0.3.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
"author": {
"name": "Andrea Giammarchi",
"url": "http://webreflection.blogspot.com/"
diff --git a/tools/node_modules/eslint/node_modules/cli-cursor/package.json b/tools/node_modules/eslint/node_modules/cli-cursor/package.json
index fa28fcc0b3..3c12324606 100644
--- a/tools/node_modules/eslint/node_modules/cli-cursor/package.json
+++ b/tools/node_modules/eslint/node_modules/cli-cursor/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"_shasum": "b35dac376479facc3e94747d41d0d0f5238ffcb5",
"_spec": "cli-cursor@^2.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/cli-width/package.json b/tools/node_modules/eslint/node_modules/cli-width/package.json
index d18cb2da71..bcae65c938 100644
--- a/tools/node_modules/eslint/node_modules/cli-width/package.json
+++ b/tools/node_modules/eslint/node_modules/cli-width/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
"_shasum": "ff19ede8a9a5e579324147b0c11f0fbcbabed639",
"_spec": "cli-width@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Ilya Radchenko",
"email": "ilya@burstcreations.com"
diff --git a/tools/node_modules/eslint/node_modules/co/package.json b/tools/node_modules/eslint/node_modules/co/package.json
index 43d2d87609..df96c6ef90 100644
--- a/tools/node_modules/eslint/node_modules/co/package.json
+++ b/tools/node_modules/eslint/node_modules/co/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"_shasum": "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184",
"_spec": "co@^4.6.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
"bugs": {
"url": "https://github.com/tj/co/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint/node_modules/collapse-white-space/package.json
index f15d166bd5..014e8e6556 100644
--- a/tools/node_modules/eslint/node_modules/collapse-white-space/package.json
+++ b/tools/node_modules/eslint/node_modules/collapse-white-space/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
"_shasum": "4b906f670e5a963a87b76b0e1689643341b6023c",
"_spec": "collapse-white-space@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/color-convert/package.json
index 403b63f352..7bafc45e42 100644
--- a/tools/node_modules/eslint/node_modules/color-convert/package.json
+++ b/tools/node_modules/eslint/node_modules/color-convert/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"_shasum": "c1261107aeb2f294ebffec9ed9ecad529a6097ed",
"_spec": "color-convert@^1.9.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles",
"author": {
"name": "Heather Arthur",
"email": "fayearthur@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/color-name/package.json
index fc6b9d32c9..56c5ea48f9 100644
--- a/tools/node_modules/eslint/node_modules/color-name/package.json
+++ b/tools/node_modules/eslint/node_modules/color-name/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"_shasum": "a7d0558bd89c42f795dd42328f740831ca53bc25",
"_spec": "color-name@^1.1.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/color-convert",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/color-convert",
"author": {
"name": "DY",
"email": "dfcreative@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/concat-map/package.json b/tools/node_modules/eslint/node_modules/concat-map/package.json
index 7e44e728a5..3218121b30 100644
--- a/tools/node_modules/eslint/node_modules/concat-map/package.json
+++ b/tools/node_modules/eslint/node_modules/concat-map/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
"_spec": "concat-map@0.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/concat-stream/index.js b/tools/node_modules/eslint/node_modules/concat-stream/index.js
index b16ad1343f..dd672a761b 100644
--- a/tools/node_modules/eslint/node_modules/concat-stream/index.js
+++ b/tools/node_modules/eslint/node_modules/concat-stream/index.js
@@ -1,5 +1,6 @@
var Writable = require('readable-stream').Writable
var inherits = require('inherits')
+var bufferFrom = require('buffer-from')
if (typeof Uint8Array === 'undefined') {
var U8 = require('typedarray').Uint8Array
@@ -87,9 +88,9 @@ function stringConcat (parts) {
} else if (Buffer.isBuffer(p)) {
strings.push(p)
} else if (isBufferish(p)) {
- strings.push(new Buffer(p))
+ strings.push(bufferFrom(p))
} else {
- strings.push(new Buffer(String(p)))
+ strings.push(bufferFrom(String(p)))
}
}
if (Buffer.isBuffer(parts[0])) {
@@ -108,9 +109,9 @@ function bufferConcat (parts) {
if (Buffer.isBuffer(p)) {
bufs.push(p)
} else if (isBufferish(p)) {
- bufs.push(new Buffer(p))
+ bufs.push(bufferFrom(p))
} else {
- bufs.push(new Buffer(String(p)))
+ bufs.push(bufferFrom(String(p)))
}
}
return Buffer.concat(bufs)
@@ -128,7 +129,7 @@ function u8Concat (parts) {
var len = 0
for (var i = 0; i < parts.length; i++) {
if (typeof parts[i] === 'string') {
- parts[i] = new Buffer(parts[i])
+ parts[i] = bufferFrom(parts[i])
}
len += parts[i].length
}
diff --git a/tools/node_modules/eslint/node_modules/concat-stream/package.json b/tools/node_modules/eslint/node_modules/concat-stream/package.json
index 1fa812a5cf..3b8dc4bd91 100644
--- a/tools/node_modules/eslint/node_modules/concat-stream/package.json
+++ b/tools/node_modules/eslint/node_modules/concat-stream/package.json
@@ -1,8 +1,8 @@
{
"_from": "concat-stream@^1.6.0",
- "_id": "concat-stream@1.6.0",
+ "_id": "concat-stream@1.6.2",
"_inBundle": false,
- "_integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "_integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"_location": "/eslint/concat-stream",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "_shasum": "0aac662fd52be78964d5532f694784e70110acf7",
+ "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "_shasum": "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34",
"_spec": "concat-stream@^1.6.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Max Ogden",
"email": "max@maxogden.com"
@@ -31,6 +31,7 @@
},
"bundleDependencies": false,
"dependencies": {
+ "buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
@@ -79,5 +80,5 @@
"android-browser/4.2..latest"
]
},
- "version": "1.6.0"
+ "version": "1.6.2"
}
diff --git a/tools/node_modules/eslint/node_modules/concat-stream/readme.md b/tools/node_modules/eslint/node_modules/concat-stream/readme.md
index f45e6fc872..7aa19c4fb1 100644
--- a/tools/node_modules/eslint/node_modules/concat-stream/readme.md
+++ b/tools/node_modules/eslint/node_modules/concat-stream/readme.md
@@ -62,7 +62,7 @@ var a = new Uint8Array(3)
a[0] = 97; a[1] = 98; a[2] = 99
write.write(a)
write.write('!')
-write.end(Buffer('!!1'))
+write.end(Buffer.from('!!1'))
```
See `test/` for more examples
diff --git a/tools/node_modules/eslint/node_modules/core-util-is/package.json b/tools/node_modules/eslint/node_modules/core-util-is/package.json
index 15de53bb60..c26c8b001a 100644
--- a/tools/node_modules/eslint/node_modules/core-util-is/package.json
+++ b/tools/node_modules/eslint/node_modules/core-util-is/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
"_spec": "core-util-is@~1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/cross-spawn/package.json b/tools/node_modules/eslint/node_modules/cross-spawn/package.json
index af0bda3e5a..765850eae1 100644
--- a/tools/node_modules/eslint/node_modules/cross-spawn/package.json
+++ b/tools/node_modules/eslint/node_modules/cross-spawn/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"_shasum": "e8bd0efee58fcff6f8f94510a0a554bbfa235449",
"_spec": "cross-spawn@^5.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "IndigoUnited",
"email": "hello@indigounited.com",
diff --git a/tools/node_modules/eslint/node_modules/debug/package.json b/tools/node_modules/eslint/node_modules/debug/package.json
index 69b0678933..c7877006e3 100644
--- a/tools/node_modules/eslint/node_modules/debug/package.json
+++ b/tools/node_modules/eslint/node_modules/debug/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"_shasum": "5bb5a0672628b64149566ba16819e61518c67261",
"_spec": "debug@^3.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
diff --git a/tools/node_modules/eslint/node_modules/deep-is/package.json b/tools/node_modules/eslint/node_modules/deep-is/package.json
index 14aa087113..1234ca0723 100644
--- a/tools/node_modules/eslint/node_modules/deep-is/package.json
+++ b/tools/node_modules/eslint/node_modules/deep-is/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"_shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34",
"_spec": "deep-is@~0.1.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
"author": {
"name": "Thorsten Lorenz",
"email": "thlorenz@gmx.de",
diff --git a/tools/node_modules/eslint/node_modules/del/package.json b/tools/node_modules/eslint/node_modules/del/package.json
index 386376f46a..0f93beab8a 100644
--- a/tools/node_modules/eslint/node_modules/del/package.json
+++ b/tools/node_modules/eslint/node_modules/del/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"_shasum": "c12c981d067846c84bcaf862cff930d907ffd1a8",
"_spec": "del@^2.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/doctrine/package.json b/tools/node_modules/eslint/node_modules/doctrine/package.json
index c5edad9738..c7ed6f2a92 100644
--- a/tools/node_modules/eslint/node_modules/doctrine/package.json
+++ b/tools/node_modules/eslint/node_modules/doctrine/package.json
@@ -1,5 +1,5 @@
{
- "_from": "doctrine@^2.0.2",
+ "_from": "doctrine@^2.1.0",
"_id": "doctrine@2.1.0",
"_inBundle": false,
"_integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
@@ -8,20 +8,20 @@
"_requested": {
"type": "range",
"registry": true,
- "raw": "doctrine@^2.0.2",
+ "raw": "doctrine@^2.1.0",
"name": "doctrine",
"escapedName": "doctrine",
- "rawSpec": "^2.0.2",
+ "rawSpec": "^2.1.0",
"saveSpec": null,
- "fetchSpec": "^2.0.2"
+ "fetchSpec": "^2.1.0"
},
"_requiredBy": [
"/eslint"
],
"_resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"_shasum": "5cd01fc101621b42c4cd7f5d1a66243716d3f39d",
- "_spec": "doctrine@^2.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_spec": "doctrine@^2.1.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"bugs": {
"url": "https://github.com/eslint/doctrine/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json b/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json
index f84fe8142c..bf054afe82 100644
--- a/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json
+++ b/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"_shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
"_spec": "escape-string-regexp@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json
index db2023c623..41f14cb9ac 100644
--- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json
+++ b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.0-beta.7.tgz",
"_shasum": "12e73a4127c4a4b79d966f9f475851dd0f78f7e7",
"_spec": "eslint-plugin-markdown@next",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Brandon Mills",
"url": "https://github.com/btmills"
diff --git a/tools/node_modules/eslint/node_modules/eslint-scope/package.json b/tools/node_modules/eslint/node_modules/eslint-scope/package.json
index 412dec58da..a8f3142707 100644
--- a/tools/node_modules/eslint/node_modules/eslint-scope/package.json
+++ b/tools/node_modules/eslint/node_modules/eslint-scope/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
"_shasum": "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8",
"_spec": "eslint-scope@^3.7.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"bugs": {
"url": "https://github.com/eslint/eslint-scope/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json b/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json
index e5e3f22e78..4537479e2e 100644
--- a/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json
+++ b/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
"_shasum": "3f3180fb2e291017716acb4c9d6d5b5c34a6a81d",
"_spec": "eslint-visitor-keys@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Toru Nagashima",
"url": "https://github.com/mysticatea"
diff --git a/tools/node_modules/eslint/node_modules/espree/README.md b/tools/node_modules/eslint/node_modules/espree/README.md
index 75205cf472..d2b1288bd2 100644
--- a/tools/node_modules/eslint/node_modules/espree/README.md
+++ b/tools/node_modules/eslint/node_modules/espree/README.md
@@ -149,6 +149,8 @@ There are two ECMAScript 2017 syntax changes: `async` functions, and trailing co
Because ECMAScript 2018 is still under development, we are implementing features as they are finalized. Currently, Espree supports:
* Invalid escape sequences in tagged template literals
+* Rest/spread properties
+* Async Iteration
### How do you determine which experimental features to support?
diff --git a/tools/node_modules/eslint/node_modules/espree/espree.js b/tools/node_modules/eslint/node_modules/espree/espree.js
index b2f0a185bd..23d434e5cb 100644
--- a/tools/node_modules/eslint/node_modules/espree/espree.js
+++ b/tools/node_modules/eslint/node_modules/espree/espree.js
@@ -318,7 +318,7 @@ acorn.plugins.espree = function(instance) {
instance.extend("toAssignable", function(toAssignable) {
- return /** @this acorn.Parser */ function(node, isBinding) {
+ return /** @this acorn.Parser */ function(node, isBinding, refDestructuringErrors) {
if (extra.ecmaFeatures.experimentalObjectRestSpread &&
node.type === "ObjectExpression"
@@ -339,7 +339,7 @@ acorn.plugins.espree = function(instance) {
return node;
} else {
- return toAssignable.call(this, node, isBinding);
+ return toAssignable.call(this, node, isBinding, refDestructuringErrors);
}
};
@@ -393,14 +393,15 @@ acorn.plugins.espree = function(instance) {
* Override `checkPropClash` method to avoid clash on rest/spread properties.
* @param {ASTNode} prop A property node to check.
* @param {Object} propHash Names map.
+ * @param {Object} refDestructuringErrors Destructuring error information.
* @returns {void}
* @this acorn.Parser
*/
- return function(prop, propHash) {
+ return function(prop, propHash, refDestructuringErrors) {
if (prop.type === "ExperimentalRestProperty" || prop.type === "ExperimentalSpreadProperty") {
return;
}
- checkPropClash.call(this, prop, propHash);
+ checkPropClash.call(this, prop, propHash, refDestructuringErrors);
};
});
diff --git a/tools/node_modules/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json
index 6bd110656b..ed0fe48d38 100644
--- a/tools/node_modules/eslint/node_modules/espree/package.json
+++ b/tools/node_modules/eslint/node_modules/espree/package.json
@@ -1,27 +1,27 @@
{
- "_from": "espree@^3.5.2",
- "_id": "espree@3.5.2",
+ "_from": "espree@^3.5.4",
+ "_id": "espree@3.5.4",
"_inBundle": false,
- "_integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==",
+ "_integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
"_location": "/eslint/espree",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "espree@^3.5.2",
+ "raw": "espree@^3.5.4",
"name": "espree",
"escapedName": "espree",
- "rawSpec": "^3.5.2",
+ "rawSpec": "^3.5.4",
"saveSpec": null,
- "fetchSpec": "^3.5.2"
+ "fetchSpec": "^3.5.4"
},
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz",
- "_shasum": "756ada8b979e9dcfcdb30aad8d1a9304a905e1ca",
- "_spec": "espree@^3.5.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "_shasum": "b0f447187c8a8bed944b815a660bddf5deb5d1a7",
+ "_spec": "espree@^3.5.4",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Nicholas C. Zakas",
"email": "nicholas+npm@nczconsulting.com"
@@ -31,7 +31,7 @@
},
"bundleDependencies": false,
"dependencies": {
- "acorn": "^5.2.1",
+ "acorn": "^5.5.0",
"acorn-jsx": "^3.0.0"
},
"deprecated": false,
@@ -87,5 +87,5 @@
"release": "eslint-release",
"test": "npm run-script lint && node Makefile.js test"
},
- "version": "3.5.2"
+ "version": "3.5.4"
}
diff --git a/tools/node_modules/eslint/node_modules/esprima/ChangeLog b/tools/node_modules/eslint/node_modules/esprima/ChangeLog
deleted file mode 100644
index 47a7a0f547..0000000000
--- a/tools/node_modules/eslint/node_modules/esprima/ChangeLog
+++ /dev/null
@@ -1,225 +0,0 @@
-2017-06-10: Version 4.0.0
-
- * Support ES2017 async function and await expression (issue 1079)
- * Support ES2017 trailing commas in function parameters (issue 1550)
- * Explicitly distinguish parsing a module vs a script (issue 1576)
- * Fix JSX non-empty container (issue 1786)
- * Allow JSX element in a yield expression (issue 1765)
- * Allow `in` expression in a concise body with a function body (issue 1793)
- * Setter function argument must not be a rest parameter (issue 1693)
- * Limit strict mode directive to functions with a simple parameter list (issue 1677)
- * Prohibit any escape sequence in a reserved word (issue 1612)
- * Only permit hex digits in hex escape sequence (issue 1619)
- * Prohibit labelled class/generator/function declaration (issue 1484)
- * Limit function declaration as if statement clause only in non-strict mode (issue 1657)
- * Tolerate missing ) in a with and do-while statement (issue 1481)
-
-2016-12-22: Version 3.1.3
-
- * Support binding patterns as rest element (issue 1681)
- * Account for different possible arguments of a yield expression (issue 1469)
-
-2016-11-24: Version 3.1.2
-
- * Ensure that import specifier is more restrictive (issue 1615)
- * Fix duplicated JSX tokens (issue 1613)
- * Scan template literal in a JSX expression container (issue 1622)
- * Improve XHTML entity scanning in JSX (issue 1629)
-
-2016-10-31: Version 3.1.1
-
- * Fix assignment expression problem in an export declaration (issue 1596)
- * Fix incorrect tokenization of hex digits (issue 1605)
-
-2016-10-09: Version 3.1.0
-
- * Do not implicitly collect comments when comment attachment is specified (issue 1553)
- * Fix incorrect handling of duplicated proto shorthand fields (issue 1485)
- * Prohibit initialization in some variants of for statements (issue 1309, 1561)
- * Fix incorrect parsing of export specifier (issue 1578)
- * Fix ESTree compatibility for assignment pattern (issue 1575)
-
-2016-09-03: Version 3.0.0
-
- * Support ES2016 exponentiation expression (issue 1490)
- * Support JSX syntax (issue 1467)
- * Use the latest Unicode 8.0 (issue 1475)
- * Add the support for syntax node delegate (issue 1435)
- * Fix ESTree compatibility on meta property (issue 1338)
- * Fix ESTree compatibility on default parameter value (issue 1081)
- * Fix ESTree compatibility on try handler (issue 1030)
-
-2016-08-23: Version 2.7.3
-
- * Fix tokenizer confusion with a comment (issue 1493, 1516)
-
-2016-02-02: Version 2.7.2
-
- * Fix out-of-bound error location in an invalid string literal (issue 1457)
- * Fix shorthand object destructuring defaults in variable declarations (issue 1459)
-
-2015-12-10: Version 2.7.1
-
- * Do not allow trailing comma in a variable declaration (issue 1360)
- * Fix assignment to `let` in non-strict mode (issue 1376)
- * Fix missing delegate property in YieldExpression (issue 1407)
-
-2015-10-22: Version 2.7.0
-
- * Fix the handling of semicolon in a break statement (issue 1044)
- * Run the test suite with major web browsers (issue 1259, 1317)
- * Allow `let` as an identifier in non-strict mode (issue 1289)
- * Attach orphaned comments as `innerComments` (issue 1328)
- * Add the support for token delegator (issue 1332)
-
-2015-09-01: Version 2.6.0
-
- * Properly allow or prohibit `let` in a binding identifier/pattern (issue 1048, 1098)
- * Add sourceType field for Program node (issue 1159)
- * Ensure that strict mode reserved word binding throw an error (issue 1171)
- * Run the test suite with Node.js and IE 11 on Windows (issue 1294)
- * Allow binding pattern with no initializer in a for statement (issue 1301)
-
-2015-07-31: Version 2.5.0
-
- * Run the test suite in a browser environment (issue 1004)
- * Ensure a comma between imported default binding and named imports (issue 1046)
- * Distinguish `yield` as a keyword vs an identifier (issue 1186)
- * Support ES6 meta property `new.target` (issue 1203)
- * Fix the syntax node for yield with expression (issue 1223)
- * Fix the check of duplicated proto in property names (issue 1225)
- * Fix ES6 Unicode escape in identifier name (issue 1229)
- * Support ES6 IdentifierStart and IdentifierPart (issue 1232)
- * Treat await as a reserved word when parsing as a module (issue 1234)
- * Recognize identifier characters from Unicode SMP (issue 1244)
- * Ensure that export and import can be followed by a comma (issue 1250)
- * Fix yield operator precedence (issue 1262)
-
-2015-07-01: Version 2.4.1
-
- * Fix some cases of comment attachment (issue 1071, 1175)
- * Fix the handling of destructuring in function arguments (issue 1193)
- * Fix invalid ranges in assignment expression (issue 1201)
-
-2015-06-26: Version 2.4.0
-
- * Support ES6 for-of iteration (issue 1047)
- * Support ES6 spread arguments (issue 1169)
- * Minimize npm payload (issue 1191)
-
-2015-06-16: Version 2.3.0
-
- * Support ES6 generator (issue 1033)
- * Improve parsing of regular expressions with `u` flag (issue 1179)
-
-2015-04-17: Version 2.2.0
-
- * Support ES6 import and export declarations (issue 1000)
- * Fix line terminator before arrow not recognized as error (issue 1009)
- * Support ES6 destructuring (issue 1045)
- * Support ES6 template literal (issue 1074)
- * Fix the handling of invalid/incomplete string escape sequences (issue 1106)
- * Fix ES3 static member access restriction (issue 1120)
- * Support for `super` in ES6 class (issue 1147)
-
-2015-03-09: Version 2.1.0
-
- * Support ES6 class (issue 1001)
- * Support ES6 rest parameter (issue 1011)
- * Expand the location of property getter, setter, and methods (issue 1029)
- * Enable TryStatement transition to a single handler (issue 1031)
- * Support ES6 computed property name (issue 1037)
- * Tolerate unclosed block comment (issue 1041)
- * Support ES6 lexical declaration (issue 1065)
-
-2015-02-06: Version 2.0.0
-
- * Support ES6 arrow function (issue 517)
- * Support ES6 Unicode code point escape (issue 521)
- * Improve the speed and accuracy of comment attachment (issue 522)
- * Support ES6 default parameter (issue 519)
- * Support ES6 regular expression flags (issue 557)
- * Fix scanning of implicit octal literals (issue 565)
- * Fix the handling of automatic semicolon insertion (issue 574)
- * Support ES6 method definition (issue 620)
- * Support ES6 octal integer literal (issue 621)
- * Support ES6 binary integer literal (issue 622)
- * Support ES6 object literal property value shorthand (issue 624)
-
-2015-03-03: Version 1.2.5
-
- * Fix scanning of implicit octal literals (issue 565)
-
-2015-02-05: Version 1.2.4
-
- * Fix parsing of LeftHandSideExpression in ForInStatement (issue 560)
- * Fix the handling of automatic semicolon insertion (issue 574)
-
-2015-01-18: Version 1.2.3
-
- * Fix division by this (issue 616)
-
-2014-05-18: Version 1.2.2
-
- * Fix duplicated tokens when collecting comments (issue 537)
-
-2014-05-04: Version 1.2.1
-
- * Ensure that Program node may still have leading comments (issue 536)
-
-2014-04-29: Version 1.2.0
-
- * Fix semicolon handling for expression statement (issue 462, 533)
- * Disallow escaped characters in regular expression flags (issue 503)
- * Performance improvement for location tracking (issue 520)
- * Improve the speed of comment attachment (issue 522)
-
-2014-03-26: Version 1.1.1
-
- * Fix token handling of forward slash after an array literal (issue 512)
-
-2014-03-23: Version 1.1.0
-
- * Optionally attach comments to the owning syntax nodes (issue 197)
- * Simplify binary parsing with stack-based shift reduce (issue 352)
- * Always include the raw source of literals (issue 376)
- * Add optional input source information (issue 386)
- * Tokenizer API for pure lexical scanning (issue 398)
- * Improve the web site and its online demos (issue 337, 400, 404)
- * Performance improvement for location tracking (issue 417, 424)
- * Support HTML comment syntax (issue 451)
- * Drop support for legacy browsers (issue 474)
-
-2013-08-27: Version 1.0.4
-
- * Minimize the payload for packages (issue 362)
- * Fix missing cases on an empty switch statement (issue 436)
- * Support escaped ] in regexp literal character classes (issue 442)
- * Tolerate invalid left-hand side expression (issue 130)
-
-2013-05-17: Version 1.0.3
-
- * Variable declaration needs at least one declarator (issue 391)
- * Fix benchmark's variance unit conversion (issue 397)
- * IE < 9: \v should be treated as vertical tab (issue 405)
- * Unary expressions should always have prefix: true (issue 418)
- * Catch clause should only accept an identifier (issue 423)
- * Tolerate setters without parameter (issue 426)
-
-2012-11-02: Version 1.0.2
-
- Improvement:
-
- * Fix esvalidate JUnit output upon a syntax error (issue 374)
-
-2012-10-28: Version 1.0.1
-
- Improvements:
-
- * esvalidate understands shebang in a Unix shell script (issue 361)
- * esvalidate treats fatal parsing failure as an error (issue 361)
- * Reduce Node.js package via .npmignore (issue 362)
-
-2012-10-22: Version 1.0.0
-
- Initial release.
diff --git a/tools/node_modules/eslint/node_modules/esprima/package.json b/tools/node_modules/eslint/node_modules/esprima/package.json
index f71326d477..3c24e3d107 100644
--- a/tools/node_modules/eslint/node_modules/esprima/package.json
+++ b/tools/node_modules/eslint/node_modules/esprima/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
"_shasum": "4499eddcd1110e0b218bacf2fa7f7f59f55ca804",
"_spec": "esprima@^4.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
"author": {
"name": "Ariya Hidayat",
"email": "ariya.hidayat@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/esquery/package.json b/tools/node_modules/eslint/node_modules/esquery/package.json
index 87a545b138..ce8ebda266 100644
--- a/tools/node_modules/eslint/node_modules/esquery/package.json
+++ b/tools/node_modules/eslint/node_modules/esquery/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
"_shasum": "cfba8b57d7fba93f17298a8a006a04cda13d80fa",
"_spec": "esquery@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Joel Feenstra",
"email": "jrfeenst+esquery@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/esrecurse/README.md b/tools/node_modules/eslint/node_modules/esrecurse/README.md
index 03c2ff3025..ffea6b434a 100644
--- a/tools/node_modules/eslint/node_modules/esrecurse/README.md
+++ b/tools/node_modules/eslint/node_modules/esrecurse/README.md
@@ -44,6 +44,7 @@ class Derived extends esrecurse.Visitor {
XXXStatement(node) {
}
}
+```
```javascript
function DerivedVisitor() {
@@ -70,7 +71,7 @@ DerivedVisitor.prototype.XXXStatement = function (node) {
};
```
-The `childVisitorKeys` option does customize the behavoir of `this.visitChildren(node)`.
+The `childVisitorKeys` option does customize the behaviour of `this.visitChildren(node)`.
We can use user-defined node types.
```javascript
diff --git a/tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js b/tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js
index 0805e67f39..15d57dfd02 100644
--- a/tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js
+++ b/tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js
@@ -24,25 +24,7 @@
(function () {
'use strict';
- var assign,
- estraverse,
- isArray,
- objectKeys;
-
- assign = require('object-assign');
- estraverse = require('estraverse');
-
- isArray = Array.isArray || function isArray(array) {
- return Object.prototype.toString.call(array) === '[object Array]';
- };
-
- objectKeys = Object.keys || function (o) {
- var keys = [], key;
- for (key in o) {
- keys.push(key);
- }
- return keys;
- };
+ var estraverse = require('estraverse');
function isNode(node) {
if (node == null) {
@@ -60,10 +42,10 @@
this.__visitor = visitor || this;
this.__childVisitorKeys = options.childVisitorKeys
- ? assign({}, estraverse.VisitorKeys, options.childVisitorKeys)
+ ? Object.assign({}, estraverse.VisitorKeys, options.childVisitorKeys)
: estraverse.VisitorKeys;
if (options.fallback === 'iteration') {
- this.__fallback = objectKeys;
+ this.__fallback = Object.keys;
} else if (typeof options.fallback === 'function') {
this.__fallback = options.fallback;
}
@@ -94,7 +76,7 @@
for (i = 0, iz = children.length; i < iz; ++i) {
child = node[children[i]];
if (child) {
- if (isArray(child)) {
+ if (Array.isArray(child)) {
for (j = 0, jz = child.length; j < jz; ++j) {
if (child[j]) {
if (isNode(child[j]) || isProperty(type, children[i])) {
diff --git a/tools/node_modules/eslint/node_modules/esrecurse/package-lock.json b/tools/node_modules/eslint/node_modules/esrecurse/package-lock.json
deleted file mode 100644
index 8faf2d522d..0000000000
--- a/tools/node_modules/eslint/node_modules/esrecurse/package-lock.json
+++ /dev/null
@@ -1,4322 +0,0 @@
-{
- "name": "esrecurse",
- "version": "4.1.0",
- "lockfileVersion": 1,
- "dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- },
- "acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "dev": true
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "dev": true
- },
- "ansi-escapes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
- "dev": true
- },
- "ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "dev": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
- "dev": true
- },
- "any-shell-escape": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/any-shell-escape/-/any-shell-escape-0.1.1.tgz",
- "integrity": "sha1-1Vq5ciRMcaml4asIefML8RCAaVk=",
- "dev": true
- },
- "anymatch": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
- "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
- "dev": true,
- "optional": true
- },
- "archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
- "dev": true
- },
- "argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "dev": true
- },
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
- "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
- "dev": true
- },
- "arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
- "dev": true
- },
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
- "dev": true
- },
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
- "array-slice": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz",
- "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=",
- "dev": true
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "assertion-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz",
- "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=",
- "dev": true
- },
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
- "async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
- "dev": true,
- "optional": true
- },
- "babel-cli": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz",
- "integrity": "sha1-IHzXBbumFImy6kG1MSNBz2rKIoM=",
- "dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
- },
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true
- }
- }
- },
- "babel-code-frame": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
- "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
- "dev": true
- },
- "babel-core": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz",
- "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true
- }
- }
- },
- "babel-generator": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz",
- "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=",
- "dev": true,
- "dependencies": {
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true
- }
- }
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true
- },
- "babel-helper-define-map": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz",
- "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true
- },
- "babel-helper-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz",
- "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true
- },
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz",
- "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true
- },
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true
- },
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz",
- "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=",
- "dev": true
- },
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true
- },
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true
- },
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true
- },
- "babel-plugin-transform-regenerator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz",
- "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=",
- "dev": true
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true
- },
- "babel-polyfill": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
- "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
- "dev": true
- },
- "babel-preset-es2015": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
- "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
- "dev": true
- },
- "babel-register": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz",
- "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-runtime": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
- "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
- "dev": true
- },
- "babel-template": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
- "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-traverse": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
- "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
- "dev": true,
- "dependencies": {
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true
- },
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babel-types": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
- "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- }
- }
- },
- "babylon": {
- "version": "6.17.4",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
- "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true
- },
- "binary-extensions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
- "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
- "dev": true,
- "optional": true
- },
- "bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
- "dev": true
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true
- },
- "bufferstreams": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz",
- "integrity": "sha1-AWE3MGCsWYjv+ZBYcxEU9uGV1R4=",
- "dev": true,
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
- "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
- "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
- "dev": true,
- "dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true
- }
- }
- }
- }
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true
- },
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- },
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true
- },
- "catharsis": {
- "version": "0.8.8",
- "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.8.tgz",
- "integrity": "sha1-aTR59DqsVJ2Aa9c+kkzQ2USVGgY=",
- "dev": true
- },
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "optional": true
- },
- "chai": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true
- },
- "chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
- "dev": true,
- "optional": true
- },
- "circular-json": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
- "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=",
- "dev": true
- },
- "cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
- "dev": true
- },
- "cli-width": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
- "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true,
- "optional": true
- }
- }
- },
- "clone": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
- "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
- "dev": true
- },
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "coffee-script": {
- "version": "1.12.6",
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz",
- "integrity": "sha1-KFo/cRVokGUGTWv570Vy22ZpXL8=",
- "dev": true
- },
- "commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
- "dev": true,
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
- "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
- "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
- "dev": true,
- "dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true
- }
- }
- }
- }
- },
- "convert-source-map": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz",
- "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=",
- "dev": true
- },
- "core-js": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
- "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true
- },
- "d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "dev": true
- },
- "dateformat": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz",
- "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=",
- "dev": true
- },
- "debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
- "dev": true
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
- "dev": true,
- "dependencies": {
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
- "dev": true
- }
- }
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
- "dev": true
- },
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true
- },
- "deprecated": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
- "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
- "dev": true
- },
- "detect-file": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
- "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
- "dev": true
- },
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true
- },
- "diff": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
- "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
- "dev": true
- },
- "doctrine": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
- "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
- "dev": true,
- "dependencies": {
- "esutils": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
- "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
- "dev": true
- }
- }
- },
- "dot-object": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-1.5.4.tgz",
- "integrity": "sha1-ryuN8mJrZQIM1nKdRsMxvDDTtIc=",
- "dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- }
- }
- },
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true
- },
- "end-of-stream": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
- "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
- "dev": true
- },
- "error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true
- },
- "es5-ext": {
- "version": "0.10.23",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz",
- "integrity": "sha1-dXi1G+l0IHpUh4IbVlOMIk5Oezg=",
- "dev": true
- },
- "es6-iterator": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz",
- "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=",
- "dev": true
- },
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true
- },
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true
- },
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true
- },
- "es6-weak-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true
- },
- "eslint": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-1.10.3.tgz",
- "integrity": "sha1-+xmpGxPBWAgrvKKUsX2Xm8g1Ogo=",
- "dev": true,
- "dependencies": {
- "espree": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz",
- "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- },
- "user-home": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
- "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
- "dev": true
- }
- }
- },
- "espree": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz",
- "integrity": "sha1-/V3ux2qXpRIKnNOnyxF3oJI7EdI=",
- "dev": true
- },
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- },
- "esrecurse": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
- "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=",
- "dev": true,
- "dependencies": {
- "estraverse": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
- "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=",
- "dev": true
- }
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
- },
- "estraverse-fb": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.1.tgz",
- "integrity": "sha1-Fg51qA5gWwjOiUvM4v4+Qpq/kr8=",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true
- },
- "exit-hook": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
- "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
- "dev": true
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "dev": true
- },
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "dev": true
- },
- "extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "dev": true,
- "dependencies": {
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
- "dev": true
- }
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true
- },
- "fancy-log": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
- "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz",
- "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=",
- "dev": true
- },
- "figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true
- },
- "file-entry-cache": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz",
- "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=",
- "dev": true
- },
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
- "dev": true
- },
- "fill-range": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
- "dev": true
- },
- "find-index": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
- "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
- "dev": true
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true
- },
- "findup-sync": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
- "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=",
- "dev": true
- },
- "fined": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
- "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
- "dev": true,
- "dependencies": {
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true
- }
- }
- },
- "first-chunk-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
- "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
- "dev": true
- },
- "flagged-respawn": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
- "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=",
- "dev": true
- },
- "flat-cache": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
- "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=",
- "dev": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "dev": true
- },
- "fs-exists-sync": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
- "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
- "dev": true
- },
- "fs-readdir-recursive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz",
- "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=",
- "dev": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz",
- "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "abbrev": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ajv": {
- "version": "4.11.8",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "aproba": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "asn1": {
- "version": "0.2.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "assert-plus": {
- "version": "0.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "asynckit": {
- "version": "0.4.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "aws4": {
- "version": "1.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "balanced-match": {
- "version": "0.4.2",
- "bundled": true,
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "block-stream": {
- "version": "0.0.9",
- "bundled": true,
- "dev": true
- },
- "boom": {
- "version": "2.10.1",
- "bundled": true,
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.7",
- "bundled": true,
- "dev": true
- },
- "buffer-shims": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "co": {
- "version": "4.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "cryptiles": {
- "version": "2.0.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "dashdash": {
- "version": "1.14.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "debug": {
- "version": "2.6.8",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "deep-extend": {
- "version": "0.4.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "extend": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "extsprintf": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "form-data": {
- "version": "2.1.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "fstream": {
- "version": "1.0.11",
- "bundled": true,
- "dev": true
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "getpass": {
- "version": "0.1.7",
- "bundled": true,
- "dev": true,
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "glob": {
- "version": "7.1.2",
- "bundled": true,
- "dev": true
- },
- "graceful-fs": {
- "version": "4.1.11",
- "bundled": true,
- "dev": true
- },
- "har-schema": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "har-validator": {
- "version": "4.2.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "hawk": {
- "version": "3.1.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "hoek": {
- "version": "2.16.3",
- "bundled": true,
- "dev": true
- },
- "http-signature": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true
- },
- "ini": {
- "version": "1.3.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "jodid25519": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "jsbn": {
- "version": "0.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "json-schema": {
- "version": "0.2.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "jsonify": {
- "version": "0.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "jsprim": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "mime-db": {
- "version": "1.27.0",
- "bundled": true,
- "dev": true
- },
- "mime-types": {
- "version": "2.1.15",
- "bundled": true,
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "node-pre-gyp": {
- "version": "0.6.36",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npmlog": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "performance-now": {
- "version": "0.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "bundled": true,
- "dev": true
- },
- "punycode": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.4.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.2.9",
- "bundled": true,
- "dev": true
- },
- "request": {
- "version": "2.81.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rimraf": {
- "version": "2.6.1",
- "bundled": true,
- "dev": true
- },
- "safe-buffer": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true
- },
- "semver": {
- "version": "5.3.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sntp": {
- "version": "1.0.9",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sshpk": {
- "version": "1.13.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "string_decoder": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "stringstream": {
- "version": "0.0.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "2.2.1",
- "bundled": true,
- "dev": true
- },
- "tar-pack": {
- "version": "3.4.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tough-cookie": {
- "version": "2.3.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tweetnacl": {
- "version": "0.14.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "uid-number": {
- "version": "0.0.6",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "uuid": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "verror": {
- "version": "1.3.6",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- }
- }
- },
- "gaze": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
- "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
- "dev": true
- },
- "generate-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
- "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
- "dev": true
- },
- "generate-object-property": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
- "dev": true
- },
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "dev": true
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true
- },
- "glob-stream": {
- "version": "3.1.18",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
- "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
- "dev": true,
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
- }
- }
- },
- "glob-watcher": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
- "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
- "dev": true
- },
- "glob2base": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
- "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
- "dev": true
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "dev": true
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "dev": true
- },
- "globals": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz",
- "integrity": "sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=",
- "dev": true
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- }
- }
- },
- "globule": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
- "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
- "dev": true,
- "dependencies": {
- "glob": {
- "version": "3.1.21",
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
- "dev": true
- },
- "graceful-fs": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
- "dev": true
- },
- "inherits": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
- "dev": true
- },
- "minimatch": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true
- }
- }
- },
- "glogg": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
- "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
- "dev": true
- },
- "graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
- "growl": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
- "dev": true
- },
- "gulp": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
- "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
- "dev": true
- },
- "gulp-bump": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulp-bump/-/gulp-bump-1.0.0.tgz",
- "integrity": "sha1-XofEsSlyalzphvIjDnU3vzzecqw=",
- "dev": true,
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
- },
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true
- },
- "through2": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
- "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true
- },
- "xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
- "dev": true
- }
- }
- },
- "gulp-eslint": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-1.1.1.tgz",
- "integrity": "sha1-nxY4D1MxchUrN/O1woFkmt+PRmQ=",
- "dev": true
- },
- "gulp-filter": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/gulp-filter/-/gulp-filter-3.0.1.tgz",
- "integrity": "sha1-fG/85bVj6J3nqQ387/FuyKjLFWI=",
- "dev": true
- },
- "gulp-git": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/gulp-git/-/gulp-git-1.15.1.tgz",
- "integrity": "sha1-zdnTVPxB2Ny1LO9HJW37o2Z4WXk=",
- "dev": true,
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
- }
- }
- },
- "gulp-mocha": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/gulp-mocha/-/gulp-mocha-2.2.0.tgz",
- "integrity": "sha1-HOXrpLlLQMdDav7DxJgsjuqJQZI=",
- "dev": true
- },
- "gulp-tag-version": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/gulp-tag-version/-/gulp-tag-version-1.3.0.tgz",
- "integrity": "sha1-hEjIfu0YZtuObLWYvEGb4t98R9s=",
- "dev": true,
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
- },
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
- },
- "chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true
- },
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true
- },
- "gulp-git": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/gulp-git/-/gulp-git-0.3.6.tgz",
- "integrity": "sha1-d+w9oiklwkbt15bKENQWOWXYFAo=",
- "dev": true
- },
- "gulp-util": {
- "version": "2.2.20",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
- "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
- "dev": true,
- "dependencies": {
- "through2": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
- "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true
- }
- }
- },
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
- "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
- "dev": true
- },
- "lodash.escape": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
- "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
- "dev": true
- },
- "lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
- },
- "lodash.template": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
- "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
- "dev": true
- },
- "lodash.templatesettings": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
- "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
- "dev": true
- },
- "minimist": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
- "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
- },
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true
- },
- "supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
- },
- "through2": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
- "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
- "dev": true,
- "dependencies": {
- "xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true
- }
- }
- },
- "vinyl": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
- "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
- "dev": true
- },
- "xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
- "dev": true
- }
- }
- },
- "gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
- "dev": true,
- "dependencies": {
- "object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true
- }
- }
- },
- "gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true
- },
- "handlebars": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
- "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
- "dev": true
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true
- },
- "has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true
- },
- "homedir-polyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
- "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
- "dev": true
- },
- "hosted-git-info": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz",
- "integrity": "sha1-AHa59GonBQbduq6lZJaJdGBhKmc=",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "ini": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
- "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
- "dev": true
- },
- "inquirer": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz",
- "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
- "dev": true
- }
- }
- },
- "interpret": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
- "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=",
- "dev": true
- },
- "invariant": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
- "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
- "dev": true
- },
- "irregular-plurals": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.2.0.tgz",
- "integrity": "sha1-OPKZg0uowAwwvpxVThNyaXUv86w=",
- "dev": true
- },
- "is-absolute": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
- "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true,
- "optional": true
- },
- "is-buffer": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
- "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
- "dev": true
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true
- },
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
- "dev": true
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true
- },
- "is-my-json-valid": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
- "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=",
- "dev": true
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
- "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
- "dev": true
- },
- "is-path-inside": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
- "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
- "dev": true
- },
- "is-plain-object": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.3.tgz",
- "integrity": "sha1-wVvz5LZrYtcu+vKSWEhmPsvGGbY=",
- "dev": true,
- "dependencies": {
- "isobject": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.0.tgz",
- "integrity": "sha1-OVZSF/NmF4nooKDAgNX35rxG4aA=",
- "dev": true
- }
- }
- },
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
- "dev": true
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
- "dev": true
- },
- "is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
- "dev": true
- },
- "is-relative": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
- "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
- "dev": true
- },
- "is-resolvable": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
- "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=",
- "dev": true
- },
- "is-unc-path": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
- "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
- "dev": true
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- }
- }
- },
- "jade": {
- "version": "0.26.3",
- "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
- "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
- "dev": true,
- "dependencies": {
- "commander": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
- "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=",
- "dev": true
- },
- "mkdirp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
- "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",
- "dev": true
- }
- }
- },
- "js-tokens": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
- "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=",
- "dev": true
- },
- "js-yaml": {
- "version": "3.4.5",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.5.tgz",
- "integrity": "sha1-w0A3l98SuRhmV08t4jZG/oyvtE0=",
- "dev": true
- },
- "js2xmlparser": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-1.0.0.tgz",
- "integrity": "sha1-WhcPLo1kds5FQF4EgjJCUTeC/jA=",
- "dev": true
- },
- "jsdoc": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.4.3.tgz",
- "integrity": "sha1-5XQNYUXGgfZnnmwXeDqI292XzNM=",
- "dev": true,
- "dependencies": {
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- }
- }
- },
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
- },
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
- "dev": true
- },
- "jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
- "dev": true
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "optional": true
- }
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true,
- "optional": true
- },
- "levn": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz",
- "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=",
- "dev": true
- },
- "liftoff": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
- "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=",
- "dev": true
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true
- }
- }
- },
- "lodash": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
- "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
- "dev": true
- },
- "lodash._arraycopy": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
- "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
- "dev": true
- },
- "lodash._arrayeach": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
- "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
- "dev": true
- },
- "lodash._arraymap": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz",
- "integrity": "sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY=",
- "dev": true
- },
- "lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
- "dev": true
- },
- "lodash._baseclone": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
- "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
- "dev": true
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._basedifference": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz",
- "integrity": "sha1-8sIEKWwqeOArOJCBtu3KyTPPYpw=",
- "dev": true
- },
- "lodash._baseflatten": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz",
- "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=",
- "dev": true
- },
- "lodash._basefor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
- "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
- "dev": true
- },
- "lodash._baseindexof": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz",
- "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=",
- "dev": true
- },
- "lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "lodash._bindcallback": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
- "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
- "dev": true
- },
- "lodash._cacheindexof": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz",
- "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=",
- "dev": true
- },
- "lodash._createassigner": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz",
- "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=",
- "dev": true
- },
- "lodash._createcache": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz",
- "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=",
- "dev": true
- },
- "lodash._escapehtmlchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
- "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
- "dev": true
- },
- "lodash._escapestringchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
- "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "lodash._htmlescapes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
- "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
- "dev": true
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "lodash._isnative": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
- "dev": true
- },
- "lodash._objecttypes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
- "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
- "dev": true
- },
- "lodash._pickbyarray": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz",
- "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=",
- "dev": true
- },
- "lodash._pickbycallback": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz",
- "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=",
- "dev": true
- },
- "lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "lodash._reunescapedhtml": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
- "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
- "dev": true,
- "dependencies": {
- "lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
- }
- }
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
- },
- "lodash._shimkeys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
- "dev": true
- },
- "lodash.clonedeep": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
- "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=",
- "dev": true
- },
- "lodash.defaults": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
- "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
- "dev": true,
- "dependencies": {
- "lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
- }
- }
- },
- "lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "lodash.isobject": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
- "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
- "dev": true
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
- "dev": true
- },
- "lodash.isstring": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
- "dev": true
- },
- "lodash.istypedarray": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz",
- "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=",
- "dev": true
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true
- },
- "lodash.keysin": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz",
- "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=",
- "dev": true
- },
- "lodash.mapvalues": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
- "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
- "dev": true
- },
- "lodash.merge": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz",
- "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=",
- "dev": true,
- "dependencies": {
- "lodash.isplainobject": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz",
- "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=",
- "dev": true
- }
- }
- },
- "lodash.omit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-3.1.0.tgz",
- "integrity": "sha1-iX/jguZBPZrJfGH3jtHgV6AK+fM=",
- "dev": true
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true
- },
- "lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true
- },
- "lodash.toplainobject": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz",
- "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=",
- "dev": true
- },
- "lodash.values": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
- "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
- "dev": true,
- "dependencies": {
- "lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true
- }
- }
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
- "loose-envify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
- "dev": true
- },
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true
- },
- "lru-cache": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
- "dev": true
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
- },
- "map-stream": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
- "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
- "dev": true
- },
- "marked": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
- "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=",
- "dev": true
- },
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true
- },
- "minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
- }
- },
- "mocha": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
- "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=",
- "dev": true,
- "dependencies": {
- "commander": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
- "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=",
- "dev": true
- },
- "debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
- "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=",
- "dev": true
- },
- "glob": {
- "version": "3.2.11",
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
- "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
- "dev": true
- },
- "minimatch": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
- "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
- "dev": true
- },
- "supports-color": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",
- "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=",
- "dev": true
- }
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "multimatch": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
- "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
- "dev": true,
- "dependencies": {
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- }
- }
- },
- "multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true
- },
- "mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
- "dev": true
- },
- "nan": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
- "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
- "dev": true,
- "optional": true
- },
- "natives": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
- "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=",
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
- "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=",
- "dev": true
- },
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
- "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
- "dev": true
- },
- "object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "dev": true,
- "dependencies": {
- "for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true
- },
- "isobject": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.0.tgz",
- "integrity": "sha1-OVZSF/NmF4nooKDAgNX35rxG4aA=",
- "dev": true
- }
- }
- },
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
- "dev": true
- },
- "object.pick": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz",
- "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=",
- "dev": true
- },
- "once": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
- "dev": true
- },
- "onetime": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
- "dev": true
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
- "dev": true,
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
- }
- },
- "optionator": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.6.0.tgz",
- "integrity": "sha1-tj7Lvw4xX61LyYJ7Rdx7pFKE/LY=",
- "dev": true
- },
- "orchestrator": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
- "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
- "dev": true
- },
- "ordered-read-streams": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
- "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
- "dev": true
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
- "output-file-sync": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
- "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=",
- "dev": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
- }
- },
- "parse-filepath": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz",
- "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=",
- "dev": true
- },
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
- "dev": true
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true
- },
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
- "dev": true
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
- "dev": true
- },
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true
- },
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
- "dev": true
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true
- },
- "plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
- "dev": true,
- "dependencies": {
- "arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "dev": true
- },
- "array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
- "dev": true
- }
- }
- },
- "plugin-log": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz",
- "integrity": "sha1-hgSc9qsQgzOYqTHzaJy67nteEzM=",
- "dev": true,
- "dependencies": {
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true
- }
- }
- },
- "plur": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
- "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
- "dev": true
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
- "dev": true
- },
- "private": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
- "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "randomatic": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
- "dev": true,
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true
- }
- }
- },
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true
- }
- }
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true
- },
- "readdirp": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "optional": true
- },
- "readable-stream": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
- "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
- "dev": true,
- "optional": true
- },
- "string_decoder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
- "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true,
- "optional": true
- }
- }
- }
- }
- },
- "readline2": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
- "dev": true
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true
- },
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true
- },
- "regenerate": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
- "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=",
- "dev": true
- },
- "regenerator-runtime": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
- "dev": true
- },
- "regenerator-transform": {
- "version": "0.9.11",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz",
- "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=",
- "dev": true
- },
- "regex-cache": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
- "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
- "dev": true
- },
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true
- },
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true
- },
- "remove-trailing-separator": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz",
- "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=",
- "dev": true
- },
- "repeat-element": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
- },
- "require-dir": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/require-dir/-/require-dir-0.1.0.tgz",
- "integrity": "sha1-geAeKZ+vW3TDS2WU+OWt1Zhd3sU=",
- "dev": true
- },
- "requizzle": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
- "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
- "dev": true,
- "dependencies": {
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
- }
- },
- "resolve": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz",
- "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=",
- "dev": true
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "dev": true
- },
- "resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true
- },
- "restore-cursor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
- "dev": true
- },
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "optional": true
- },
- "rimraf": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
- "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
- "dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
- }
- }
- },
- "run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
- "dev": true
- },
- "rx-lite": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz",
- "integrity": "sha512-aSLEDudu6OoRr/2rU609gRmnYboRLxgDG1z9o2Q0os7236FwvcqIOO8r8U5JUEwivZOhDaKlFO4SbPTJYyBEyQ==",
- "dev": true
- },
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
- "dev": true
- },
- "sequencify": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
- "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
- "dev": true
- },
- "set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "dev": true,
- "optional": true
- },
- "shelljs": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
- "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=",
- "dev": true
- },
- "sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
- "dev": true
- },
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true
- },
- "source-map-support": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
- "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
- "dev": true,
- "dependencies": {
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true
- }
- }
- },
- "sparkles": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
- "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
- "dev": true
- },
- "spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
- "dev": true
- },
- "spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "stream-consume": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
- "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=",
- "dev": true
- },
- "streamfilter": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/streamfilter/-/streamfilter-1.0.5.tgz",
- "integrity": "sha1-h1BxEb644phFFxe1Ec/tjwAqv1M=",
- "dev": true,
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
- "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
- "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
- "dev": true,
- "dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true
- }
- }
- }
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true
- },
- "strip-bom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
- "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
- "dev": true
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true
- },
- "strip-json-comments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
- "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
- "dev": true
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "taffydb": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
- "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
- "dev": true
- },
- "temp": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
- "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=",
- "dev": true,
- "dependencies": {
- "rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
- "dev": true
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "dev": true,
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.0.tgz",
- "integrity": "sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz",
- "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=",
- "dev": true,
- "dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
- "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true
- }
- }
- }
- }
- },
- "tildify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
- "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
- "dev": true
- },
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- },
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
- },
- "to-iso-string": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz",
- "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=",
- "dev": true
- },
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
- "dev": true
- },
- "tryit": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
- "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true
- },
- "type-detect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
- "dev": true
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true,
- "optional": true
- }
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
- "unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
- "dev": true
- },
- "underscore": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
- "dev": true
- },
- "underscore-contrib": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
- "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
- "dev": true,
- "dependencies": {
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
- }
- },
- "unique-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
- "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
- "dev": true
- },
- "user-home": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
- "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
- "dev": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "v8flags": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
- "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
- "dev": true
- },
- "vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true
- },
- "vinyl-fs": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
- "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
- "dev": true,
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true
- }
- }
- },
- "which": {
- "version": "1.2.14",
- "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
- "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
- "dev": true
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true,
- "optional": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
- "dev": true
- },
- "xml-escape": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz",
- "integrity": "sha1-AJY9aXsq3wwYXE4E5zF0upsojrI=",
- "dev": true
- },
- "xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true,
- "optional": true
- }
- }
- }
- }
-}
diff --git a/tools/node_modules/eslint/node_modules/esrecurse/package.json b/tools/node_modules/eslint/node_modules/esrecurse/package.json
index c7541fcffc..da415e8be5 100755
--- a/tools/node_modules/eslint/node_modules/esrecurse/package.json
+++ b/tools/node_modules/eslint/node_modules/esrecurse/package.json
@@ -1,8 +1,8 @@
{
"_from": "esrecurse@^4.1.0",
- "_id": "esrecurse@4.2.0",
+ "_id": "esrecurse@4.2.1",
"_inBundle": false,
- "_integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
+ "_integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
"_location": "/eslint/esrecurse",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/eslint-scope"
],
- "_resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
- "_shasum": "fa9568d98d3823f9a41d91e902dcab9ea6e5b163",
+ "_resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "_shasum": "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf",
"_spec": "esrecurse@^4.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-scope",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-scope",
"babel": {
"presets": [
"es2015"
@@ -32,8 +32,7 @@
},
"bundleDependencies": false,
"dependencies": {
- "estraverse": "^4.1.0",
- "object-assign": "^4.0.1"
+ "estraverse": "^4.1.0"
},
"deprecated": false,
"description": "ECMAScript AST recursive visitor",
@@ -55,7 +54,7 @@
"minimist": "^1.1.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4.0"
},
"homepage": "https://github.com/estools/esrecurse",
"license": "BSD-2-Clause",
@@ -77,5 +76,5 @@
"test": "gulp travis",
"unit-test": "gulp test"
},
- "version": "4.2.0"
+ "version": "4.2.1"
}
diff --git a/tools/node_modules/eslint/node_modules/estraverse/package.json b/tools/node_modules/eslint/node_modules/estraverse/package.json
index 40832172ca..953fde272b 100644
--- a/tools/node_modules/eslint/node_modules/estraverse/package.json
+++ b/tools/node_modules/eslint/node_modules/estraverse/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"_shasum": "0dee3fed31fcd469618ce7342099fc1afa0bdb13",
"_spec": "estraverse@^4.1.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-scope",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-scope",
"bugs": {
"url": "https://github.com/estools/estraverse/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/esutils/package.json b/tools/node_modules/eslint/node_modules/esutils/package.json
index 50f66db864..6050334e29 100644
--- a/tools/node_modules/eslint/node_modules/esutils/package.json
+++ b/tools/node_modules/eslint/node_modules/esutils/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"_shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b",
"_spec": "esutils@^2.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"bugs": {
"url": "https://github.com/estools/esutils/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/extend/package.json b/tools/node_modules/eslint/node_modules/extend/package.json
index 6cbb2d9969..1864043083 100644
--- a/tools/node_modules/eslint/node_modules/extend/package.json
+++ b/tools/node_modules/eslint/node_modules/extend/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"_shasum": "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444",
"_spec": "extend@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Stefan Thomas",
"email": "justmoon@members.fsf.org",
diff --git a/tools/node_modules/eslint/node_modules/external-editor/package.json b/tools/node_modules/eslint/node_modules/external-editor/package.json
index 1390438863..27194861c0 100644
--- a/tools/node_modules/eslint/node_modules/external-editor/package.json
+++ b/tools/node_modules/eslint/node_modules/external-editor/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
"_shasum": "3d026a21b7f95b5726387d4200ac160d372c3b48",
"_spec": "external-editor@^2.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Kevin Gravier",
"email": "kevin@mrkmg.com",
diff --git a/tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml b/tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml
deleted file mode 100644
index 14ab1fb978..0000000000
--- a/tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-env:
- node: true
-extends: 'eslint:recommended'
-rules:
- indent: [ 2, 2, { SwitchCase: 1 } ]
- no-trailing-spaces: 2
- quotes: [ 2, single, avoid-escape ]
- linebreak-style: [ 2, unix ]
- semi: [ 2, always ]
- valid-jsdoc: [ 2, { requireReturn: false } ]
- no-invalid-this: 2
- no-unused-vars: [ 2, { args: none } ]
- no-console: [ 2, { allow: [ warn, error ] } ]
- block-scoped-var: 2
- curly: [ 2, multi-or-nest, consistent ]
- dot-location: [ 2, property ]
- dot-notation: 2
- no-else-return: 2
- no-eq-null: 2
- no-fallthrough: 2
- no-return-assign: 2
- strict: [ 2, global ]
- no-use-before-define: [ 2, nofunc ]
- callback-return: 2
- no-path-concat: 2
diff --git a/tools/node_modules/eslint/node_modules/fast-deep-equal/index.d.ts b/tools/node_modules/eslint/node_modules/fast-deep-equal/index.d.ts
new file mode 100644
index 0000000000..3c042caa7d
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/fast-deep-equal/index.d.ts
@@ -0,0 +1,4 @@
+declare module 'fast-deep-equal' {
+ const equal: (a: any, b: any) => boolean;
+ export = equal;
+}
diff --git a/tools/node_modules/eslint/node_modules/fast-deep-equal/index.js b/tools/node_modules/eslint/node_modules/fast-deep-equal/index.js
index a29572d71d..7aaaba3f6c 100644
--- a/tools/node_modules/eslint/node_modules/fast-deep-equal/index.js
+++ b/tools/node_modules/eslint/node_modules/fast-deep-equal/index.js
@@ -1,40 +1,52 @@
'use strict';
+var isArray = Array.isArray;
+var keyList = Object.keys;
+var hasProp = Object.prototype.hasOwnProperty;
+
module.exports = function equal(a, b) {
if (a === b) return true;
- var arrA = Array.isArray(a)
- , arrB = Array.isArray(b)
- , i;
+ var arrA = isArray(a)
+ , arrB = isArray(b)
+ , i
+ , length
+ , key;
if (arrA && arrB) {
- if (a.length != b.length) return false;
- for (i = 0; i < a.length; i++)
+ length = a.length;
+ if (length != b.length) return false;
+ for (i = 0; i < length; i++)
if (!equal(a[i], b[i])) return false;
return true;
}
if (arrA != arrB) return false;
- if (a && b && typeof a === 'object' && typeof b === 'object') {
- var keys = Object.keys(a);
- if (keys.length !== Object.keys(b).length) return false;
+ var dateA = a instanceof Date
+ , dateB = b instanceof Date;
+ if (dateA != dateB) return false;
+ if (dateA && dateB) return a.getTime() == b.getTime();
+
+ var regexpA = a instanceof RegExp
+ , regexpB = b instanceof RegExp;
+ if (regexpA != regexpB) return false;
+ if (regexpA && regexpB) return a.toString() == b.toString();
- var dateA = a instanceof Date
- , dateB = b instanceof Date;
- if (dateA && dateB) return a.getTime() == b.getTime();
- if (dateA != dateB) return false;
+ if (a instanceof Object && b instanceof Object) {
+ var keys = keyList(a);
+ length = keys.length;
- var regexpA = a instanceof RegExp
- , regexpB = b instanceof RegExp;
- if (regexpA && regexpB) return a.toString() == b.toString();
- if (regexpA != regexpB) return false;
+ if (length !== keyList(b).length)
+ return false;
- for (i = 0; i < keys.length; i++)
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
+ for (i = 0; i < length; i++)
+ if (!hasProp.call(b, keys[i])) return false;
- for (i = 0; i < keys.length; i++)
- if(!equal(a[keys[i]], b[keys[i]])) return false;
+ for (i = 0; i < length; i++) {
+ key = keys[i];
+ if (!equal(a[key], b[key])) return false;
+ }
return true;
}
diff --git a/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json b/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json
index bf5d54029d..b1c7ec0b14 100644
--- a/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json
+++ b/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json
@@ -1,8 +1,8 @@
{
"_from": "fast-deep-equal@^1.0.0",
- "_id": "fast-deep-equal@1.0.0",
+ "_id": "fast-deep-equal@1.1.0",
"_inBundle": false,
- "_integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
+ "_integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"_location": "/eslint/fast-deep-equal",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/ajv"
],
- "_resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
- "_shasum": "96256a3bc975595eb36d82e9929d060d893439ff",
+ "_resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "_shasum": "c053477817c86b51daa853c81e059b733d023614",
"_spec": "fast-deep-equal@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
"author": {
"name": "Evgeny Poberezkin"
},
@@ -43,8 +43,13 @@
"nyc": "^11.0.2",
"pre-commit": "^1.2.2",
"shallow-equal-fuzzy": "0.0.2",
+ "typescript": "^2.6.1",
"underscore": "^1.8.3"
},
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
"homepage": "https://github.com/epoberezkin/fast-deep-equal#readme",
"keywords": [
"fast",
@@ -70,9 +75,11 @@
},
"scripts": {
"eslint": "eslint *.js benchmark spec",
- "test": "npm run eslint && npm run test-cov",
+ "test": "npm run eslint && npm run test-ts && npm run test-cov",
"test-cov": "nyc npm run test-spec",
- "test-spec": "mocha spec/*.spec.js -R spec"
+ "test-spec": "mocha spec/*.spec.js -R spec",
+ "test-ts": "tsc --target ES5 --noImplicitAny index.d.ts"
},
- "version": "1.0.0"
+ "types": "index.d.ts",
+ "version": "1.1.0"
}
diff --git a/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json
index f58c051351..df152f1a73 100644
--- a/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json
+++ b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"_shasum": "d5142c0caee6b1189f87d3a76111064f86c8bbf2",
"_spec": "fast-json-stable-stringify@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json b/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json
index b70e1efd11..8f99b9b0f3 100644
--- a/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json
+++ b/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"_shasum": "3d8a5c66883a16a30ca8643e851f19baa7797917",
"_spec": "fast-levenshtein@~2.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
"author": {
"name": "Ramesh Nair",
"email": "ram@hiddentao.com",
diff --git a/tools/node_modules/eslint/node_modules/figures/package.json b/tools/node_modules/eslint/node_modules/figures/package.json
index e84913200a..a176621381 100644
--- a/tools/node_modules/eslint/node_modules/figures/package.json
+++ b/tools/node_modules/eslint/node_modules/figures/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"_shasum": "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962",
"_spec": "figures@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/file-entry-cache/package.json b/tools/node_modules/eslint/node_modules/file-entry-cache/package.json
index d9702a95f4..5534501471 100644
--- a/tools/node_modules/eslint/node_modules/file-entry-cache/package.json
+++ b/tools/node_modules/eslint/node_modules/file-entry-cache/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"_shasum": "c392990c3e684783d838b8c84a45d8a048458361",
"_spec": "file-entry-cache@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Roy Riojas",
"url": "http://royriojas.com"
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/package.json b/tools/node_modules/eslint/node_modules/flat-cache/package.json
index 81a0792809..71273ba92c 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/package.json
+++ b/tools/node_modules/eslint/node_modules/flat-cache/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"_shasum": "d3030b32b38154f4e3b7e9c709f490f7ef97c481",
"_spec": "flat-cache@^1.2.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/file-entry-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/file-entry-cache",
"author": {
"name": "Roy Riojas",
"url": "http://royriojas.com"
diff --git a/tools/node_modules/eslint/node_modules/fs.realpath/package.json b/tools/node_modules/eslint/node_modules/fs.realpath/package.json
index c00157dd89..fce472f61e 100644
--- a/tools/node_modules/eslint/node_modules/fs.realpath/package.json
+++ b/tools/node_modules/eslint/node_modules/fs.realpath/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"_shasum": "1504ad2523158caa40db4a2787cb01411994ea4f",
"_spec": "fs.realpath@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/function-bind/package.json b/tools/node_modules/eslint/node_modules/function-bind/package.json
index be21ad13a1..4527da5ebb 100644
--- a/tools/node_modules/eslint/node_modules/function-bind/package.json
+++ b/tools/node_modules/eslint/node_modules/function-bind/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"_shasum": "a56899d3ea3c9bab874bb9773b7c5ede92f4895d",
"_spec": "function-bind@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/has",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/has",
"author": {
"name": "Raynos",
"email": "raynos2@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json b/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json
index db2e485920..57693e21ac 100644
--- a/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json
+++ b/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"_shasum": "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327",
"_spec": "functional-red-black-tree@^1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Mikola Lysenko"
},
diff --git a/tools/node_modules/eslint/node_modules/glob/package.json b/tools/node_modules/eslint/node_modules/glob/package.json
index 8a43a81388..33cdc54fca 100644
--- a/tools/node_modules/eslint/node_modules/glob/package.json
+++ b/tools/node_modules/eslint/node_modules/glob/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"_shasum": "c19c9df9a028702d678612384a6552404c636d15",
"_spec": "glob@^7.1.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json
index e035233db3..07dbc72819 100644
--- a/tools/node_modules/eslint/node_modules/globals/globals.json
+++ b/tools/node_modules/eslint/node_modules/globals/globals.json
@@ -221,6 +221,8 @@
"WeakSet": false
},
"browser": {
+ "AbortController": false,
+ "AbortSignal": false,
"addEventListener": false,
"alert": false,
"AnalyserNode": false,
@@ -706,13 +708,19 @@
"RTCCertificate": false,
"RTCDataChannel": false,
"RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
"RTCIceCandidate": false,
+ "RTCIceGatherer": false,
+ "RTCIceTransport": false,
"RTCPeerConnection": false,
"RTCPeerConnectionIceEvent": false,
"RTCRtpContributingSource": false,
"RTCRtpReceiver": false,
+ "RTCRtpSender": false,
+ "RTCSctpTransport": false,
"RTCSessionDescription": false,
"RTCStatsReport": false,
+ "RTCTrackEvent": false,
"screen": false,
"Screen": false,
"screenLeft": false,
diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json
index 94d63d3b88..d2cbe83e35 100644
--- a/tools/node_modules/eslint/node_modules/globals/package.json
+++ b/tools/node_modules/eslint/node_modules/globals/package.json
@@ -1,8 +1,8 @@
{
"_from": "globals@^11.0.1",
- "_id": "globals@11.1.0",
+ "_id": "globals@11.3.0",
"_inBundle": false,
- "_integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==",
+ "_integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==",
"_location": "/eslint/globals",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz",
- "_shasum": "632644457f5f0e3ae711807183700ebf2e4633e4",
+ "_resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz",
+ "_shasum": "e04fdb7b9796d8adac9c8f64c14837b2313378b0",
"_spec": "globals@^11.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
@@ -64,7 +64,7 @@
"scripts": {
"test": "xo && ava"
},
- "version": "11.1.0",
+ "version": "11.3.0",
"xo": {
"ignores": [
"get-browser-globals.js"
diff --git a/tools/node_modules/eslint/node_modules/globby/package.json b/tools/node_modules/eslint/node_modules/globby/package.json
index e4633af748..7d089f8ff2 100644
--- a/tools/node_modules/eslint/node_modules/globby/package.json
+++ b/tools/node_modules/eslint/node_modules/globby/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"_shasum": "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d",
"_spec": "globby@^5.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/graceful-fs/package.json b/tools/node_modules/eslint/node_modules/graceful-fs/package.json
index 1f8f282662..139d3220bc 100644
--- a/tools/node_modules/eslint/node_modules/graceful-fs/package.json
+++ b/tools/node_modules/eslint/node_modules/graceful-fs/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658",
"_spec": "graceful-fs@^4.1.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/has-ansi/package.json b/tools/node_modules/eslint/node_modules/has-ansi/package.json
index 2786dfff2b..704a65bdfa 100644
--- a/tools/node_modules/eslint/node_modules/has-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/has-ansi/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
"_spec": "has-ansi@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/has-flag/index.js b/tools/node_modules/eslint/node_modules/has-flag/index.js
index 68820307dc..5139728fba 100644
--- a/tools/node_modules/eslint/node_modules/has-flag/index.js
+++ b/tools/node_modules/eslint/node_modules/has-flag/index.js
@@ -1,10 +1,8 @@
'use strict';
-module.exports = function (flag, argv) {
+module.exports = (flag, argv) => {
argv = argv || process.argv;
-
- var terminatorPos = argv.indexOf('--');
- var prefix = /^-{1,2}/.test(flag) ? '' : '--';
- var pos = argv.indexOf(prefix + flag);
-
+ const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
+ const pos = argv.indexOf(prefix + flag);
+ const terminatorPos = argv.indexOf('--');
return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
};
diff --git a/tools/node_modules/eslint/node_modules/has-flag/license b/tools/node_modules/eslint/node_modules/has-flag/license
index 654d0bfe94..e7af2f7710 100644
--- a/tools/node_modules/eslint/node_modules/has-flag/license
+++ b/tools/node_modules/eslint/node_modules/has-flag/license
@@ -1,21 +1,9 @@
-The MIT License (MIT)
+MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/has-flag/package.json b/tools/node_modules/eslint/node_modules/has-flag/package.json
index e87457226d..cd96779820 100644
--- a/tools/node_modules/eslint/node_modules/has-flag/package.json
+++ b/tools/node_modules/eslint/node_modules/has-flag/package.json
@@ -1,27 +1,27 @@
{
- "_from": "has-flag@^2.0.0",
- "_id": "has-flag@2.0.0",
+ "_from": "has-flag@^3.0.0",
+ "_id": "has-flag@3.0.0",
"_inBundle": false,
- "_integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "_integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"_location": "/eslint/has-flag",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "has-flag@^2.0.0",
+ "raw": "has-flag@^3.0.0",
"name": "has-flag",
"escapedName": "has-flag",
- "rawSpec": "^2.0.0",
+ "rawSpec": "^3.0.0",
"saveSpec": null,
- "fetchSpec": "^2.0.0"
+ "fetchSpec": "^3.0.0"
},
"_requiredBy": [
"/eslint/chalk/supports-color"
],
- "_resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "_shasum": "e8207af1cc7b30d446cc70b734b5e8be18f88d51",
- "_spec": "has-flag@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/chalk/node_modules/supports-color",
+ "_resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "_shasum": "b5d454dc2199ae225699f3467e5a07f3b955bafd",
+ "_spec": "has-flag@^3.0.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk/node_modules/supports-color",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
@@ -38,7 +38,7 @@
"xo": "*"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4"
},
"files": [
"index.js"
@@ -64,23 +64,6 @@
"optimist"
],
"license": "MIT",
- "maintainers": [
- {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- {
- "name": "Joshua Appelman",
- "email": "jappelman@xebia.com",
- "url": "jbnicolai.com"
- },
- {
- "name": "JD Ballard",
- "email": "i.am.qix@gmail.com",
- "url": "github.com/qix-"
- }
- ],
"name": "has-flag",
"repository": {
"type": "git",
@@ -89,5 +72,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "2.0.0"
+ "version": "3.0.0"
}
diff --git a/tools/node_modules/eslint/node_modules/has-flag/readme.md b/tools/node_modules/eslint/node_modules/has-flag/readme.md
index 0caca6cba1..677893c278 100644
--- a/tools/node_modules/eslint/node_modules/has-flag/readme.md
+++ b/tools/node_modules/eslint/node_modules/has-flag/readme.md
@@ -8,7 +8,7 @@ Correctly stops looking after an `--` argument terminator.
## Install
```
-$ npm install --save has-flag
+$ npm install has-flag
```
@@ -24,6 +24,9 @@ hasFlag('unicorn');
hasFlag('--unicorn');
//=> true
+hasFlag('f');
+//=> true
+
hasFlag('-f');
//=> true
@@ -46,7 +49,7 @@ $ node foo.js -f --unicorn --foo=bar -- --rainbow
### hasFlag(flag, [argv])
-Returns a boolean whether the flag exists.
+Returns a boolean for whether the flag exists.
#### flag
@@ -56,7 +59,7 @@ CLI flag to look for. The `--` prefix is optional.
#### argv
-Type: `array`<br>
+Type: `string[]`<br>
Default: `process.argv`
CLI arguments.
diff --git a/tools/node_modules/eslint/node_modules/has/package.json b/tools/node_modules/eslint/node_modules/has/package.json
index bc0fc4e656..1dc7641fea 100644
--- a/tools/node_modules/eslint/node_modules/has/package.json
+++ b/tools/node_modules/eslint/node_modules/has/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"_shasum": "8461733f538b0837c9361e39a9ab9e9704dc2f28",
"_spec": "has@^1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Thiago de Arruda",
"email": "tpadilha84@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/iconv-lite/package.json b/tools/node_modules/eslint/node_modules/iconv-lite/package.json
index 6c9debc87e..e29da0275c 100644
--- a/tools/node_modules/eslint/node_modules/iconv-lite/package.json
+++ b/tools/node_modules/eslint/node_modules/iconv-lite/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
"_shasum": "f7468f60135f5e5dad3399c0a81be9a1603a082b",
"_spec": "iconv-lite@^0.4.17",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/external-editor",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/external-editor",
"author": {
"name": "Alexander Shtuchkin",
"email": "ashtuchkin@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/ignore/package.json b/tools/node_modules/eslint/node_modules/ignore/package.json
index ab09600a13..4369a42cd5 100644
--- a/tools/node_modules/eslint/node_modules/ignore/package.json
+++ b/tools/node_modules/eslint/node_modules/ignore/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
"_shasum": "612289bfb3c220e186a58118618d5be8c1bab021",
"_spec": "ignore@^3.3.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "kael"
},
diff --git a/tools/node_modules/eslint/node_modules/imurmurhash/package.json b/tools/node_modules/eslint/node_modules/imurmurhash/package.json
index e79ad3af17..a26cadb571 100644
--- a/tools/node_modules/eslint/node_modules/imurmurhash/package.json
+++ b/tools/node_modules/eslint/node_modules/imurmurhash/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"_shasum": "9218b9b2b928a238b13dc4fb6b6d576f231453ea",
"_spec": "imurmurhash@^0.1.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Jens Taylor",
"email": "jensyt@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/inflight/package.json b/tools/node_modules/eslint/node_modules/inflight/package.json
index b694276319..3e010604e7 100644
--- a/tools/node_modules/eslint/node_modules/inflight/package.json
+++ b/tools/node_modules/eslint/node_modules/inflight/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"_shasum": "49bd6331d7d02d0c09bc910a1075ba8165b56df9",
"_spec": "inflight@^1.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/inherits/package.json b/tools/node_modules/eslint/node_modules/inherits/package.json
index 492e36071c..32a17b952e 100644
--- a/tools/node_modules/eslint/node_modules/inherits/package.json
+++ b/tools/node_modules/eslint/node_modules/inherits/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"_shasum": "633c2c83e3da42a502f52466022480f4208261de",
"_spec": "inherits@^2.0.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
"browser": "./inherits_browser.js",
"bugs": {
"url": "https://github.com/isaacs/inherits/issues"
diff --git a/tools/node_modules/eslint/node_modules/inquirer/package.json b/tools/node_modules/eslint/node_modules/inquirer/package.json
index 85e1c5db9a..d3959f7b47 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/package.json
+++ b/tools/node_modules/eslint/node_modules/inquirer/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
"_shasum": "9dd2f2ad765dcab1ff0443b491442a20ba227dc9",
"_spec": "inquirer@^3.0.6",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Simon Boudrias",
"email": "admin@simonboudrias.com"
diff --git a/tools/node_modules/eslint/node_modules/is-alphabetical/package.json b/tools/node_modules/eslint/node_modules/is-alphabetical/package.json
index ead3456182..2c7811526a 100644
--- a/tools/node_modules/eslint/node_modules/is-alphabetical/package.json
+++ b/tools/node_modules/eslint/node_modules/is-alphabetical/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
"_shasum": "c77079cc91d4efac775be1034bf2d243f95e6f08",
"_spec": "is-alphabetical@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json b/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json
index ec5543928d..aafc45e797 100644
--- a/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json
+++ b/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
"_shasum": "dfb4aa4d1085e33bdb61c2dee9c80e9c6c19f53b",
"_spec": "is-alphanumerical@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-buffer/package.json b/tools/node_modules/eslint/node_modules/is-buffer/package.json
index 486f0f3561..4c39698bf0 100644
--- a/tools/node_modules/eslint/node_modules/is-buffer/package.json
+++ b/tools/node_modules/eslint/node_modules/is-buffer/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"_shasum": "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be",
"_spec": "is-buffer@^1.1.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
"author": {
"name": "Feross Aboukhadijeh",
"email": "feross@feross.org",
diff --git a/tools/node_modules/eslint/node_modules/is-decimal/package.json b/tools/node_modules/eslint/node_modules/is-decimal/package.json
index e54fb2bd64..fb2988848f 100644
--- a/tools/node_modules/eslint/node_modules/is-decimal/package.json
+++ b/tools/node_modules/eslint/node_modules/is-decimal/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
"_shasum": "f5fb6a94996ad9e8e3761fbfbd091f1fca8c4e82",
"_spec": "is-decimal@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json
index a31caa4aa6..7dcb7ef2e4 100644
--- a/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json
+++ b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"_shasum": "a3b30a5c4f199183167aaab93beefae3ddfb654f",
"_spec": "is-fullwidth-code-point@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/string-width",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/string-width",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json b/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json
index a35d019f2a..d8a2111a3a 100644
--- a/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json
+++ b/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
"_shasum": "6e084bbc92061fbb0971ec58b6ce6d404e24da69",
"_spec": "is-hexadecimal@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
index 5884d76388..95bceb56fa 100644
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
+++ b/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"_shasum": "d225ec23132e89edd38fda767472e62e65f1106d",
"_spec": "is-path-cwd@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
index 2d9fe0bd18..30d072a2ab 100644
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
+++ b/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
"_shasum": "6477582b8214d602346094567003be8a9eac04dc",
"_spec": "is-path-in-cwd@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/package.json b/tools/node_modules/eslint/node_modules/is-path-inside/package.json
index e425d70b26..38a121e709 100644
--- a/tools/node_modules/eslint/node_modules/is-path-inside/package.json
+++ b/tools/node_modules/eslint/node_modules/is-path-inside/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"_shasum": "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036",
"_spec": "is-path-inside@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/is-path-in-cwd",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/is-path-in-cwd",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint/node_modules/is-plain-obj/package.json
index 5cf7aabd23..07b22ed34d 100644
--- a/tools/node_modules/eslint/node_modules/is-plain-obj/package.json
+++ b/tools/node_modules/eslint/node_modules/is-plain-obj/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"_shasum": "71a50c8429dfca773c92a390a4a03b39fcd51d3e",
"_spec": "is-plain-obj@^1.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-promise/package.json b/tools/node_modules/eslint/node_modules/is-promise/package.json
index 787020d516..f3b5559a8d 100644
--- a/tools/node_modules/eslint/node_modules/is-promise/package.json
+++ b/tools/node_modules/eslint/node_modules/is-promise/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"_shasum": "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa",
"_spec": "is-promise@^2.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/run-async",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/run-async",
"author": {
"name": "ForbesLindesay"
},
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE b/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
index 3b7a1903cb..b291242ea6 100644
--- a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
+++ b/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
@@ -1,20 +1,6 @@
-The MIT License (MIT)
+ISC License (ISC)
+Copyright 2018 Shinnosuke Watanabe
-Copyright (c) 2014 - 2016 Shinnosuke Watanabe
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/README.md b/tools/node_modules/eslint/node_modules/is-resolvable/README.md
index 20d9918e8d..613c9ba91a 100644
--- a/tools/node_modules/eslint/node_modules/is-resolvable/README.md
+++ b/tools/node_modules/eslint/node_modules/is-resolvable/README.md
@@ -1,13 +1,11 @@
# is-resolvable
-[![NPM version](https://img.shields.io/npm/v/is-resolvable.svg)](https://www.npmjs.com/package/is-resolvable)
+[![npm version](https://img.shields.io/npm/v/is-resolvable.svg)](https://www.npmjs.com/package/is-resolvable)
[![Build Status](https://travis-ci.org/shinnn/is-resolvable.svg?branch=master)](https://travis-ci.org/shinnn/is-resolvable)
[![Build status](https://ci.appveyor.com/api/projects/status/ww1cdpignehlasbs?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/is-resolvable)
[![Coverage Status](https://img.shields.io/coveralls/shinnn/is-resolvable.svg)](https://coveralls.io/r/shinnn/is-resolvable)
-[![Dependency Status](https://david-dm.org/shinnn/is-resolvable.svg)](https://david-dm.org/shinnn/is-resolvable)
-[![devDependency Status](https://david-dm.org/shinnn/is-resolvable/dev-status.svg)](https://david-dm.org/shinnn/is-resolvable#info=devDependencies)
-A [Node](https://nodejs.org/) module to check if a module ID is resolvable with [`require()`](https://nodejs.org/api/globals.html#globals_require)
+A [Node.js](https://nodejs.org/) module to check if a given module ID is resolvable with [`require()`](https://nodejs.org/api/globals.html#globals_require)
```javascript
const isResolvable = require('is-resolvable');
@@ -15,7 +13,7 @@ const isResolvable = require('is-resolvable');
isResolvable('fs'); //=> true
isResolvable('path'); //=> true
-// When `./index.js` exists
+// When ./index.js exists
isResolvable('./index.js') //=> true
isResolvable('./index') //=> true
isResolvable('.') //=> true
@@ -23,7 +21,7 @@ isResolvable('.') //=> true
## Installation
-[Use npm.](https://docs.npmjs.com/cli/install)
+[Use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/getting-started/what-is-npm).
```
npm install is-resolvable
@@ -35,34 +33,41 @@ npm install is-resolvable
const isResolvable = require('is-resolvable');
```
-### isResolvable(*moduleId*)
+### isResolvable(*moduleId* [, *options*])
-*moduleId*: `String` (module ID)
-Return: `Boolean`
+*moduleId*: `string` (module ID)
+*options*: `Object` ([`require.resolve`](https://nodejs.org/api/modules.html#modules_require_resolve_request_options) options)
+Return: `boolean`
It returns `true` if `require()` can load a file form a given module ID, otherwise `false`.
```javascript
const isResolvable = require('is-resolvable');
-// When `./foo.json` exists
+// When ./foo.json exists
isResolvable('./foo.json'); //=> true
isResolvable('./foo'); //=> true
isResolvable('./foo.js'); //=> false
+// When `eslint` module is installed but `jshint` isn't
+isResolvable('eslint'); //=> true
+isResolvable('jshint'); //=> false
-// When `lodash` module is installed but `underscore` isn't
-isResolvable('lodash'); //=> true
-isResolvable('underscore'); //=> false
+// When `lodash` module is installed
+isResolvable('lodash/isObject'); //=> true
+isResolvable('lodash/fp/reject.js'); //=> true
+```
+
+The second argument accepts an options object for `require.resolve()`.
-// When `readable-stream` module is installed
-isResolvable('readable-stream/readable'); //=> true
-isResolvable('readable-stream/writable'); //=> true
+```javascript
+// When ./bar/baz.js exists
+
+isResolvable('./baz.js'); //=> false
+isResolvable('./baz.js', {paths: ['bar']}); //=> true
```
## License
-Copyright (c) 2014 - 2016 [Shinnosuke Watanabe](https://github.com/shinnn)
-
-Licensed under [the MIT License](./LICENSE).
+[ISC License](./LICENSE) Ā© 2018 Shinnosuke Watanabe
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/index.js b/tools/node_modules/eslint/node_modules/is-resolvable/index.js
index a70dfbf0e5..1be95c0258 100644
--- a/tools/node_modules/eslint/node_modules/is-resolvable/index.js
+++ b/tools/node_modules/eslint/node_modules/is-resolvable/index.js
@@ -2,15 +2,15 @@
var inspect = require('util').inspect;
-module.exports = function isResolvable(moduleId) {
- if (typeof moduleId !== 'string') {
- throw new TypeError(inspect(moduleId) + ' is not a string. Expected a valid Node.js module identifier (<string>), for example \'eslint\', \'./index.js\', \'./lib\'.');
- }
+module.exports = function isResolvable(moduleId, options) {
+ if (typeof moduleId !== 'string') {
+ throw new TypeError(inspect(moduleId) + ' is not a string. Expected a valid Node.js module identifier (<string>), for example \'eslint\', \'./index.js\', \'./lib\'.');
+ }
- try {
- require.resolve(moduleId);
- return true;
- } catch (err) {
- return false;
- }
+ try {
+ require.resolve(moduleId, options);
+ return true;
+ } catch (err) {
+ return false;
+ }
};
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/package.json b/tools/node_modules/eslint/node_modules/is-resolvable/package.json
index cd7d6ebeca..fc1eaa71de 100644
--- a/tools/node_modules/eslint/node_modules/is-resolvable/package.json
+++ b/tools/node_modules/eslint/node_modules/is-resolvable/package.json
@@ -1,8 +1,8 @@
{
"_from": "is-resolvable@^1.0.0",
- "_id": "is-resolvable@1.0.1",
+ "_id": "is-resolvable@1.1.0",
"_inBundle": false,
- "_integrity": "sha512-y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g==",
+ "_integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
"_location": "/eslint/is-resolvable",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz",
- "_shasum": "acca1cd36dbe44b974b924321555a70ba03b1cf4",
+ "_resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "_shasum": "fb18f87ce1feb925169c9a407c19318a3206ed88",
"_spec": "is-resolvable@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Shinnosuke Watanabe",
"url": "https://github.com/shinnn"
@@ -33,15 +33,16 @@
"deprecated": false,
"description": "Check if a module ID is resolvable with require()",
"devDependencies": {
- "@shinnn/eslint-config-node": "^4.0.2",
- "eslint": "^4.11.0",
+ "@shinnn/eslint-config-node": "^5.0.0",
+ "eslint": "^4.16.0",
"istanbul": "^0.4.5",
"tape": "^4.8.0"
},
"eslintConfig": {
"extends": "@shinnn/node",
"rules": {
- "no-var": "off"
+ "no-var": "off",
+ "prefer-template": "off"
}
},
"files": [
@@ -56,7 +57,7 @@
"check",
"module"
],
- "license": "MIT",
+ "license": "ISC",
"name": "is-resolvable",
"repository": {
"type": "git",
@@ -67,5 +68,5 @@
"pretest": "eslint --fix --format=codeframe index.js test.js",
"test": "node --throw-deprecation --track-heap-objects test.js"
},
- "version": "1.0.1"
+ "version": "1.1.0"
}
diff --git a/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json
index 217c04e1d5..5639b3bd42 100644
--- a/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json
+++ b/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
"_shasum": "9ae0176f3282b65457a1992cdb084f8a5f833e3b",
"_spec": "is-whitespace-character@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/is-word-character/package.json b/tools/node_modules/eslint/node_modules/is-word-character/package.json
index f2cd24288b..944d0712df 100644
--- a/tools/node_modules/eslint/node_modules/is-word-character/package.json
+++ b/tools/node_modules/eslint/node_modules/is-word-character/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
"_shasum": "5a03fa1ea91ace8a6eb0c7cd770eb86d65c8befb",
"_spec": "is-word-character@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/isarray/package.json b/tools/node_modules/eslint/node_modules/isarray/package.json
index fa09e869fb..7ea4f5e7cc 100644
--- a/tools/node_modules/eslint/node_modules/isarray/package.json
+++ b/tools/node_modules/eslint/node_modules/isarray/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"_shasum": "bb935d48582cba168c06834957a54a3e07124f11",
"_spec": "isarray@~1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"author": {
"name": "Julian Gruber",
"email": "mail@juliangruber.com",
diff --git a/tools/node_modules/eslint/node_modules/isexe/package.json b/tools/node_modules/eslint/node_modules/isexe/package.json
index e130376860..9e235ec160 100644
--- a/tools/node_modules/eslint/node_modules/isexe/package.json
+++ b/tools/node_modules/eslint/node_modules/isexe/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"_shasum": "e8fbf374dc556ff8947a10dcb0572d633f2cfa10",
"_spec": "isexe@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/which",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/which",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/js-tokens/package.json b/tools/node_modules/eslint/node_modules/js-tokens/package.json
index 4cac067f81..9a5befc4e5 100644
--- a/tools/node_modules/eslint/node_modules/js-tokens/package.json
+++ b/tools/node_modules/eslint/node_modules/js-tokens/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"_shasum": "9866df395102130e38f7f996bceb65443209c25b",
"_spec": "js-tokens@^3.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame",
"author": {
"name": "Simon Lydell"
},
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/README.md b/tools/node_modules/eslint/node_modules/js-yaml/README.md
index cf73ebdf87..c165c3576a 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/README.md
+++ b/tools/node_modules/eslint/node_modules/js-yaml/README.md
@@ -186,7 +186,7 @@ options:
The following table show availlable styles (e.g. "canonical",
"binary"...) available for each tag (.e.g. !!null, !!int ...). Yaml
-ouput is shown on the right side after `=>` (default setting) or `->`:
+output is shown on the right side after `=>` (default setting) or `->`:
``` none
!!null
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
index 8e28b85786..df93be39d1 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
@@ -1,4 +1,4 @@
-/* js-yaml 3.10.0 https://github.com/nodeca/js-yaml */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jsyaml = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/* js-yaml 3.11.0 https://github.com/nodeca/js-yaml */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jsyaml = f()}})(function(){var define,module,exports;return (function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}return e})()({1:[function(require,module,exports){
'use strict';
@@ -3395,10 +3395,11 @@ module.exports = new Type('tag:yaml.org,2002:int', {
construct: constructYamlInteger,
predicate: isInteger,
represent: {
- binary: function (object) { return '0b' + object.toString(2); },
- octal: function (object) { return '0' + object.toString(8); },
- decimal: function (object) { return object.toString(10); },
- hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); }
+ binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },
+ octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },
+ decimal: function (obj) { return obj.toString(10); },
+ /* eslint-disable max-len */
+ hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }
},
defaultStyle: 'decimal',
styleAliases: {
@@ -3442,7 +3443,8 @@ function resolveJavascriptFunction(data) {
if (ast.type !== 'Program' ||
ast.body.length !== 1 ||
ast.body[0].type !== 'ExpressionStatement' ||
- ast.body[0].expression.type !== 'FunctionExpression') {
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
+ ast.body[0].expression.type !== 'FunctionExpression')) {
return false;
}
@@ -3463,7 +3465,8 @@ function constructJavascriptFunction(data) {
if (ast.type !== 'Program' ||
ast.body.length !== 1 ||
ast.body[0].type !== 'ExpressionStatement' ||
- ast.body[0].expression.type !== 'FunctionExpression') {
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
+ ast.body[0].expression.type !== 'FunctionExpression')) {
throw new Error('Failed to resolve function');
}
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
index 5d748b0d78..7ca018420d 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
@@ -1 +1 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).jsyaml=e()}}(function(){return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return r(n||e)},l,l.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(e,t,n){"use strict";function i(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var r=e("./js-yaml/loader"),o=e("./js-yaml/dumper");t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=o.dump,t.exports.safeDump=o.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=i("scan"),t.exports.parse=i("parse"),t.exports.compose=i("compose"),t.exports.addConstructor=i("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return void 0===e||null===e}t.exports.isNothing=i,t.exports.isObject=function(e){return"object"==typeof e&&null!==e},t.exports.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.exports.repeat=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},t.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},t.exports.extend=function(e,t){var n,i,r,o;if(t)for(n=0,i=(o=Object.keys(t)).length;n<i;n+=1)e[r=o[n]]=t[r];return e}},{}],3:[function(e,t,n){"use strict";function i(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},r=0,o=(i=Object.keys(t)).length;r<o;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&T.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}function r(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else{if(!(e<=4294967295))throw new F("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+E.repeat("0",i-t.length)+t}function o(e){this.schema=e.schema||_,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=E.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=i(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function a(e,t){for(var n,i=E.repeat(" ",t),r=0,o=-1,a="",s=e.length;r<s;)-1===(o=e.indexOf("\n",r))?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function s(e,t){return"\n"+E.repeat(" ",e.indent*t)}function c(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n<i;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}function u(e){return e===U||e===L}function l(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function p(e){return l(e)&&65279!==e&&e!==$&&e!==J&&e!==Q&&e!==ee&&e!==ne&&e!==G&&e!==R}function f(e){return l(e)&&65279!==e&&!u(e)&&e!==H&&e!==Z&&e!==G&&e!==$&&e!==J&&e!==Q&&e!==ee&&e!==ne&&e!==R&&e!==W&&e!==K&&e!==q&&e!==te&&e!==V&&e!==B&&e!==Y&&e!==P&&e!==z&&e!==X}function d(e,t,n,i,r){var o,a,s=!1,c=!1,d=-1!==i,h=-1,m=f(e.charCodeAt(0))&&!u(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(a=e.charCodeAt(o),!l(a))return ue;m=m&&p(a)}else{for(o=0;o<e.length;o++){if((a=e.charCodeAt(o))===D)s=!0,d&&(c=c||o-h-1>i&&" "!==e[h+1],h=o);else if(!l(a))return ue;m=m&&p(a)}c=c||d&&o-h-1>i&&" "!==e[h+1]}return s||c?" "===e[0]&&n>9?ue:c?ce:se:m&&!r(e)?oe:ae}function h(e,t,n,i){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==re.indexOf(t))return"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=i||e.flowLevel>-1&&n>=e.flowLevel;switch(d(t,s,e.indent,o,function(t){return c(e,t)})){case oe:return t;case ae:return"'"+t.replace(/'/g,"''")+"'";case se:return"|"+m(t,e.indent)+g(a(t,r));case ce:return">"+m(t,e.indent)+g(a(y(t,o),r));case ue:return'"'+v(t)+'"';default:throw new F("impossible error: invalid scalar style")}}()}function m(e,t){var n=" "===e[0]?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function g(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function y(e,t){for(var n,i,r=/(\n+)([^\n]*)/g,o=function(){var n=e.indexOf("\n");return n=-1!==n?n:e.length,r.lastIndex=n,x(e.slice(0,n),t)}(),a="\n"===e[0]||" "===e[0];i=r.exec(e);){var s=i[1],c=i[2];n=" "===c[0],o+=s+(a||n||""===c?"":"\n")+x(c,t),a=n}return o}function x(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,c="";n=r.exec(e);)(s=n.index)-o>t&&(i=a>o?a:s,c+="\n"+e.slice(o,i),o=i+1),a=s;return c+="\n",e.length-o>t&&a>o?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function v(e){for(var t,n,i,o="",a=0;a<e.length;a++)(t=e.charCodeAt(a))>=55296&&t<=56319&&(n=e.charCodeAt(a+1))>=56320&&n<=57343?(o+=r(1024*(t-55296)+n-56320+65536),a++):o+=!(i=ie[t])&&l(t)?e[a]:i||r(t);return o}function A(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;i<r;i+=1)j(e,t,n[i],!1,!1)&&(0!==i&&(o+=","+(e.condenseFlow?"":" ")),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function b(e,t,n,i){var r,o,a="",c=e.tag;for(r=0,o=n.length;r<o;r+=1)j(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=s(e,t)),e.dump&&D===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=c,e.dump=a||"[]"}function w(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;i<r;i+=1)s=e.condenseFlow?'"':"",0!==i&&(s+=", "),a=n[o=l[i]],j(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),j(e,t,a,!1,!1)&&(c+=s+=e.dump));e.tag=u,e.dump="{"+c+"}"}function C(e,t,n,i){var r,o,a,c,u,l,p="",f=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new F("sortKeys must be a boolean or a function");for(r=0,o=d.length;r<o;r+=1)l="",i&&0===r||(l+=s(e,t)),c=n[a=d[r]],j(e,t+1,a,!0,!0,!0)&&((u=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&D===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,u&&(l+=s(e,t)),j(e,t+1,c,!0,u)&&(e.dump&&D===e.dump.charCodeAt(0)?l+=":":l+=": ",p+=l+=e.dump));e.tag=f,e.dump=p||"{}"}function k(e,t,n){var i,r,o,a,s,c;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o<a;o+=1)if(((s=r[o]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===M.call(s.represent))i=s.represent(t,c);else{if(!T.call(s.represent,c))throw new F("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function j(e,t,n,i,r,o){e.tag=null,e.dump=n,k(e,n,!1)||k(e,n,!0);var a=M.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(c=-1!==(s=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&t>0)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(C(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(w(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(b(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(A(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new F("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&h(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function I(e,t){var n,i,r=[],o=[];for(S(e,r,o),n=0,i=o.length;n<i;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function S(e,t,n){var i,r,o;if(null!==e&&"object"==typeof e)if(-1!==(r=t.indexOf(e)))-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,o=e.length;r<o;r+=1)S(e[r],t,n);else for(r=0,o=(i=Object.keys(e)).length;r<o;r+=1)S(e[i[r]],t,n)}function O(e,t){var n=new o(t=t||{});return n.noRefs||I(e,n),j(n,0,e,!0,!0)?n.dump+"\n":""}var E=e("./common"),F=e("./exception"),_=e("./schema/default_full"),N=e("./schema/default_safe"),M=Object.prototype.toString,T=Object.prototype.hasOwnProperty,L=9,D=10,U=32,q=33,Y=34,R=35,P=37,W=38,B=39,K=42,$=44,H=45,G=58,V=62,Z=63,z=64,J=91,Q=93,X=96,ee=123,te=124,ne=125,ie={};ie[0]="\\0",ie[7]="\\a",ie[8]="\\b",ie[9]="\\t",ie[10]="\\n",ie[11]="\\v",ie[12]="\\f",ie[13]="\\r",ie[27]="\\e",ie[34]='\\"',ie[92]="\\\\",ie[133]="\\N",ie[160]="\\_",ie[8232]="\\L",ie[8233]="\\P";var re=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],oe=1,ae=2,se=3,ce=4,ue=5;t.exports.dump=O,t.exports.safeDump=function(e,t){return O(e,E.extend({schema:N},t))}},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}(i.prototype=Object.create(Error.prototype)).constructor=i,i.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";function i(e){return 10===e||13===e}function r(e){return 9===e||32===e}function o(e){return 9===e||32===e||10===e||13===e}function a(e){return 44===e||91===e||93===e||123===e||125===e}function s(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function c(e){return 120===e?2:117===e?4:85===e?8:0}function u(e){return 48<=e&&e<=57?e-48:-1}function l(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"Ā…":95===e?"Ā ":76===e?"\u2028":80===e?"\u2029":""}function p(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function f(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||W,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function d(e,t){return new Y(t,new R(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function h(e,t){throw d(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,d(e,t))}function g(e,t,n,i){var r,o,a,s;if(t<n){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;r<o;r+=1)9===(a=s.charCodeAt(r))||32<=a&&a<=1114111||h(e,"expected valid JSON character");else J.test(s)&&h(e,"the stream contains non-printable characters");e.result+=s}}function y(e,t,n,i){var r,o,a,s;for(q.isObject(n)||h(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,s=(r=Object.keys(n)).length;a<s;a+=1)o=r[a],B.call(t,o)||(t[o]=n[o],i[o]=!0)}function x(e,t,n,i,r,o,a,s){var c,u;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(c=0,u=o.length;c<u;c+=1)y(e,t,o[c],n);else y(e,t,o,n);else e.json||B.call(n,r)||!B.call(t,r)||(e.line=a||e.line,e.position=s||e.position,h(e,"duplicated mapping key")),t[r]=o,delete n[r];return t}function v(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):h(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function A(e,t,n){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;r(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do{a=e.input.charCodeAt(++e.position)}while(10!==a&&13!==a&&0!==a);if(!i(a))break;for(v(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==n&&0!==o&&e.lineIndent<n&&m(e,"deficient indentation"),o}function b(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!o(t)))}function w(e,t){1===t?e.result+=" ":t>1&&(e.result+=q.repeat("\n",t-1))}function C(e,t,n){var s,c,u,l,p,f,d,h,m,y=e.kind,x=e.result;if(m=e.input.charCodeAt(e.position),o(m)||a(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c)))return!1;for(e.kind="scalar",e.result="",u=l=e.position,p=!1;0!==m;){if(58===m){if(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c))break}else if(35===m){if(s=e.input.charCodeAt(e.position-1),o(s))break}else{if(e.position===e.lineStart&&b(e)||n&&a(m))break;if(i(m)){if(f=e.line,d=e.lineStart,h=e.lineIndent,A(e,!1,-1),e.lineIndent>=t){p=!0,m=e.input.charCodeAt(e.position);continue}e.position=l,e.line=f,e.lineStart=d,e.lineIndent=h;break}}p&&(g(e,u,l,!1),w(e,e.line-f),u=l=e.position,p=!1),r(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return g(e,u,l,!1),!!e.result||(e.kind=y,e.result=x,!1)}function k(e,t){var n,r,o;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(g(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,o=e.position}else i(n)?(g(e,r,o,!0),w(e,A(e,!1,t)),r=o=e.position):e.position===e.lineStart&&b(e)?h(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);h(e,"unexpected end of the stream within a single quoted scalar")}function j(e,t){var n,r,o,a,u,l;if(34!==(l=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(l=e.input.charCodeAt(e.position));){if(34===l)return g(e,n,e.position,!0),e.position++,!0;if(92===l){if(g(e,n,e.position,!0),l=e.input.charCodeAt(++e.position),i(l))A(e,!1,t);else if(l<256&&ne[l])e.result+=ie[l],e.position++;else if((u=c(l))>0){for(o=u,a=0;o>0;o--)(u=s(l=e.input.charCodeAt(++e.position)))>=0?a=(a<<4)+u:h(e,"expected hexadecimal character");e.result+=p(a),e.position++}else h(e,"unknown escape sequence");n=r=e.position}else i(l)?(g(e,n,r,!0),w(e,A(e,!1,t)),n=r=e.position):e.position===e.lineStart&&b(e)?h(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}h(e,"unexpected end of the stream within a double quoted scalar")}function I(e,t){var n,i,r,a,s,c,u,l,p,f,d=!0,m=e.tag,g=e.anchor,y={};if(91===(f=e.input.charCodeAt(e.position)))r=93,c=!1,i=[];else{if(123!==f)return!1;r=125,c=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),f=e.input.charCodeAt(++e.position);0!==f;){if(A(e,!0,t),(f=e.input.charCodeAt(e.position))===r)return e.position++,e.tag=m,e.anchor=g,e.kind=c?"mapping":"sequence",e.result=i,!0;d||h(e,"missed comma between flow collection entries"),l=u=p=null,a=s=!1,63===f&&o(e.input.charCodeAt(e.position+1))&&(a=s=!0,e.position++,A(e,!0,t)),n=e.line,M(e,t,K,!1,!0),l=e.tag,u=e.result,A(e,!0,t),f=e.input.charCodeAt(e.position),!s&&e.line!==n||58!==f||(a=!0,f=e.input.charCodeAt(++e.position),A(e,!0,t),M(e,t,K,!1,!0),p=e.result),c?x(e,i,y,l,u,p):a?i.push(x(e,null,y,l,u,p)):i.push(u),A(e,!0,t),44===(f=e.input.charCodeAt(e.position))?(d=!0,f=e.input.charCodeAt(++e.position)):d=!1}h(e,"unexpected end of the stream within a flow collection")}function S(e,t){var n,o,a,s,c=V,l=!1,p=!1,f=t,d=0,m=!1;if(124===(s=e.input.charCodeAt(e.position)))o=!1;else{if(62!==s)return!1;o=!0}for(e.kind="scalar",e.result="";0!==s;)if(43===(s=e.input.charCodeAt(++e.position))||45===s)V===c?c=43===s?z:Z:h(e,"repeat of a chomping mode identifier");else{if(!((a=u(s))>=0))break;0===a?h(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?h(e,"repeat of an indentation width identifier"):(f=t+a-1,p=!0)}if(r(s)){do{s=e.input.charCodeAt(++e.position)}while(r(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!i(s)&&0!==s)}for(;0!==s;){for(v(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!p||e.lineIndent<f)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>f&&(f=e.lineIndent),i(s))d++;else{if(e.lineIndent<f){c===z?e.result+=q.repeat("\n",l?1+d:d):c===V&&l&&(e.result+="\n");break}for(o?r(s)?(m=!0,e.result+=q.repeat("\n",l?1+d:d)):m?(m=!1,e.result+=q.repeat("\n",d+1)):0===d?l&&(e.result+=" "):e.result+=q.repeat("\n",d):e.result+=q.repeat("\n",l?1+d:d),l=!0,p=!0,d=0,n=e.position;!i(s)&&0!==s;)s=e.input.charCodeAt(++e.position);g(e,n,e.position,!1)}}return!0}function O(e,t){var n,i,r,a=e.tag,s=e.anchor,c=[],u=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),r=e.input.charCodeAt(e.position);0!==r&&45===r&&(i=e.input.charCodeAt(e.position+1),o(i));)if(u=!0,e.position++,A(e,!0,-1)&&e.lineIndent<=t)c.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,M(e,t,H,!1,!0),c.push(e.result),A(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)h(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!u&&(e.tag=a,e.anchor=s,e.kind="sequence",e.result=c,!0)}function E(e,t,n){var i,a,s,c,u,l=e.tag,p=e.anchor,f={},d={},m=null,g=null,y=null,v=!1,b=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=f),u=e.input.charCodeAt(e.position);0!==u;){if(i=e.input.charCodeAt(e.position+1),s=e.line,c=e.position,63!==u&&58!==u||!o(i)){if(!M(e,n,$,!1,!0))break;if(e.line===s){for(u=e.input.charCodeAt(e.position);r(u);)u=e.input.charCodeAt(++e.position);if(58===u)o(u=e.input.charCodeAt(++e.position))||h(e,"a whitespace character is expected after the key-value separator within a block mapping"),v&&(x(e,f,d,m,g,null),m=g=y=null),b=!0,v=!1,a=!1,m=e.tag,g=e.result;else{if(!b)return e.tag=l,e.anchor=p,!0;h(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=l,e.anchor=p,!0;h(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===u?(v&&(x(e,f,d,m,g,null),m=g=y=null),b=!0,v=!0,a=!0):v?(v=!1,a=!0):h(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,u=i;if((e.line===s||e.lineIndent>t)&&(M(e,t,G,!0,a)&&(v?g=e.result:y=e.result),v||(x(e,f,d,m,g,y,s,c),m=g=y=null),A(e,!0,-1),u=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==u)h(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return v&&x(e,f,d,m,g,null),b&&(e.tag=l,e.anchor=p,e.kind="mapping",e.result=f),b}function F(e){var t,n,i,r,a=!1,s=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&h(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(a=!0,r=e.input.charCodeAt(++e.position)):33===r?(s=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,a){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&62!==r);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):h(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!o(r);)33===r&&(s?h(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),ee.test(n)||h(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),X.test(i)&&h(e,"tag suffix cannot contain flow indicator characters")}return i&&!te.test(i)&&h(e,"tag name cannot contain such characters: "+i),a?e.tag=i:B.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:h(e,'undeclared tag handle "'+n+'"'),!0}function _(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&h(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!o(n)&&!a(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&h(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function N(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!o(i)&&!a(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&h(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||h(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],A(e,!0,-1),!0}function M(e,t,n,i,r){var o,a,s,c,u,l,p,f,d=1,m=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=G===n||H===n,i&&A(e,!0,-1)&&(m=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;F(e)||_(e);)A(e,!0,-1)?(m=!0,s=o,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):s=!1;if(s&&(s=m||r),1!==d&&G!==n||(p=K===n||$===n?t:t+1,f=e.position-e.lineStart,1===d?s&&(O(e,f)||E(e,f,p))||I(e,p)?g=!0:(a&&S(e,p)||k(e,p)||j(e,p)?g=!0:N(e)?(g=!0,null===e.tag&&null===e.anchor||h(e,"alias node should not have any properties")):C(e,p,K===n)&&(g=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===d&&(g=s&&O(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;c<u;c+=1)if((l=e.implicitTypes[c]).resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else B.call(e.typeMap[e.kind||"fallback"],e.tag)?(l=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&l.kind!==e.kind&&h(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):h(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):h(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||g}function T(e){var t,n,a,s,c=e.position,u=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(A(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(u=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&h(e,"directive name must not be less than one character in length");0!==s;){for(;r(s);)s=e.input.charCodeAt(++e.position);if(35===s){do{s=e.input.charCodeAt(++e.position)}while(0!==s&&!i(s));break}if(i(s))break;for(t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&v(e),B.call(oe,n)?oe[n](e,n,a):m(e,'unknown document directive "'+n+'"')}A(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,A(e,!0,-1)):u&&h(e,"directives end mark is expected"),M(e,e.lineIndent-1,G,!1,!0),A(e,!0,-1),e.checkLineBreaks&&Q.test(e.input.slice(c,e.position))&&m(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&b(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,A(e,!0,-1)):e.position<e.length-1&&h(e,"end of the stream or a document separator is expected")}function L(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new f(e,t);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)T(n);return n.documents}function D(e,t,n){var i,r,o=L(e,n);if("function"!=typeof t)return o;for(i=0,r=o.length;i<r;i+=1)t(o[i])}function U(e,t){var n=L(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new Y("expected a single document in the stream, but found more")}}for(var q=e("./common"),Y=e("./exception"),R=e("./mark"),P=e("./schema/default_safe"),W=e("./schema/default_full"),B=Object.prototype.hasOwnProperty,K=1,$=2,H=3,G=4,V=1,Z=2,z=3,J=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Q=/[\x85\u2028\u2029]/,X=/[,\[\]\{\}]/,ee=/^(?:!|!!|![a-z\-]+!)$/i,te=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,ne=new Array(256),ie=new Array(256),re=0;re<256;re++)ne[re]=l(re)?1:0,ie[re]=l(re);var oe={YAML:function(e,t,n){var i,r,o;null!==e.version&&h(e,"duplication of %YAML directive"),1!==n.length&&h(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&h(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&h(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&m(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&h(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],ee.test(i)||h(e,"ill-formed tag handle (first argument) of the TAG directive"),B.call(e.tagMap,i)&&h(e,'there is a previously declared suffix for "'+i+'" tag handle'),te.test(r)||h(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};t.exports.loadAll=D,t.exports.load=U,t.exports.safeLoadAll=function(e,t,n){if("function"!=typeof t)return D(e,q.extend({schema:P},n));D(e,t,q.extend({schema:P},n))},t.exports.safeLoad=function(e,t){return U(e,q.extend({schema:P},t))}},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}var r=e("./common");i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\0\r\nĀ…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\0\r\nĀ…\u2028\u2029".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";function i(e,t,n){var r=[];return e.include.forEach(function(e){n=i(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&t.kind===e.kind&&r.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===r.indexOf(t)})}function r(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(function(e){n[e.kind][e.tag]=n.fallback[e.tag]=e});return n}function o(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new s("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=r(this.compiledImplicit,this.compiledExplicit)}var a=e("./common"),s=e("./exception"),c=e("./type");o.DEFAULT=null,o.create=function(){var e,t;switch(arguments.length){case 1:e=o.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new s("Wrong number of arguments for Schema.create function")}if(e=a.toArray(e),t=a.toArray(t),!e.every(function(e){return e instanceof o}))throw new s("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof c}))throw new s("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new o({include:e,explicit:t})},t.exports=o},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";function i(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}var r=e("./exception"),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=function(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===o.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=i(t.styleAliases||null),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},{"./exception":4}],14:[function(e,t,n){"use strict";var i;try{i=e("buffer").Buffer}catch(e){}var r=e("../type"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new r("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length,a=o;for(n=0;n<r;n++)if(!((t=a.indexOf(e.charAt(n)))>64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),a=r.length,s=o,c=0,u=[];for(t=0;t<a;t++)t%4==0&&t&&(u.push(c>>16&255),u.push(c>>8&255),u.push(255&c)),c=c<<6|s.indexOf(r.charAt(t));return 0==(n=a%4*6)?(u.push(c>>16&255),u.push(c>>8&255),u.push(255&c)):18===n?(u.push(c>>10&255),u.push(c>>2&255)):12===n&&u.push(c>>4&255),i?i.from?i.from(u):new i(u):u},predicate:function(e){return i&&i.isBuffer(e)},represent:function(e){var t,n,i="",r=0,a=e.length,s=o;for(t=0;t<a;t++)t%3==0&&t&&(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},{"../type":13}],15:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type"),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return t=e.replace(/_/g,"").toLowerCase(),n="-"===t[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";function i(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function r(e){return 48<=e&&e<=55}function o(e){return 48<=e&&e<=57}var a=e("../common"),s=e("../type");t.exports=new s("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n=e.length,a=0,s=!1;if(!n)return!1;if("-"!==(t=e[a])&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===n)return!0;if("b"===(t=e[++a])){for(a++;a<n;a++)if("_"!==(t=e[a])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(a++;a<n;a++)if("_"!==(t=e[a])){if(!i(e.charCodeAt(a)))return!1;s=!0}return s&&"_"!==t}for(;a<n;a++)if("_"!==(t=e[a])){if(!r(e.charCodeAt(a)))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;a<n;a++)if("_"!==(t=e[a])){if(":"===t)break;if(!o(e.charCodeAt(a)))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(a)))},construct:function(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),"-"!==(t=i[0])&&"+"!==t||("-"===t&&(r=-1),t=(i=i.slice(1))[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!a.isNegativeZero(e)},represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";var i;try{i=e("esprima")}catch(e){"undefined"!=typeof window&&(i=window.esprima)}var r=e("../../type");t.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=i.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(e){return!1}},construct:function(e){var t,n="("+e+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(e){o.push(e.name)}),t=r.body[0].expression.body.range,new Function(o,n.slice(t[0]+1,t[1]-1))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},{"../../type":13}],19:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},{"../../type":13}],20:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},{"../type":13}],23:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,s,c=[],u=e;for(t=0,n=u.length;t<n;t+=1){if(i=u[t],s=!1,"[object Object]"!==o.call(i))return!1;for(a in i)if(r.call(i,a)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==c.indexOf(a))return!1;c.push(a)}return!0},construct:function(e){return null!==e?e:[]}})},{"../type":13}],25:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,o,a,s=e;for(a=new Array(s.length),t=0,n=s.length;t<n;t+=1){if(i=s[t],"[object Object]"!==r.call(i))return!1;if(1!==(o=Object.keys(i)).length)return!1;a[t]=[o[0],i[o[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.hasOwnProperty;t.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(r.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";var i=e("../type"),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==r.exec(e)||null!==o.exec(e))},construct:function(e){var t,n,i,a,s,c,u,l,p=0,f=null;if(null===(t=r.exec(e))&&(t=o.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,i,a));if(s=+t[4],c=+t[5],u=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),l=new Date(Date.UTC(n,i,a,s,c,u,p)),f&&l.setTime(l.getTime()-f),l},instanceOf:Date,represent:function(e){return e.toISOString()}})},{"../type":13}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).jsyaml=e()}}(function(){return function o(a,s,c){function u(n,e){if(!s[n]){if(!a[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(l)return l(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[n]={exports:{}};a[n][0].call(r.exports,function(e){var t=a[n][1][e];return u(t||e)},r,r.exports,o,a,s,c)}return s[n].exports}for(var l="function"==typeof require&&require,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,n){"use strict";var i=e("./js-yaml/loader"),r=e("./js-yaml/dumper");function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return null==e}t.exports.isNothing=i,t.exports.isObject=function(e){return"object"==typeof e&&null!==e},t.exports.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.exports.repeat=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},t.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},t.exports.extend=function(e,t){var n,i,r,o;if(t)for(n=0,i=(o=Object.keys(t)).length;n<i;n+=1)e[r=o[n]]=t[r];return e}},{}],3:[function(e,t,n){"use strict";var c=e("./common"),d=e("./exception"),i=e("./schema/default_full"),r=e("./schema/default_safe"),l=Object.prototype.toString,u=Object.prototype.hasOwnProperty,o=9,h=10,a=32,m=33,g=34,y=35,x=37,v=38,A=39,b=42,w=44,C=45,k=58,j=62,S=63,I=64,E=91,O=93,F=96,_=123,N=124,M=125,s={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},p=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function f(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else{if(!(e<=4294967295))throw new d("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+c.repeat("0",i-t.length)+t}function T(e){this.schema=e.schema||i,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=c.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},r=0,o=(i=Object.keys(t)).length;r<o;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&u.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function L(e,t){for(var n,i=c.repeat(" ",t),r=0,o=-1,a="",s=e.length;r<s;)-1===(o=e.indexOf("\n",r))?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function D(e,t){return"\n"+c.repeat(" ",e.indent*t)}function U(e){return e===a||e===o}function q(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function Y(e){return q(e)&&65279!==e&&e!==w&&e!==E&&e!==O&&e!==_&&e!==M&&e!==k&&e!==y}var R=1,P=2,W=3,B=4,K=5;function $(e,t,n,i,r){var o,a,s,c=!1,u=!1,l=-1!==i,p=-1,f=q(s=e.charCodeAt(0))&&65279!==s&&!U(s)&&s!==C&&s!==S&&s!==k&&s!==w&&s!==E&&s!==O&&s!==_&&s!==M&&s!==y&&s!==v&&s!==b&&s!==m&&s!==N&&s!==j&&s!==A&&s!==g&&s!==x&&s!==I&&s!==F&&!U(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(!q(a=e.charCodeAt(o)))return K;f=f&&Y(a)}else{for(o=0;o<e.length;o++){if((a=e.charCodeAt(o))===h)c=!0,l&&(u=u||i<o-p-1&&" "!==e[p+1],p=o);else if(!q(a))return K;f=f&&Y(a)}u=u||l&&i<o-p-1&&" "!==e[p+1]}return c||u?" "===e[0]&&9<n?K:u?B:W:f&&!r(e)?R:P}function H(i,r,o,a){i.dump=function(){if(0===r.length)return"''";if(!i.noCompatMode&&-1!==p.indexOf(r))return"'"+r+"'";var e=i.indent*Math.max(1,o),t=-1===i.lineWidth?-1:Math.max(Math.min(i.lineWidth,40),i.lineWidth-e),n=a||-1<i.flowLevel&&o>=i.flowLevel;switch($(r,n,i.indent,t,function(e){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n<i;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(i,e)})){case R:return r;case P:return"'"+r.replace(/'/g,"''")+"'";case W:return"|"+G(r,i.indent)+V(L(r,e));case B:return">"+G(r,i.indent)+V(L(function(e,t){var n,i,r=/(\n+)([^\n]*)/g,o=(s=e.indexOf("\n"),s=-1!==s?s:e.length,r.lastIndex=s,Z(e.slice(0,s),t)),a="\n"===e[0]||" "===e[0];var s;for(;i=r.exec(e);){var c=i[1],u=i[2];n=" "===u[0],o+=c+(a||n||""===u?"":"\n")+Z(u,t),a=n}return o}(r,t),e));case K:return'"'+function(e){for(var t,n,i,r="",o=0;o<e.length;o++)55296<=(t=e.charCodeAt(o))&&t<=56319&&56320<=(n=e.charCodeAt(o+1))&&n<=57343?(r+=f(1024*(t-55296)+n-56320+65536),o++):(i=s[t],r+=!i&&q(t)?e[o]:i||f(t));return r}(r)+'"';default:throw new d("impossible error: invalid scalar style")}}()}function G(e,t){var n=" "===e[0]?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function V(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Z(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,c="";n=r.exec(e);)t<(s=n.index)-o&&(i=o<a?a:s,c+="\n"+e.slice(o,i),o=i+1),a=s;return c+="\n",e.length-o>t&&o<a?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function z(e,t,n){var i,r,o,a,s,c;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o<a;o+=1)if(((s=r[o]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===l.call(s.represent))i=s.represent(t,c);else{if(!u.call(s.represent,c))throw new d("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function J(e,t,n,i,r,o){e.tag=null,e.dump=n,z(e,n,!1)||z(e,n,!0);var a=l.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(c=-1!==(s=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&0<t)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var r,o,a,s,c,u,l="",p=e.tag,f=Object.keys(n);if(!0===e.sortKeys)f.sort();else if("function"==typeof e.sortKeys)f.sort(e.sortKeys);else if(e.sortKeys)throw new d("sortKeys must be a boolean or a function");for(r=0,o=f.length;r<o;r+=1)u="",i&&0===r||(u+=D(e,t)),s=n[a=f[r]],J(e,t+1,a,!0,!0,!0)&&((c=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&h===e.dump.charCodeAt(0)?u+="?":u+="? "),u+=e.dump,c&&(u+=D(e,t)),J(e,t+1,s,!0,c)&&(e.dump&&h===e.dump.charCodeAt(0)?u+=":":u+=": ",l+=u+=e.dump));e.tag=p,e.dump=l||"{}"}(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;i<r;i+=1)s=e.condenseFlow?'"':"",0!==i&&(s+=", "),a=n[o=l[i]],J(e,t,o,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),J(e,t,a,!1,!1)&&(c+=s+=e.dump));e.tag=u,e.dump="{"+c+"}"}(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(!function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r<o;r+=1)J(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=D(e,t)),e.dump&&h===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=s,e.dump=a||"[]"}(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;i<r;i+=1)J(e,t,n[i],!1,!1)&&(0!==i&&(o+=","+(e.condenseFlow?"":" ")),o+=e.dump);e.tag=a,e.dump="["+o+"]"}(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new d("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&H(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function Q(e,t){var n,i,r=[],o=[];for(function e(t,n,i){var r,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===i.indexOf(o)&&i.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,i);else for(r=Object.keys(t),o=0,a=r.length;o<a;o+=1)e(t[r[o]],n,i)}(e,r,o),n=0,i=o.length;n<i;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function X(e,t){var n=new T(t=t||{});return n.noRefs||Q(e,n),J(n,0,e,!0,!0)?n.dump+"\n":""}t.exports.dump=X,t.exports.safeDump=function(e,t){return X(e,c.extend({schema:r},t))}},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}((i.prototype=Object.create(Error.prototype)).constructor=i).prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";var g=e("./common"),i=e("./exception"),r=e("./mark"),o=e("./schema/default_safe"),a=e("./schema/default_full"),y=Object.prototype.hasOwnProperty,x=1,v=2,A=3,b=4,w=1,C=2,k=3,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,s=/[\x85\u2028\u2029]/,u=/[,\[\]\{\}]/,l=/^(?:!|!!|![a-z\-]+!)$/i,p=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function j(e){return 10===e||13===e}function S(e){return 9===e||32===e}function I(e){return 9===e||32===e||10===e||13===e}function E(e){return 44===e||91===e||93===e||123===e||125===e}function f(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"Ā…":95===e?"Ā ":76===e?"\u2028":80===e?"\u2029":""}for(var O=new Array(256),F=new Array(256),d=0;d<256;d++)O[d]=f(d)?1:0,F[d]=f(d);function h(e,t){return new i(t,new r(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw h(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,h(e,t))}var N={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&m(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],l.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),y.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),p.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function M(e,t,n,i){var r,o,a,s;if(t<n){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;r<o;r+=1)9===(a=s.charCodeAt(r))||32<=a&&a<=1114111||_(e,"expected valid JSON character");else c.test(s)&&_(e,"the stream contains non-printable characters");e.result+=s}}function T(e,t,n,i){var r,o,a,s;for(g.isObject(n)||_(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,s=(r=Object.keys(n)).length;a<s;a+=1)o=r[a],y.call(t,o)||(t[o]=n[o],i[o]=!0)}function L(e,t,n,i,r,o,a,s){var c,u;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(c=0,u=o.length;c<u;c+=1)T(e,t,o[c],n);else T(e,t,o,n);else e.json||y.call(n,r)||!y.call(t,r)||(e.line=a||e.line,e.position=s||e.position,_(e,"duplicated mapping key")),t[r]=o,delete n[r];return t}function D(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):_(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function U(e,t,n){for(var i=0,r=e.input.charCodeAt(e.position);0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!j(r))break;for(D(e),r=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&m(e,"deficient indentation"),i}function q(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!I(t)))}function Y(e,t){1===t?e.result+=" ":1<t&&(e.result+=g.repeat("\n",t-1))}function R(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&I(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,U(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,B(e,t,A,!1,!0),a.push(e.result),U(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=r,e.anchor=o,e.kind="sequence",e.result=a,!0)}function P(e){var t,n,i,r,o=!1,a=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&_(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(o=!0,r=e.input.charCodeAt(++e.position)):33===r?(a=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){for(;0!==(r=e.input.charCodeAt(++e.position))&&62!==r;);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):_(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!I(r);)33===r&&(a?_(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),l.test(n)||_(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),u.test(i)&&_(e,"tag suffix cannot contain flow indicator characters")}return i&&!p.test(i)&&_(e,"tag name cannot contain such characters: "+i),o?e.tag=i:y.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:_(e,'undeclared tag handle "'+n+'"'),!0}function W(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&_(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!I(n)&&!E(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function B(e,t,n,i,r){var o,a,s,c,u,l,p,f,d=1,h=!1,m=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=b===n||A===n,i&&U(e,!0,-1)&&(h=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;P(e)||W(e);)U(e,!0,-1)?(h=!0,s=o,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):s=!1;if(s&&(s=h||r),1!==d&&b!==n||(p=x===n||v===n?t:t+1,f=e.position-e.lineStart,1===d?s&&(R(e,f)||function(e,t,n){var i,r,o,a,s,c=e.tag,u=e.anchor,l={},p={},f=null,d=null,h=null,m=!1,g=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);0!==s;){if(i=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!I(i)){if(!B(e,n,v,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);S(s);)s=e.input.charCodeAt(++e.position);if(58===s)I(s=e.input.charCodeAt(++e.position))||_(e,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(L(e,l,p,f,d,null),f=d=h=null),g=!0,r=m=!1,f=e.tag,d=e.result;else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(m&&(L(e,l,p,f,d,null),f=d=h=null),r=m=g=!0):m?(m=!1,r=!0):_(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=i;if((e.line===o||e.lineIndent>t)&&(B(e,t,b,!0,r)&&(m?d=e.result:h=e.result),m||(L(e,l,p,f,d,h,o,a),f=d=h=null),U(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return m&&L(e,l,p,f,d,null),g&&(e.tag=c,e.anchor=u,e.kind="mapping",e.result=l),g}(e,f,p))||function(e,t){var n,i,r,o,a,s,c,u,l,p,f=!0,d=e.tag,h=e.anchor,m={};if(91===(p=e.input.charCodeAt(e.position)))r=93,s=!1,i=[];else{if(123!==p)return!1;r=125,s=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),p=e.input.charCodeAt(++e.position);0!==p;){if(U(e,!0,t),(p=e.input.charCodeAt(e.position))===r)return e.position++,e.tag=d,e.anchor=h,e.kind=s?"mapping":"sequence",e.result=i,!0;f||_(e,"missed comma between flow collection entries"),l=null,o=a=!1,63===p&&I(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,U(e,!0,t)),n=e.line,B(e,t,x,!1,!0),u=e.tag,c=e.result,U(e,!0,t),p=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==p||(o=!0,p=e.input.charCodeAt(++e.position),U(e,!0,t),B(e,t,x,!1,!0),l=e.result),s?L(e,i,m,u,c,l):o?i.push(L(e,null,m,u,c,l)):i.push(c),U(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(f=!0,p=e.input.charCodeAt(++e.position)):f=!1}_(e,"unexpected end of the stream within a flow collection")}(e,p)?m=!0:(a&&function(e,t){var n,i,r,o,a,s=w,c=!1,u=!1,l=t,p=0,f=!1;if(124===(o=e.input.charCodeAt(e.position)))i=!1;else{if(62!==o)return!1;i=!0}for(e.kind="scalar",e.result="";0!==o;)if(43===(o=e.input.charCodeAt(++e.position))||45===o)w===s?s=43===o?k:C:_(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=48<=(a=o)&&a<=57?a-48:-1)))break;0===r?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?_(e,"repeat of an indentation width identifier"):(l=t+r-1,u=!0)}if(S(o)){for(;S(o=e.input.charCodeAt(++e.position)););if(35===o)for(;!j(o=e.input.charCodeAt(++e.position))&&0!==o;);}for(;0!==o;){for(D(e),e.lineIndent=0,o=e.input.charCodeAt(e.position);(!u||e.lineIndent<l)&&32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>l&&(l=e.lineIndent),j(o))p++;else{if(e.lineIndent<l){s===k?e.result+=g.repeat("\n",c?1+p:p):s===w&&c&&(e.result+="\n");break}for(i?S(o)?(f=!0,e.result+=g.repeat("\n",c?1+p:p)):f?(f=!1,e.result+=g.repeat("\n",p+1)):0===p?c&&(e.result+=" "):e.result+=g.repeat("\n",p):e.result+=g.repeat("\n",c?1+p:p),u=c=!0,p=0,n=e.position;!j(o)&&0!==o;)o=e.input.charCodeAt(++e.position);M(e,n,e.position,!1)}}return!0}(e,p)||function(e,t){var n,i,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(M(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,r=e.position}else j(n)?(M(e,i,r,!0),Y(e,U(e,!1,t)),i=r=e.position):e.position===e.lineStart&&q(e)?_(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);_(e,"unexpected end of the stream within a single quoted scalar")}(e,p)||function(e,t){var n,i,r,o,a,s,c,u,l,p;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return M(e,n,e.position,!0),e.position++,!0;if(92===s){if(M(e,n,e.position,!0),j(s=e.input.charCodeAt(++e.position)))U(e,!1,t);else if(s<256&&O[s])e.result+=F[s],e.position++;else if(0<(a=120===(p=s)?2:117===p?4:85===p?8:0)){for(r=a,o=0;0<r;r--)s=e.input.charCodeAt(++e.position),l=void 0,0<=(a=48<=(u=s)&&u<=57?u-48:97<=(l=32|u)&&l<=102?l-97+10:-1)?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=(c=o)<=65535?String.fromCharCode(c):String.fromCharCode(55296+(c-65536>>10),56320+(c-65536&1023)),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else j(s)?(M(e,n,i,!0),Y(e,U(e,!1,t)),n=i=e.position):e.position===e.lineStart&&q(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,p)?m=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!I(i)&&!E(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],U(e,!0,-1),!0}(e)?function(e,t,n){var i,r,o,a,s,c,u,l,p=e.kind,f=e.result;if(I(l=e.input.charCodeAt(e.position))||E(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(I(i=e.input.charCodeAt(e.position+1))||n&&E(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==l;){if(58===l){if(I(i=e.input.charCodeAt(e.position+1))||n&&E(i))break}else if(35===l){if(I(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&q(e)||n&&E(l))break;if(j(l)){if(s=e.line,c=e.lineStart,u=e.lineIndent,U(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=c,e.lineIndent=u;break}}a&&(M(e,r,o,!1),Y(e,e.line-s),r=o=e.position,a=!1),S(l)||(o=e.position+1),l=e.input.charCodeAt(++e.position)}return M(e,r,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,p,x===n)&&(m=!0,null===e.tag&&(e.tag="?")):(m=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===d&&(m=s&&R(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;c<u;c+=1)if((l=e.implicitTypes[c]).resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else y.call(e.typeMap[e.kind||"fallback"],e.tag)?(l=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&l.kind!==e.kind&&_(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||m}function K(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(U(e,!0,-1),r=e.input.charCodeAt(e.position),!(0<e.lineIndent||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!I(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(35===r){for(;0!==(r=e.input.charCodeAt(++e.position))&&!j(r););break}if(j(r))break;for(t=e.position;0!==r&&!I(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&D(e),y.call(N,n)?N[n](e,n,i):m(e,'unknown document directive "'+n+'"')}U(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,U(e,!0,-1)):a&&_(e,"directives end mark is expected"),B(e,e.lineIndent-1,b,!1,!0),U(e,!0,-1),e.checkLineBreaks&&s.test(e.input.slice(o,e.position))&&m(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&q(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,U(e,!0,-1)):e.position<e.length-1&&_(e,"end of the stream or a document separator is expected")}function $(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new function(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||a,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}(e,t);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)K(n);return n.documents}function H(e,t,n){var i,r,o=$(e,n);if("function"!=typeof t)return o;for(i=0,r=o.length;i<r;i+=1)t(o[i])}function G(e,t){var n=$(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}t.exports.loadAll=H,t.exports.load=G,t.exports.safeLoadAll=function(e,t,n){if("function"!=typeof t)return H(e,g.extend({schema:o},n));H(e,t,g.extend({schema:o},n))},t.exports.safeLoad=function(e,t){return G(e,g.extend({schema:o},t))}},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";var s=e("./common");function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}i.prototype.getSnippet=function(e,t){var n,i,r,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;0<i&&-1==="\0\r\nĀ…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(r="",o=this.position;o<this.buffer.length&&-1==="\0\r\nĀ…\u2028\u2029".indexOf(this.buffer.charAt(o));)if((o+=1)-this.position>t/2-1){r=" ... ",o-=5;break}return a=this.buffer.slice(i,o),s.repeat(" ",e)+n+a+r+"\n"+s.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";var i=e("./common"),r=e("./exception"),o=e("./type");function a(e,t,i){var r=[];return e.include.forEach(function(e){i=a(e,t,i)}),e[t].forEach(function(n){i.forEach(function(e,t){e.tag===n.tag&&e.kind===n.kind&&r.push(t)}),i.push(n)}),i.filter(function(e,t){return-1===r.indexOf(t)})}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var e,t;switch(arguments.length){case 1:e=s.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new r("Wrong number of arguments for Schema.create function")}if(e=i.toArray(e),t=i.toArray(t),!e.every(function(e){return e instanceof s}))throw new r("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof o}))throw new r("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new s({include:e,explicit:t})},t.exports=s},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";var r=e("./exception"),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=function(t,e){var n,i;if(e=e||{},Object.keys(e).forEach(function(e){if(-1===o.indexOf(e))throw new r('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,i={},null!==n&&Object.keys(n).forEach(function(t){n[t].forEach(function(e){i[String(e)]=t})}),i),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},{"./exception":4}],14:[function(e,t,n){"use strict";var c;try{c=e("buffer").Buffer}catch(e){}var i=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;n<r;n++)if(!(64<(t=o.indexOf(e.charAt(n))))){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,a=0,s=[];for(t=0;t<r;t++)t%4==0&&t&&(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return 0==(n=r%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===n?(s.push(a>>10&255),s.push(a>>2&255)):12===n&&s.push(a>>4&255),c?c.from?c.from(s):new c(s):s},predicate:function(e){return c&&c.isBuffer(e)},represent:function(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;t<o;t++)t%3==0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return 0==(n=o%3)?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}})},{"../type":13}],15:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type"),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type");t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,o=e.length,a=0,s=!1;if(!o)return!1;if("-"!==(t=e[a])&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===o)return!0;if("b"===(t=e[++a])){for(a++;a<o;a++)if("_"!==(t=e[a])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(a++;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(i=e.charCodeAt(a))&&i<=57||65<=i&&i<=70||97<=i&&i<=102))return!1;s=!0}return s&&"_"!==t}for(;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(n=e.charCodeAt(a))&&n<=55))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;a<o;a++)if("_"!==(t=e[a])){if(":"===t)break;if(!(48<=(r=e.charCodeAt(a))&&r<=57))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(a)))},construct:function(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),"-"!==(t=i[0])&&"+"!==t||("-"===t&&(r=-1),t=(i=i.slice(1))[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!i.isNegativeZero(e)},represent:{binary:function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return 0<=e?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";var o;try{o=e("esprima")}catch(e){"undefined"!=typeof window&&(o=window.esprima)}var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=o.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",i=o.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"ArrowFunctionExpression"!==i.body[0].expression.type&&"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,new Function(r,n.slice(t[0]+1,t[1]-1))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},{"../../type":13}],19:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),3<i.length)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},{"../../type":13}],20:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},{"../type":13}],23:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";var i=e("../type"),c=Object.prototype.hasOwnProperty,u=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=[],s=e;for(t=0,n=s.length;t<n;t+=1){if(i=s[t],o=!1,"[object Object]"!==u.call(i))return!1;for(r in i)if(c.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==a.indexOf(r))return!1;a.push(r)}return!0},construct:function(e){return null!==e?e:[]}})},{"../type":13}],25:[function(e,t,n){"use strict";var i=e("../type"),s=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1){if(i=a[t],"[object Object]"!==s.call(i))return!1;if(1!==(r=Object.keys(i)).length)return!1;o[t]=[r[0],i[r[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.hasOwnProperty;t.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(r.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";var i=e("../type"),p=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),f=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==p.exec(e)||null!==f.exec(e))},construct:function(e){var t,n,i,r,o,a,s,c,u=0,l=null;if(null===(t=p.exec(e))&&(t=f.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(l=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(l=-l)),c=new Date(Date.UTC(n,i,r,o,a,s,u)),l&&c.setTime(c.getTime()-l),c},instanceOf:Date,represent:function(e){return e.toISOString()}})},{"../type":13}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js
index 4ae522a5a0..ba61c5f958 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js
@@ -157,10 +157,11 @@ module.exports = new Type('tag:yaml.org,2002:int', {
construct: constructYamlInteger,
predicate: isInteger,
represent: {
- binary: function (object) { return '0b' + object.toString(2); },
- octal: function (object) { return '0' + object.toString(8); },
- decimal: function (object) { return object.toString(10); },
- hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); }
+ binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },
+ octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },
+ decimal: function (obj) { return obj.toString(10); },
+ /* eslint-disable max-len */
+ hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }
},
defaultStyle: 'decimal',
styleAliases: {
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js
index c6a42d0022..ba2dfd45b6 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js
@@ -30,7 +30,8 @@ function resolveJavascriptFunction(data) {
if (ast.type !== 'Program' ||
ast.body.length !== 1 ||
ast.body[0].type !== 'ExpressionStatement' ||
- ast.body[0].expression.type !== 'FunctionExpression') {
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
+ ast.body[0].expression.type !== 'FunctionExpression')) {
return false;
}
@@ -51,7 +52,8 @@ function constructJavascriptFunction(data) {
if (ast.type !== 'Program' ||
ast.body.length !== 1 ||
ast.body[0].type !== 'ExpressionStatement' ||
- ast.body[0].expression.type !== 'FunctionExpression') {
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
+ ast.body[0].expression.type !== 'FunctionExpression')) {
throw new Error('Failed to resolve function');
}
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/package.json b/tools/node_modules/eslint/node_modules/js-yaml/package.json
index 9d136dcc33..409db0fb7c 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/package.json
+++ b/tools/node_modules/eslint/node_modules/js-yaml/package.json
@@ -1,8 +1,8 @@
{
"_from": "js-yaml@^3.9.1",
- "_id": "js-yaml@3.10.0",
+ "_id": "js-yaml@3.11.0",
"_inBundle": false,
- "_integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
+ "_integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
"_location": "/eslint/js-yaml",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "_shasum": "2e78441646bd4682e963f22b6e92823c309c62dc",
+ "_resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
+ "_shasum": "597c1a8bd57152f26d622ce4117851a51f5ebaef",
"_spec": "js-yaml@^3.9.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Vladimir Zapparov",
"email": "dervus.grim@gmail.com"
@@ -88,5 +88,5 @@
"scripts": {
"test": "make test"
},
- "version": "3.10.0"
+ "version": "3.11.0"
}
diff --git a/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json b/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json
index 56aa1834d4..33c5983551 100644
--- a/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json
+++ b/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"_shasum": "349a6d44c53a51de89b40805c5d5e59b417d3340",
"_spec": "json-schema-traverse@^0.3.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
"author": {
"name": "Evgeny Poberezkin"
},
diff --git a/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json
index 870e55105b..f7d3ad3079 100644
--- a/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json
+++ b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"_shasum": "9db7b59496ad3f3cfef30a75142d2d930ad72651",
"_spec": "json-stable-stringify-without-jsonify@^1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/levn/package.json b/tools/node_modules/eslint/node_modules/levn/package.json
index 86f0894c62..dce4672c15 100644
--- a/tools/node_modules/eslint/node_modules/levn/package.json
+++ b/tools/node_modules/eslint/node_modules/levn/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"_shasum": "3b09924edf9f083c0490fdd4c0bc4421e04764ee",
"_spec": "levn@^0.3.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "George Zahariev",
"email": "z@georgezahariev.com"
diff --git a/tools/node_modules/eslint/node_modules/lodash/README.md b/tools/node_modules/eslint/node_modules/lodash/README.md
index acdd128cd7..da3bcc1b0b 100644
--- a/tools/node_modules/eslint/node_modules/lodash/README.md
+++ b/tools/node_modules/eslint/node_modules/lodash/README.md
@@ -1,4 +1,4 @@
-# lodash v4.17.4
+# lodash v4.17.5
The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules.
@@ -28,12 +28,12 @@ var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
```
-See the [package source](https://github.com/lodash/lodash/tree/4.17.4-npm) for more details.
+See the [package source](https://github.com/lodash/lodash/tree/4.17.5-npm) for more details.
**Note:**<br>
Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL.
## Support
-Tested in Chrome 54-55, Firefox 49-50, IE 11, Edge 14, Safari 9-10, Node.js 6-7, & PhantomJS 2.1.1.<br>
+Tested in Chrome 63-64, Firefox 57-58, IE 11, Edge 14, Safari 10-11, Node.js 4-9, & PhantomJS 2.1.1.<br>
Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available.
diff --git a/tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js b/tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js
deleted file mode 100644
index 5a69212160..0000000000
--- a/tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Adds the key-value `pair` to `map`.
- *
- * @private
- * @param {Object} map The map to modify.
- * @param {Array} pair The key-value pair to add.
- * @returns {Object} Returns `map`.
- */
-function addMapEntry(map, pair) {
- // Don't return `map.set` because it's not chainable in IE 11.
- map.set(pair[0], pair[1]);
- return map;
-}
-
-module.exports = addMapEntry;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js b/tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js
deleted file mode 100644
index 1a07b708ac..0000000000
--- a/tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Adds `value` to `set`.
- *
- * @private
- * @param {Object} set The set to modify.
- * @param {*} value The value to add.
- * @returns {Object} Returns `set`.
- */
-function addSetEntry(set, value) {
- // Don't return `set.add` because it's not chainable in IE 11.
- set.add(value);
- return set;
-}
-
-module.exports = addSetEntry;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_baseClone.js b/tools/node_modules/eslint/node_modules/lodash/_baseClone.js
index 7c27a37d32..6f73684f2a 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_baseClone.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_baseClone.js
@@ -15,7 +15,9 @@ var Stack = require('./_Stack'),
initCloneObject = require('./_initCloneObject'),
isArray = require('./isArray'),
isBuffer = require('./isBuffer'),
+ isMap = require('./isMap'),
isObject = require('./isObject'),
+ isSet = require('./isSet'),
keys = require('./keys');
/** Used to compose bitmasks for cloning. */
@@ -123,7 +125,7 @@ function baseClone(value, bitmask, customizer, key, object, stack) {
if (!cloneableTags[tag]) {
return object ? value : {};
}
- result = initCloneByTag(value, tag, baseClone, isDeep);
+ result = initCloneByTag(value, tag, isDeep);
}
}
// Check for circular references and return its corresponding clone.
@@ -134,6 +136,22 @@ function baseClone(value, bitmask, customizer, key, object, stack) {
}
stack.set(value, result);
+ if (isSet(value)) {
+ value.forEach(function(subValue) {
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
+ });
+
+ return result;
+ }
+
+ if (isMap(value)) {
+ value.forEach(function(subValue, key) {
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
+ });
+
+ return result;
+ }
+
var keysFunc = isFull
? (isFlat ? getAllKeysIn : getAllKeys)
: (isFlat ? keysIn : keys);
diff --git a/tools/node_modules/eslint/node_modules/lodash/_baseMerge.js b/tools/node_modules/eslint/node_modules/lodash/_baseMerge.js
index f4cb8c6988..c5868f04c5 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_baseMerge.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_baseMerge.js
@@ -3,7 +3,8 @@ var Stack = require('./_Stack'),
baseFor = require('./_baseFor'),
baseMergeDeep = require('./_baseMergeDeep'),
isObject = require('./isObject'),
- keysIn = require('./keysIn');
+ keysIn = require('./keysIn'),
+ safeGet = require('./_safeGet');
/**
* The base implementation of `_.merge` without support for multiple sources.
@@ -27,7 +28,7 @@ function baseMerge(object, source, srcIndex, customizer, stack) {
}
else {
var newValue = customizer
- ? customizer(object[key], srcValue, (key + ''), object, source, stack)
+ ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
: undefined;
if (newValue === undefined) {
diff --git a/tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js b/tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js
index 42b405a3dc..2ed7283eac 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js
@@ -11,6 +11,7 @@ var assignMergeValue = require('./_assignMergeValue'),
isObject = require('./isObject'),
isPlainObject = require('./isPlainObject'),
isTypedArray = require('./isTypedArray'),
+ safeGet = require('./_safeGet'),
toPlainObject = require('./toPlainObject');
/**
@@ -29,8 +30,8 @@ var assignMergeValue = require('./_assignMergeValue'),
* counterparts.
*/
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
- var objValue = object[key],
- srcValue = source[key],
+ var objValue = safeGet(object, key),
+ srcValue = safeGet(source, key),
stacked = stack.get(srcValue);
if (stacked) {
diff --git a/tools/node_modules/eslint/node_modules/lodash/_cloneMap.js b/tools/node_modules/eslint/node_modules/lodash/_cloneMap.js
deleted file mode 100644
index 334b73e986..0000000000
--- a/tools/node_modules/eslint/node_modules/lodash/_cloneMap.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var addMapEntry = require('./_addMapEntry'),
- arrayReduce = require('./_arrayReduce'),
- mapToArray = require('./_mapToArray');
-
-/** Used to compose bitmasks for cloning. */
-var CLONE_DEEP_FLAG = 1;
-
-/**
- * Creates a clone of `map`.
- *
- * @private
- * @param {Object} map The map to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned map.
- */
-function cloneMap(map, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
- return arrayReduce(array, addMapEntry, new map.constructor);
-}
-
-module.exports = cloneMap;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_cloneSet.js b/tools/node_modules/eslint/node_modules/lodash/_cloneSet.js
deleted file mode 100644
index 713a2f76b0..0000000000
--- a/tools/node_modules/eslint/node_modules/lodash/_cloneSet.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var addSetEntry = require('./_addSetEntry'),
- arrayReduce = require('./_arrayReduce'),
- setToArray = require('./_setToArray');
-
-/** Used to compose bitmasks for cloning. */
-var CLONE_DEEP_FLAG = 1;
-
-/**
- * Creates a clone of `set`.
- *
- * @private
- * @param {Object} set The set to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned set.
- */
-function cloneSet(set, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
- return arrayReduce(array, addSetEntry, new set.constructor);
-}
-
-module.exports = cloneSet;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js b/tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js
index aef02120e5..078c15af98 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js
@@ -13,7 +13,7 @@ var hasOwnProperty = objectProto.hasOwnProperty;
*/
function initCloneArray(array) {
var length = array.length,
- result = array.constructor(length);
+ result = new array.constructor(length);
// Add properties assigned by `RegExp#exec`.
if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
diff --git a/tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js b/tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js
index e7b77edc69..f69a008ca3 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js
@@ -1,8 +1,6 @@
var cloneArrayBuffer = require('./_cloneArrayBuffer'),
cloneDataView = require('./_cloneDataView'),
- cloneMap = require('./_cloneMap'),
cloneRegExp = require('./_cloneRegExp'),
- cloneSet = require('./_cloneSet'),
cloneSymbol = require('./_cloneSymbol'),
cloneTypedArray = require('./_cloneTypedArray');
@@ -32,16 +30,15 @@ var arrayBufferTag = '[object ArrayBuffer]',
* Initializes an object clone based on its `toStringTag`.
*
* **Note:** This function only supports cloning values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
*
* @private
* @param {Object} object The object to clone.
* @param {string} tag The `toStringTag` of the object to clone.
- * @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the initialized clone.
*/
-function initCloneByTag(object, tag, cloneFunc, isDeep) {
+function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
@@ -60,7 +57,7 @@ function initCloneByTag(object, tag, cloneFunc, isDeep) {
return cloneTypedArray(object, isDeep);
case mapTag:
- return cloneMap(object, isDeep, cloneFunc);
+ return new Ctor;
case numberTag:
case stringTag:
@@ -70,7 +67,7 @@ function initCloneByTag(object, tag, cloneFunc, isDeep) {
return cloneRegExp(object);
case setTag:
- return cloneSet(object, isDeep, cloneFunc);
+ return new Ctor;
case symbolTag:
return cloneSymbol(object);
diff --git a/tools/node_modules/eslint/node_modules/lodash/_isIndex.js b/tools/node_modules/eslint/node_modules/lodash/_isIndex.js
index e123dde8bc..061cd390c3 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_isIndex.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_isIndex.js
@@ -13,10 +13,13 @@ var reIsUint = /^(?:0|[1-9]\d*)$/;
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
+ var type = typeof value;
length = length == null ? MAX_SAFE_INTEGER : length;
+
return !!length &&
- (typeof value == 'number' || reIsUint.test(value)) &&
- (value > -1 && value % 1 == 0 && value < length);
+ (type == 'number' ||
+ (type != 'symbol' && reIsUint.test(value))) &&
+ (value > -1 && value % 1 == 0 && value < length);
}
module.exports = isIndex;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_safeGet.js b/tools/node_modules/eslint/node_modules/lodash/_safeGet.js
new file mode 100644
index 0000000000..2cc3137895
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/lodash/_safeGet.js
@@ -0,0 +1,15 @@
+/**
+ * Gets the value at `key`, unless `key` is "__proto__".
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the property to get.
+ * @returns {*} Returns the property value.
+ */
+function safeGet(object, key) {
+ return key == '__proto__'
+ ? undefined
+ : object[key];
+}
+
+module.exports = safeGet;
diff --git a/tools/node_modules/eslint/node_modules/lodash/_stringToPath.js b/tools/node_modules/eslint/node_modules/lodash/_stringToPath.js
index db7b0f7dba..8f39f8a29b 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_stringToPath.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_stringToPath.js
@@ -1,8 +1,7 @@
var memoizeCapped = require('./_memoizeCapped');
/** Used to match property names within property paths. */
-var reLeadingDot = /^\./,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
+var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
/** Used to match backslashes in property paths. */
var reEscapeChar = /\\(\\)?/g;
@@ -16,11 +15,11 @@ var reEscapeChar = /\\(\\)?/g;
*/
var stringToPath = memoizeCapped(function(string) {
var result = [];
- if (reLeadingDot.test(string)) {
+ if (string.charCodeAt(0) === 46 /* . */) {
result.push('');
}
- string.replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
+ string.replace(rePropName, function(match, number, quote, subString) {
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
});
return result;
});
diff --git a/tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js b/tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js
index d8b822ada9..e72e6e0f93 100644
--- a/tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js
+++ b/tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js
@@ -38,8 +38,8 @@ var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',
reOptMod = rsModifier + '?',
rsOptVar = '[' + rsVarRange + ']?',
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)',
- rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)',
+ rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
+ rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
rsSeq = rsOptVar + reOptMod + rsOptJoin,
rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;
diff --git a/tools/node_modules/eslint/node_modules/lodash/core.js b/tools/node_modules/eslint/node_modules/lodash/core.js
index 88c263f86d..0e676fa661 100644
--- a/tools/node_modules/eslint/node_modules/lodash/core.js
+++ b/tools/node_modules/eslint/node_modules/lodash/core.js
@@ -13,7 +13,7 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.17.4';
+ var VERSION = '4.17.5';
/** Error message constants. */
var FUNC_ERROR_TEXT = 'Expected a function';
@@ -49,6 +49,9 @@
var reUnescapedHtml = /[&<>"']/g,
reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
+ /** Used to detect unsigned integer values. */
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
+
/** Used to map characters to HTML entities. */
var htmlEscapes = {
'&': '&amp;',
@@ -1160,26 +1163,6 @@
}
/**
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
- * of source objects to the destination object for all destination properties
- * that resolve to `undefined`.
- *
- * @private
- * @param {*} objValue The destination value.
- * @param {*} srcValue The source value.
- * @param {string} key The key of the property to assign.
- * @param {Object} object The parent object of `objValue`.
- * @returns {*} Returns the value to assign.
- */
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
- if (objValue === undefined ||
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
- return srcValue;
- }
- return objValue;
- }
-
- /**
* A specialized version of `baseIsEqualDeep` for arrays with support for
* partial deep comparisons.
*
@@ -1367,6 +1350,48 @@
}
/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */
+ function isIndex(value, length) {
+ var type = typeof value;
+ length = length == null ? MAX_SAFE_INTEGER : length;
+
+ return !!length &&
+ (type == 'number' ||
+ (type != 'symbol' && reIsUint.test(value))) &&
+ (value > -1 && value % 1 == 0 && value < length);
+ }
+
+ /**
+ * Checks if the given arguments are from an iteratee call.
+ *
+ * @private
+ * @param {*} value The potential iteratee value argument.
+ * @param {*} index The potential iteratee index or key argument.
+ * @param {*} object The potential iteratee object argument.
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
+ * else `false`.
+ */
+ function isIterateeCall(value, index, object) {
+ if (!isObject(object)) {
+ return false;
+ }
+ var type = typeof index;
+ if (type == 'number'
+ ? (isArrayLike(object) && isIndex(index, object.length))
+ : (type == 'string' && index in object)
+ ) {
+ return eq(object[index], value);
+ }
+ return false;
+ }
+
+ /**
* This function is like
* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
* except that it includes inherited enumerable properties.
@@ -3099,39 +3124,6 @@
});
/**
- * This method is like `_.assignIn` except that it accepts `customizer`
- * which is invoked to produce the assigned values. If `customizer` returns
- * `undefined`, assignment is handled by the method instead. The `customizer`
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias extendWith
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @see _.assignWith
- * @example
- *
- * function customizer(objValue, srcValue) {
- * return _.isUndefined(objValue) ? srcValue : objValue;
- * }
- *
- * var defaults = _.partialRight(_.assignInWith, customizer);
- *
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObject(source, keysIn(source), object, customizer);
- });
-
- /**
* Creates an object that inherits from the `prototype` object. If a
* `properties` object is given, its own enumerable string keyed properties
* are assigned to the created object.
@@ -3191,9 +3183,35 @@
* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
* // => { 'a': 1, 'b': 2 }
*/
- var defaults = baseRest(function(args) {
- args.push(undefined, customDefaultsAssignIn);
- return assignInWith.apply(undefined, args);
+ var defaults = baseRest(function(object, sources) {
+ object = Object(object);
+
+ var index = -1;
+ var length = sources.length;
+ var guard = length > 2 ? sources[2] : undefined;
+
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+ length = 1;
+ }
+
+ while (++index < length) {
+ var source = sources[index];
+ var props = keysIn(source);
+ var propsIndex = -1;
+ var propsLength = props.length;
+
+ while (++propsIndex < propsLength) {
+ var key = props[propsIndex];
+ var value = object[key];
+
+ if (value === undefined ||
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
+ object[key] = source[key];
+ }
+ }
+ }
+
+ return object;
});
/**
diff --git a/tools/node_modules/eslint/node_modules/lodash/core.min.js b/tools/node_modules/eslint/node_modules/lodash/core.min.js
index b909d31c75..76640dda2d 100644
--- a/tools/node_modules/eslint/node_modules/lodash/core.min.js
+++ b/tools/node_modules/eslint/node_modules/lodash/core.min.js
@@ -3,27 +3,27 @@
* Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash core -o ./dist/lodash.core.js`
*/
-;(function(){function n(n){return K(n)&&pn.call(n,"callee")&&!bn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?nn:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
-return setTimeout(function(){n.apply(nn,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===nn?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=D),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,In);
-}function h(n,t){return l(t,function(t){return V(n[t])})}function v(n,t){return n>t}function y(n,t,r,e,u){return n===t||(null==n||null==t||!K(n)&&!K(t)?n!==n&&t!==t:b(n,t,r,e,y,u))}function b(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
-return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=B(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=M(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=R(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
-r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?Y:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=U(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&y(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),G(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(q(n,void 0,Y),n+"");
-}function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return G(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r,e){var u=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var c=t[o],f=e?e(r[c],n[c],c,r,n):nn;if(f===nn&&(f=n[c]),u)r[c]=f;else{var a=r,l=a[c];
-pn.call(a,c)&&M(l,f)&&(f!==nn||c in a)||(a[c]=f)}}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:nn,o=3<n.length&&typeof o=="function"?(u--,o):nn;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return H(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];
-return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=F(n);return e}function T(n,t,r,e){return n===nn||M(n,ln[r])&&!pn.call(e,r)?t:n}function B(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:nn;++c<i;){var l=n[c],p=t[c];if(void 0!==nn){f=false;break}if(a){if(!E(t,function(n,t){if(!z(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function R(n,t,r,e,u,o){
-var i=1&r,c=In(n),f=c.length,a=In(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];if(void 0!==nn||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function D(t){return Nn(t)||n(t)}function I(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);
-return t}function q(n,t,r){return t=jn(t===nn?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function P(n){return n&&n.length?n[0]:nn}function z(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function C(n,t){return mn(n,g(t));
-}function G(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function J(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=nn),r}}function M(n,t){return n===t||n!==n&&t!==t}function U(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!V(n)}function V(n){return!!H(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n);
-}function H(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function K(n){return null!=n&&typeof n=="object"}function L(n){return typeof n=="number"||K(n)&&"[object Number]"==hn.call(n)}function Q(n){return typeof n=="string"||!Nn(n)&&K(n)&&"[object String]"==hn.call(n)}function W(n){return typeof n=="string"?n:null==n?"":n+""}function X(n){return null==n?[]:u(n,In(n))}function Y(n){return n}function Z(n,r,e){var u=In(r),o=h(r,u);null!=e||H(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,In(r)));
-var i=!(H(e)&&"chain"in e&&!e.chain),c=V(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var nn,tn=1/0,rn=/[&<>"']/g,en=RegExp(rn.source),un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
-return function(t){return null==n?nn:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,yn=Object.create,bn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return H(t)?yn?yn(t):(n.prototype=t,t=new n,n.prototype=nn,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
-var mn=function(n,t){return function(r,e){if(null==r)return r;if(!U(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=Y,An=function(n){return function(t,r,e){var u=Object(t);if(!U(t)){var o=g(r);t=In(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:nn}}(function(n,t,r){var e=null==n?0:n.length;
-if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,I(t),n)}),Rn=N(function(n,t,r,e){k(t,qn(t),n,e)}),Dn=O(function(n){return n.push(nn,T),Rn.apply(nn,n)}),In=_n,qn=I,$n=function(n){return xn(q(n,nn,$),n+"");
-}(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=J,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Dn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){
-return(null==n?0:n.length)?p(n,tn):[]},o.iteratee=g,o.keys=In,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Z,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){return J(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===nn?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{
-value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==nn,o=null===r,i=r===r,c=e!==nn,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return U(n)?n.length?A(n):[]:X(n)},o.values=X,o.extend=Bn,Z(o,o),o.clone=function(n){return H(n)?Nn(n)?A(n):k(n,_n(n)):n;
-},o.escape=function(n){return(n=W(n))&&en.test(n)?n.replace(rn,fn):n},o.every=function(n,t,r){return t=r?nn:t,f(n,g(t))},o.find=An,o.forEach=C,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=P,o.identity=Y,o.indexOf=z,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||K(n)&&"[object Boolean]"==hn.call(n)},o.isDate=function(n){return K(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return U(t)&&(Nn(t)||Q(t)||V(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){
-return y(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=V,o.isNaN=function(n){return L(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=L,o.isObject=H,o.isRegExp=function(n){return K(n)&&"[object RegExp]"==hn.call(n)},o.isString=Q,o.isUndefined=function(n){return n===nn},o.last=function(n){var t=null==n?0:n.length;return t?n[t-1]:nn},o.max=function(n){return n&&n.length?a(n,Y,v):nn},o.min=function(n){return n&&n.length?a(n,Y,_):nn},o.noConflict=function(){return on._===this&&(on._=vn),
-this},o.noop=function(){},o.reduce=G,o.result=function(n,t,r){return t=null==n?nn:n[t],t===nn&&(t=r),V(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=U(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?nn:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return W(n)+t},o.each=C,o.first=P,Z(o,function(){var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.4",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
-var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n)})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o,
-define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this); \ No newline at end of file
+;(function(){function n(n){return H(n)&&pn.call(n,"callee")&&!yn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");
+return setTimeout(function(){n.apply(Z,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===Z?i===i:r(i,c)))var c=i,f=o}return f}function l(n,t){var r=[];return mn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function p(n,r,e,u,o){var i=-1,c=n.length;for(e||(e=R),o||(o=[]);++i<c;){var f=n[i];0<r&&e(f)?1<r?p(f,r-1,e,u,o):t(o,f):u||(o[o.length]=f)}return o}function s(n,t){return n&&On(n,t,Dn);
+}function h(n,t){return l(t,function(t){return U(n[t])})}function v(n,t){return n>t}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){
+return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t,
+r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return n<t}function j(n,t){var r=-1,e=M(n)?Array(n.length):[];return mn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function d(n){var t=_n(n);return function(r){var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&b(n[u],r[u],3)))return false}return true}}function m(n,t){return n=Object(n),C(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function O(n){return xn(I(n,void 0,X),n+"");
+}function x(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function A(n){return x(n,0,n.length)}function E(n,t){var r;return mn(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function w(n,r){return C(r,function(n,r){return r.func.apply(r.thisArg,t([n],r.args))},n)}function k(n,t,r){var e=!r;r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u],c=Z;if(c===Z&&(c=n[i]),e)r[i]=c;else{var f=r,a=f[i];pn.call(f,i)&&J(a,c)&&(c!==Z||i in f)||(f[i]=c);
+}}return r}function N(n){return O(function(t,r){var e=-1,u=r.length,o=1<u?r[u-1]:Z,o=3<n.length&&typeof o=="function"?(u--,o):Z;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function F(n){return function(){var t=arguments,r=dn(n.prototype),t=n.apply(r,t);return V(t)?t:r}}function S(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==on&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");
+var u=F(n);return e}function T(n,t,r,e,u,o){var i=n.length,c=t.length;if(i!=c&&!(1&r&&c>i))return false;for(var c=-1,f=true,a=2&r?[]:Z;++c<i;){var l=n[c],p=t[c];if(void 0!==Z){f=false;break}if(a){if(!E(t,function(n,t){if(!P(a,t)&&(l===n||u(l,n,r,e,o)))return a.push(t)})){f=false;break}}else if(l!==p&&!u(l,p,r,e,o)){f=false;break}}return f}function B(n,t,r,e,u,o){var i=1&r,c=Dn(n),f=c.length,a=Dn(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:pn.call(t,p)))return false}for(a=true;++l<f;){var p=c[l],s=n[p],h=t[p];
+if(void 0!==Z||s!==h&&!u(s,h,r,e,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function R(t){return Nn(t)||n(t)}function D(n){var t=[];if(null!=n)for(var r in Object(n))t.push(r);return t}function I(n,t,r){return t=jn(t===Z?n.length-1:t,0),function(){for(var e=arguments,u=-1,o=jn(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];for(u=-1,
+o=Array(t+1);++u<t;)o[u]=e[u];return o[t]=r(i),n.apply(this,o)}}function $(n){return(null==n?0:n.length)?p(n,1):[]}function q(n){return n&&n.length?n[0]:Z}function P(n,t,r){var e=null==n?0:n.length;r=typeof r=="number"?0>r?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1}function z(n,t){return mn(n,g(t))}function C(n,t,r){return e(n,g(t),r,3>arguments.length,mn)}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),
+function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){
+return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n);return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;
+if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){
+return function(t){return null==n?Z:n[t]}}({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i;
+var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(s),On=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}(),xn=X,An=function(n){return function(t,r,e){var u=Object(t);if(!M(t)){var o=g(r);t=Dn(t),r=function(n){return o(u[n],n,u)}}return r=n(t,r,e),-1<r?u[o?t[r]:r]:Z}}(function(n,t,r){var e=null==n?0:n.length;
+if(!e)return-1;r=null==r?0:Fn(r),0>r&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++r<e;)if(t(n[r],r,n)){n=r;break n}n=-1}return n}),En=O(function(n,t,r){return S(n,t,r)}),wn=O(function(n,t){return c(n,1,t)}),kn=O(function(n,t,r){return c(n,Sn(t)||0,r)}),Nn=Array.isArray,Fn=Number,Sn=Number,Tn=N(function(n,t){k(t,_n(t),n)}),Bn=N(function(n,t){k(t,D(t),n)}),Rn=O(function(n,t){n=Object(n);var r,e=-1,u=t.length,o=2<u?t[2]:Z;if(r=o){r=t[0];var i=t[1];if(V(o)){var c=typeof i;if("number"==c){if(c=M(o))var c=o.length,f=typeof i,c=null==c?9007199254740991:c,c=!!c&&("number"==f||"symbol"!=f&&en.test(i))&&-1<i&&0==i%1&&i<c;
+}else c="string"==c&&i in o;r=!!c&&J(o[i],r)}else r=false}for(r&&(u=1);++e<u;)for(o=t[e],r=In(o),i=-1,c=r.length;++i<c;){var f=r[i],a=n[f];(a===Z||J(a,ln[f])&&!pn.call(n,f))&&(n[f]=o[f])}return n}),Dn=_n,In=D,$n=function(n){return xn(I(n,Z,$),n+"")}(function(n,t){return null==n?{}:m(n,t)});o.assignIn=Bn,o.before=G,o.bind=En,o.chain=function(n){return n=o(n),n.__chain__=true,n},o.compact=function(n){return l(n,Boolean)},o.concat=function(){var n=arguments.length;if(!n)return[];for(var r=Array(n-1),e=arguments[0];n--;)r[n-1]=arguments[n];
+return t(Nn(e)?A(e):[e],p(r,1))},o.create=function(n,t){var r=dn(n);return null==t?r:Tn(r,t)},o.defaults=Rn,o.defer=wn,o.delay=kn,o.filter=function(n,t){return l(n,g(t))},o.flatten=$,o.flattenDeep=function(n){return(null==n?0:n.length)?p(n,nn):[]},o.iteratee=g,o.keys=Dn,o.map=function(n,t){return j(n,g(t))},o.matches=function(n){return d(Tn({},n))},o.mixin=Y,o.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},o.once=function(n){
+return G(2,n)},o.pick=$n,o.slice=function(n,t,r){var e=null==n?0:n.length;return r=r===Z?e:+r,e?x(n,null==t?0:+t,r):[]},o.sortBy=function(n,t){var e=0;return t=g(t),j(j(n,function(n,r,u){return{value:n,index:e++,criteria:t(n,r,u)}}).sort(function(n,t){var r;n:{r=n.criteria;var e=t.criteria;if(r!==e){var u=r!==Z,o=null===r,i=r===r,c=e!==Z,f=null===e,a=e===e;if(!f&&r>e||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r<e||f&&u&&i||!c&&i||!a){r=-1;break n}}r=0}return r||n.index-t.index}),r("value"))},o.tap=function(n,t){
+return t(n),n},o.thru=function(n,t){return t(n)},o.toArray=function(n){return M(n)?n.length?A(n):[]:W(n)},o.values=W,o.extend=Bn,Y(o,o),o.clone=function(n){return V(n)?Nn(n)?A(n):k(n,_n(n)):n},o.escape=function(n){return(n=Q(n))&&rn.test(n)?n.replace(tn,fn):n},o.every=function(n,t,r){return t=r?Z:t,f(n,g(t))},o.find=An,o.forEach=z,o.has=function(n,t){return null!=n&&pn.call(n,t)},o.head=q,o.identity=X,o.indexOf=P,o.isArguments=n,o.isArray=Nn,o.isBoolean=function(n){return true===n||false===n||H(n)&&"[object Boolean]"==hn.call(n);
+},o.isDate=function(n){return H(n)&&"[object Date]"==hn.call(n)},o.isEmpty=function(t){return M(t)&&(Nn(t)||L(t)||U(t.splice)||n(t))?!t.length:!_n(t).length},o.isEqual=function(n,t){return b(n,t)},o.isFinite=function(n){return typeof n=="number"&&gn(n)},o.isFunction=U,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n},o.isNumber=K,o.isObject=V,o.isRegExp=function(n){return H(n)&&"[object RegExp]"==hn.call(n)},o.isString=L,o.isUndefined=function(n){return n===Z},o.last=function(n){
+var t=null==n?0:n.length;return t?n[t-1]:Z},o.max=function(n){return n&&n.length?a(n,X,v):Z},o.min=function(n){return n&&n.length?a(n,X,_):Z},o.noConflict=function(){return on._===this&&(on._=vn),this},o.noop=function(){},o.reduce=C,o.result=function(n,t,r){return t=null==n?Z:n[t],t===Z&&(t=r),U(t)?t.call(n):t},o.size=function(n){return null==n?0:(n=M(n)?n:_n(n),n.length)},o.some=function(n,t,r){return t=r?Z:t,E(n,g(t))},o.uniqueId=function(n){var t=++sn;return Q(n)+t},o.each=z,o.first=q,Y(o,function(){
+var n={};return s(o,function(t,r){pn.call(o.prototype,r)||(n[r]=t)}),n}(),{chain:false}),o.VERSION="4.17.5",mn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?String.prototype:an)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);o.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Nn(u)?u:[],n)}return this[r](function(r){return t.apply(Nn(r)?r:[],n);
+})}}),o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=function(){return w(this.__wrapped__,this.__actions__)},typeof define=="function"&&typeof define.amd=="object"&&define.amd?(on._=o, define(function(){return o})):cn?((cn.exports=o)._=o,un._=o):on._=o}).call(this); \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/lodash/debounce.js b/tools/node_modules/eslint/node_modules/lodash/debounce.js
index 04d7dfd317..205e49f342 100644
--- a/tools/node_modules/eslint/node_modules/lodash/debounce.js
+++ b/tools/node_modules/eslint/node_modules/lodash/debounce.js
@@ -108,9 +108,11 @@ function debounce(func, wait, options) {
function remainingWait(time) {
var timeSinceLastCall = time - lastCallTime,
timeSinceLastInvoke = time - lastInvokeTime,
- result = wait - timeSinceLastCall;
+ timeWaiting = wait - timeSinceLastCall;
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ return maxing
+ ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
+ : timeWaiting;
}
function shouldInvoke(time) {
diff --git a/tools/node_modules/eslint/node_modules/lodash/defaults.js b/tools/node_modules/eslint/node_modules/lodash/defaults.js
index 6b75ee08ce..c74df044c4 100644
--- a/tools/node_modules/eslint/node_modules/lodash/defaults.js
+++ b/tools/node_modules/eslint/node_modules/lodash/defaults.js
@@ -1,7 +1,13 @@
-var apply = require('./_apply'),
- assignInWith = require('./assignInWith'),
- baseRest = require('./_baseRest'),
- customDefaultsAssignIn = require('./_customDefaultsAssignIn');
+var baseRest = require('./_baseRest'),
+ eq = require('./eq'),
+ isIterateeCall = require('./_isIterateeCall'),
+ keysIn = require('./keysIn');
+
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Assigns own and inherited enumerable string keyed properties of source
@@ -24,9 +30,35 @@ var apply = require('./_apply'),
* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
* // => { 'a': 1, 'b': 2 }
*/
-var defaults = baseRest(function(args) {
- args.push(undefined, customDefaultsAssignIn);
- return apply(assignInWith, undefined, args);
+var defaults = baseRest(function(object, sources) {
+ object = Object(object);
+
+ var index = -1;
+ var length = sources.length;
+ var guard = length > 2 ? sources[2] : undefined;
+
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+ length = 1;
+ }
+
+ while (++index < length) {
+ var source = sources[index];
+ var props = keysIn(source);
+ var propsIndex = -1;
+ var propsLength = props.length;
+
+ while (++propsIndex < propsLength) {
+ var key = props[propsIndex];
+ var value = object[key];
+
+ if (value === undefined ||
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
+ object[key] = source[key];
+ }
+ }
+ }
+
+ return object;
});
module.exports = defaults;
diff --git a/tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js b/tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js
index 7af27655bc..fcc28f26bd 100644
--- a/tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js
+++ b/tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js
@@ -171,7 +171,9 @@ function baseConvert(util, name, func, options) {
'curry': util.curry,
'forEach': util.forEach,
'isArray': util.isArray,
+ 'isError': util.isError,
'isFunction': util.isFunction,
+ 'isWeakMap': util.isWeakMap,
'iteratee': util.iteratee,
'keys': util.keys,
'rearg': util.rearg,
@@ -185,7 +187,9 @@ function baseConvert(util, name, func, options) {
curry = helpers.curry,
each = helpers.forEach,
isArray = helpers.isArray,
+ isError = helpers.isError,
isFunction = helpers.isFunction,
+ isWeakMap = helpers.isWeakMap,
keys = helpers.keys,
rearg = helpers.rearg,
toInteger = helpers.toInteger,
@@ -355,8 +359,9 @@ function baseConvert(util, name, func, options) {
var key = path[index],
value = nested[key];
- if (value != null) {
- nested[path[index]] = clone(index == lastIndex ? value : Object(value));
+ if (value != null &&
+ !(isFunction(value) || isError(value) || isWeakMap(value))) {
+ nested[key] = clone(index == lastIndex ? value : Object(value));
}
nested = nested[key];
}
diff --git a/tools/node_modules/eslint/node_modules/lodash/fp/_util.js b/tools/node_modules/eslint/node_modules/lodash/fp/_util.js
index 7084463026..1dbf36f5d2 100644
--- a/tools/node_modules/eslint/node_modules/lodash/fp/_util.js
+++ b/tools/node_modules/eslint/node_modules/lodash/fp/_util.js
@@ -5,7 +5,9 @@ module.exports = {
'curry': require('../curry'),
'forEach': require('../_arrayEach'),
'isArray': require('../isArray'),
+ 'isError': require('../isError'),
'isFunction': require('../isFunction'),
+ 'isWeakMap': require('../isWeakMap'),
'iteratee': require('../iteratee'),
'keys': require('../_baseKeys'),
'rearg': require('../rearg'),
diff --git a/tools/node_modules/eslint/node_modules/lodash/invert.js b/tools/node_modules/eslint/node_modules/lodash/invert.js
index 21d10aba37..8c4795097b 100644
--- a/tools/node_modules/eslint/node_modules/lodash/invert.js
+++ b/tools/node_modules/eslint/node_modules/lodash/invert.js
@@ -2,6 +2,16 @@ var constant = require('./constant'),
createInverter = require('./_createInverter'),
identity = require('./identity');
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var nativeObjectToString = objectProto.toString;
+
/**
* Creates an object composed of the inverted keys and values of `object`.
* If `object` contains duplicate values, subsequent values overwrite
@@ -21,6 +31,11 @@ var constant = require('./constant'),
* // => { '1': 'c', '2': 'b' }
*/
var invert = createInverter(function(result, value, key) {
+ if (value != null &&
+ typeof value.toString != 'function') {
+ value = nativeObjectToString.call(value);
+ }
+
result[value] = key;
}, constant(identity));
diff --git a/tools/node_modules/eslint/node_modules/lodash/invertBy.js b/tools/node_modules/eslint/node_modules/lodash/invertBy.js
index e5ba0f7091..3f4f7e532c 100644
--- a/tools/node_modules/eslint/node_modules/lodash/invertBy.js
+++ b/tools/node_modules/eslint/node_modules/lodash/invertBy.js
@@ -8,6 +8,13 @@ var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
/**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var nativeObjectToString = objectProto.toString;
+
+/**
* This method is like `_.invert` except that the inverted object is generated
* from the results of running each element of `object` thru `iteratee`. The
* corresponding inverted value of each inverted key is an array of keys
@@ -34,6 +41,11 @@ var hasOwnProperty = objectProto.hasOwnProperty;
* // => { 'group1': ['a', 'c'], 'group2': ['b'] }
*/
var invertBy = createInverter(function(result, value, key) {
+ if (value != null &&
+ typeof value.toString != 'function') {
+ value = nativeObjectToString.call(value);
+ }
+
if (hasOwnProperty.call(result, value)) {
result[value].push(key);
} else {
diff --git a/tools/node_modules/eslint/node_modules/lodash/lodash.js b/tools/node_modules/eslint/node_modules/lodash/lodash.js
index b39ddce69b..153fc43d23 100644
--- a/tools/node_modules/eslint/node_modules/lodash/lodash.js
+++ b/tools/node_modules/eslint/node_modules/lodash/lodash.js
@@ -12,7 +12,7 @@
var undefined;
/** Used as the semantic version number. */
- var VERSION = '4.17.4';
+ var VERSION = '4.17.5';
/** Used as the size to enable large array optimizations. */
var LARGE_ARRAY_SIZE = 200;
@@ -143,7 +143,6 @@
/** Used to match property names within property paths. */
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
reIsPlainProp = /^\w*$/,
- reLeadingDot = /^\./,
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
/**
@@ -243,8 +242,8 @@
reOptMod = rsModifier + '?',
rsOptVar = '[' + rsVarRange + ']?',
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsOrdLower = '\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)',
- rsOrdUpper = '\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)',
+ rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
+ rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
rsSeq = rsOptVar + reOptMod + rsOptJoin,
rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
@@ -452,34 +451,6 @@
/*--------------------------------------------------------------------------*/
/**
- * Adds the key-value `pair` to `map`.
- *
- * @private
- * @param {Object} map The map to modify.
- * @param {Array} pair The key-value pair to add.
- * @returns {Object} Returns `map`.
- */
- function addMapEntry(map, pair) {
- // Don't return `map.set` because it's not chainable in IE 11.
- map.set(pair[0], pair[1]);
- return map;
- }
-
- /**
- * Adds `value` to `set`.
- *
- * @private
- * @param {Object} set The set to modify.
- * @param {*} value The value to add.
- * @returns {Object} Returns `set`.
- */
- function addSetEntry(set, value) {
- // Don't return `set.add` because it's not chainable in IE 11.
- set.add(value);
- return set;
- }
-
- /**
* A faster alternative to `Function#apply`, this function invokes `func`
* with the `this` binding of `thisArg` and the arguments of `args`.
*
@@ -1246,6 +1217,20 @@
}
/**
+ * Gets the value at `key`, unless `key` is "__proto__".
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the property to get.
+ * @returns {*} Returns the property value.
+ */
+ function safeGet(object, key) {
+ return key == '__proto__'
+ ? undefined
+ : object[key];
+ }
+
+ /**
* Converts `set` to an array of its values.
*
* @private
@@ -2677,7 +2662,7 @@
if (!cloneableTags[tag]) {
return object ? value : {};
}
- result = initCloneByTag(value, tag, baseClone, isDeep);
+ result = initCloneByTag(value, tag, isDeep);
}
}
// Check for circular references and return its corresponding clone.
@@ -2688,6 +2673,22 @@
}
stack.set(value, result);
+ if (isSet(value)) {
+ value.forEach(function(subValue) {
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
+ });
+
+ return result;
+ }
+
+ if (isMap(value)) {
+ value.forEach(function(subValue, key) {
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
+ });
+
+ return result;
+ }
+
var keysFunc = isFull
? (isFlat ? getAllKeysIn : getAllKeys)
: (isFlat ? keysIn : keys);
@@ -3615,7 +3616,7 @@
}
else {
var newValue = customizer
- ? customizer(object[key], srcValue, (key + ''), object, source, stack)
+ ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
: undefined;
if (newValue === undefined) {
@@ -3642,8 +3643,8 @@
* counterparts.
*/
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
- var objValue = object[key],
- srcValue = source[key],
+ var objValue = safeGet(object, key),
+ srcValue = safeGet(source, key),
stacked = stack.get(srcValue);
if (stacked) {
@@ -4552,20 +4553,6 @@
}
/**
- * Creates a clone of `map`.
- *
- * @private
- * @param {Object} map The map to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned map.
- */
- function cloneMap(map, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);
- return arrayReduce(array, addMapEntry, new map.constructor);
- }
-
- /**
* Creates a clone of `regexp`.
*
* @private
@@ -4579,20 +4566,6 @@
}
/**
- * Creates a clone of `set`.
- *
- * @private
- * @param {Object} set The set to clone.
- * @param {Function} cloneFunc The function to clone values.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned set.
- */
- function cloneSet(set, isDeep, cloneFunc) {
- var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);
- return arrayReduce(array, addSetEntry, new set.constructor);
- }
-
- /**
* Creates a clone of the `symbol` object.
*
* @private
@@ -6186,7 +6159,7 @@
*/
function initCloneArray(array) {
var length = array.length,
- result = array.constructor(length);
+ result = new array.constructor(length);
// Add properties assigned by `RegExp#exec`.
if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
@@ -6213,16 +6186,15 @@
* Initializes an object clone based on its `toStringTag`.
*
* **Note:** This function only supports cloning values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
*
* @private
* @param {Object} object The object to clone.
* @param {string} tag The `toStringTag` of the object to clone.
- * @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the initialized clone.
*/
- function initCloneByTag(object, tag, cloneFunc, isDeep) {
+ function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
@@ -6241,7 +6213,7 @@
return cloneTypedArray(object, isDeep);
case mapTag:
- return cloneMap(object, isDeep, cloneFunc);
+ return new Ctor;
case numberTag:
case stringTag:
@@ -6251,7 +6223,7 @@
return cloneRegExp(object);
case setTag:
- return cloneSet(object, isDeep, cloneFunc);
+ return new Ctor;
case symbolTag:
return cloneSymbol(object);
@@ -6298,10 +6270,13 @@
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
+ var type = typeof value;
length = length == null ? MAX_SAFE_INTEGER : length;
+
return !!length &&
- (typeof value == 'number' || reIsUint.test(value)) &&
- (value > -1 && value % 1 == 0 && value < length);
+ (type == 'number' ||
+ (type != 'symbol' && reIsUint.test(value))) &&
+ (value > -1 && value % 1 == 0 && value < length);
}
/**
@@ -6751,11 +6726,11 @@
*/
var stringToPath = memoizeCapped(function(string) {
var result = [];
- if (reLeadingDot.test(string)) {
+ if (string.charCodeAt(0) === 46 /* . */) {
result.push('');
}
- string.replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
+ string.replace(rePropName, function(match, number, quote, subString) {
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
});
return result;
});
@@ -10363,9 +10338,11 @@
function remainingWait(time) {
var timeSinceLastCall = time - lastCallTime,
timeSinceLastInvoke = time - lastInvokeTime,
- result = wait - timeSinceLastCall;
+ timeWaiting = wait - timeSinceLastCall;
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ return maxing
+ ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
+ : timeWaiting;
}
function shouldInvoke(time) {
@@ -12797,9 +12774,35 @@
* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
* // => { 'a': 1, 'b': 2 }
*/
- var defaults = baseRest(function(args) {
- args.push(undefined, customDefaultsAssignIn);
- return apply(assignInWith, undefined, args);
+ var defaults = baseRest(function(object, sources) {
+ object = Object(object);
+
+ var index = -1;
+ var length = sources.length;
+ var guard = length > 2 ? sources[2] : undefined;
+
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+ length = 1;
+ }
+
+ while (++index < length) {
+ var source = sources[index];
+ var props = keysIn(source);
+ var propsIndex = -1;
+ var propsLength = props.length;
+
+ while (++propsIndex < propsLength) {
+ var key = props[propsIndex];
+ var value = object[key];
+
+ if (value === undefined ||
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
+ object[key] = source[key];
+ }
+ }
+ }
+
+ return object;
});
/**
@@ -13196,6 +13199,11 @@
* // => { '1': 'c', '2': 'b' }
*/
var invert = createInverter(function(result, value, key) {
+ if (value != null &&
+ typeof value.toString != 'function') {
+ value = nativeObjectToString.call(value);
+ }
+
result[value] = key;
}, constant(identity));
@@ -13226,6 +13234,11 @@
* // => { 'group1': ['a', 'c'], 'group2': ['b'] }
*/
var invertBy = createInverter(function(result, value, key) {
+ if (value != null &&
+ typeof value.toString != 'function') {
+ value = nativeObjectToString.call(value);
+ }
+
if (hasOwnProperty.call(result, value)) {
result[value].push(key);
} else {
diff --git a/tools/node_modules/eslint/node_modules/lodash/lodash.min.js b/tools/node_modules/eslint/node_modules/lodash/lodash.min.js
index ca447f4e82..ffa43eaf30 100644
--- a/tools/node_modules/eslint/node_modules/lodash/lodash.min.js
+++ b/tools/node_modules/eslint/node_modules/lodash/lodash.min.js
@@ -2,135 +2,136 @@
* @license
* Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
*/
-;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&false!==t(n[r],r,n););return n}function i(n,t){for(var r=null==n?0:n.length;r--&&false!==t(n[r],r,n););
-return n}function o(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function f(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function c(n,t){return!(null==n||!n.length)&&-1<d(n,t,0)}function a(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return true;return false}function l(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function s(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];
-return n}function h(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function p(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function _(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return true;return false}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,false}),e}function g(n,t,r,e){var u=n.length;for(r+=e?1:-1;e?r--:++r<u;)if(t(n[r],r,n))return r;return-1}function d(n,t,r){if(t===t)n:{
---r;for(var e=n.length;++r<e;)if(n[r]===t){n=r;break n}n=-1}else n=g(n,b,r);return n}function y(n,t,r,e){--r;for(var u=n.length;++r<u;)if(e(n[r],t))return r;return-1}function b(n){return n!==n}function x(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:P}function j(n){return function(t){return null==t?F:t[n]}}function w(n){return function(t){return null==n?F:n[t]}}function m(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;
-return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==F&&(r=r===F?i:r+i)}return r}function E(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function O(n,t){return l(t,function(t){return[t,n[t]]})}function S(n){return function(t){return n(t)}}function I(n,t){return l(t,function(t){return n[t]})}function R(n,t){return n.has(t)}function z(n,t){for(var r=-1,e=n.length;++r<e&&-1<d(t,n[r],0););return r}function W(n,t){for(var r=n.length;r--&&-1<d(t,n[r],0););return r}function B(n){
-return"\\"+Tn[n]}function L(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function U(n,t){return function(r){return n(t(r))}}function C(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&"__lodash_placeholder__"!==o||(n[r]="__lodash_placeholder__",i[u++]=r)}return i}function D(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function T(n){if(Bn.test(n)){
-for(var t=zn.lastIndex=0;zn.test(n);)++t;n=t}else n=tt(n);return n}function $(n){return Bn.test(n)?n.match(zn)||[]:n.split("")}var F,N=1/0,P=NaN,Z=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],q=/\b__p\+='';/g,V=/\b(__p\+=)''\+/g,K=/(__e\(.*?\)|\b__t\))\+'';/g,G=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={};
-Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=true,Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object DataView]"]=Cn["[object Date]"]=Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object WeakMap]"]=false;
-var Dn={};Dn["[object Arguments]"]=Dn["[object Array]"]=Dn["[object ArrayBuffer]"]=Dn["[object DataView]"]=Dn["[object Boolean]"]=Dn["[object Date]"]=Dn["[object Float32Array]"]=Dn["[object Float64Array]"]=Dn["[object Int8Array]"]=Dn["[object Int16Array]"]=Dn["[object Int32Array]"]=Dn["[object Map]"]=Dn["[object Number]"]=Dn["[object Object]"]=Dn["[object RegExp]"]=Dn["[object Set]"]=Dn["[object String]"]=Dn["[object Symbol]"]=Dn["[object Uint8Array]"]=Dn["[object Uint8ClampedArray]"]=Dn["[object Uint16Array]"]=Dn["[object Uint32Array]"]=true,
-Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.process;
-n:{try{Mn=Gn&&Gn.binding&&Gn.binding("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I",
+;(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&false!==t(n[r],r,n););return n}function e(n,t){for(var r=null==n?0:n.length;r--&&false!==t(n[r],r,n););return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return false;
+return true}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!(null==n||!n.length)&&-1<v(n,t,0)}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return true;return false}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);
+return r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return true;return false}function p(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,false}),e}function _(n,t,r,e){var u=n.length;for(r+=e?1:-1;e?r--:++r<u;)if(t(n[r],r,n))return r;return-1}function v(n,t,r){if(t===t)n:{--r;for(var e=n.length;++r<e;)if(n[r]===t){n=r;break n}n=-1}else n=_(n,d,r);return n}function g(n,t,r,e){
+--r;for(var u=n.length;++r<u;)if(e(n[r],t))return r;return-1}function d(n){return n!==n}function y(n,t){var r=null==n?0:n.length;return r?m(n,t)/r:F}function b(n){return function(t){return null==t?T:t[n]}}function x(n){return function(t){return null==n?T:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}),r}function w(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;return n}function m(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==T&&(r=r===T?i:r+i)}return r;
+}function A(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function k(n,t){return c(t,function(t){return[t,n[t]]})}function E(n){return function(t){return n(t)}}function S(n,t){return c(t,function(t){return n[t]})}function O(n,t){return n.has(t)}function I(n,t){for(var r=-1,e=n.length;++r<e&&-1<v(t,n[r],0););return r}function R(n,t){for(var r=n.length;r--&&-1<v(t,n[r],0););return r}function z(n){return"\\"+Cn[n]}function W(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n];
+}),r}function B(n,t){return function(r){return n(t(r))}}function L(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&"__lodash_placeholder__"!==o||(n[r]="__lodash_placeholder__",i[u++]=r)}return i}function U(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function C(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function D(n){if(Rn.test(n)){for(var t=On.lastIndex=0;On.test(n);)++t;n=t}else n=Qn(n);return n}function M(n){return Rn.test(n)?n.match(On)||[]:n.split("");
+}var T,$=1/0,F=NaN,N=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],P=/\b__p\+='';/g,Z=/\b(__p\+=)''\+/g,q=/(__e\(.*?\)|\b__t\))\+'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,G=RegExp(V.source),H=RegExp(K.source),J=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,Q=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nn=/^\w*$/,tn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rn=/[\\^$.*+?()[\]{}|]/g,en=RegExp(rn.source),un=/^\s+|\s+$/g,on=/^\s+/,fn=/\s+$/,cn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,an=/\{\n\/\* \[wrapped with (.+)\] \*/,ln=/,? & /,sn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,hn=/\\(\\)?/g,pn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_n=/\w*$/,vn=/^[-+]0x[0-9a-f]+$/i,gn=/^0b[01]+$/i,dn=/^\[object .+?Constructor\]$/,yn=/^0o[0-7]+$/i,bn=/^(?:0|[1-9]\d*)$/,xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,jn=/($^)/,wn=/['\n\r\u2028\u2029\\]/g,mn="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",An="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+mn,kn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",En=RegExp("['\u2019]","g"),Sn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),On=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+kn+mn,"g"),In=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",An].join("|"),"g"),Rn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),zn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wn="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Bn={};
+Bn["[object Float32Array]"]=Bn["[object Float64Array]"]=Bn["[object Int8Array]"]=Bn["[object Int16Array]"]=Bn["[object Int32Array]"]=Bn["[object Uint8Array]"]=Bn["[object Uint8ClampedArray]"]=Bn["[object Uint16Array]"]=Bn["[object Uint32Array]"]=true,Bn["[object Arguments]"]=Bn["[object Array]"]=Bn["[object ArrayBuffer]"]=Bn["[object Boolean]"]=Bn["[object DataView]"]=Bn["[object Date]"]=Bn["[object Error]"]=Bn["[object Function]"]=Bn["[object Map]"]=Bn["[object Number]"]=Bn["[object Object]"]=Bn["[object RegExp]"]=Bn["[object Set]"]=Bn["[object String]"]=Bn["[object WeakMap]"]=false;
+var Ln={};Ln["[object Arguments]"]=Ln["[object Array]"]=Ln["[object ArrayBuffer]"]=Ln["[object DataView]"]=Ln["[object Boolean]"]=Ln["[object Date]"]=Ln["[object Float32Array]"]=Ln["[object Float64Array]"]=Ln["[object Int8Array]"]=Ln["[object Int16Array]"]=Ln["[object Int32Array]"]=Ln["[object Map]"]=Ln["[object Number]"]=Ln["[object Object]"]=Ln["[object RegExp]"]=Ln["[object Set]"]=Ln["[object String]"]=Ln["[object Symbol]"]=Ln["[object Uint8Array]"]=Ln["[object Uint8ClampedArray]"]=Ln["[object Uint16Array]"]=Ln["[object Uint32Array]"]=true,
+Ln["[object Error]"]=Ln["[object Function]"]=Ln["[object WeakMap]"]=false;var Un,Cn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Dn=parseFloat,Mn=parseInt,Tn=typeof global=="object"&&global&&global.Object===Object&&global,$n=typeof self=="object"&&self&&self.Object===Object&&self,Fn=Tn||$n||Function("return this")(),Nn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pn=Nn&&typeof module=="object"&&module&&!module.nodeType&&module,Zn=Pn&&Pn.exports===Nn,qn=Zn&&Tn.process;
+n:{try{Un=qn&&qn.binding&&qn.binding("util");break n}catch(n){}Un=void 0}var Vn=Un&&Un.isArrayBuffer,Kn=Un&&Un.isDate,Gn=Un&&Un.isMap,Hn=Un&&Un.isRegExp,Jn=Un&&Un.isSet,Yn=Un&&Un.isTypedArray,Qn=b("length"),Xn=x({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I",
"\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C",
"\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i",
"\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S",
"\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe",
-"\u0149":"'n","\u017f":"s"}),et=w({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),ut=w({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),it=function w(En){function On(n){if(xu(n)&&!af(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ci.call(n,"__wrapped__"))return Pe(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,
-this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Nn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Pn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function qn(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new Pn;++t<r;)this.add(n[t])}function Vn(n){
-this.size=(this.__data__=new Nn(n)).size}function Gn(n,t){var r,e=af(n),u=!e&&cf(n),i=!e&&!u&&sf(n),o=!e&&!u&&!i&&gf(n),u=(e=e||u||i||o)?E(n.length,ri):[],f=u.length;for(r in n)!t&&!ci.call(n,r)||e&&("length"==r||i&&("offset"==r||"parent"==r)||o&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||Re(r,f))||u.push(r);return u}function tt(n){var t=n.length;return t?n[cr(0,t-1)]:F}function ot(n,t){return Te(Mr(n),gt(t,0,n.length))}function ft(n){return Te(Mr(n))}function ct(n,t,r){(r===F||hu(n[t],r))&&(r!==F||t in n)||_t(n,t,r);
-}function at(n,t,r){var e=n[t];ci.call(n,t)&&hu(e,r)&&(r!==F||t in n)||_t(n,t,r)}function lt(n,t){for(var r=n.length;r--;)if(hu(n[r][0],t))return r;return-1}function st(n,t,r,e){return oo(n,function(n,u,i){t(e,n,r(n),i)}),e}function ht(n,t){return n&&Tr(t,Lu(t),n)}function pt(n,t){return n&&Tr(t,Uu(t),n)}function _t(n,t,r){"__proto__"==t&&Ei?Ei(n,t,{configurable:true,enumerable:true,value:r,writable:true}):n[t]=r}function vt(n,t){for(var r=-1,e=t.length,u=Hu(e),i=null==n;++r<e;)u[r]=i?F:Wu(n,t[r]);return u;
-}function gt(n,t,r){return n===n&&(r!==F&&(n=n<=r?n:r),t!==F&&(n=n>=t?n:t)),n}function dt(n,t,r,e,i,o){var f,c=1&t,a=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),f!==F)return f;if(!bu(n))return n;if(e=af(n)){if(f=Ee(n),!c)return Mr(n,f)}else{var s=yo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(sf(n))return Wr(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Oe(n),!c)return a?Fr(n,pt(f,n)):$r(n,ht(f,n))}else{if(!Dn[s])return i?n:{};f=Se(n,s,dt,c)}}if(o||(o=new Vn),
-i=o.get(n))return i;o.set(n,f);var a=l?a?ye:de:a?Uu:Lu,p=e?F:a(n);return u(p||n,function(e,u){p&&(u=e,e=n[u]),at(f,u,dt(e,t,r,u,n,o))}),f}function yt(n){var t=Lu(n);return function(r){return bt(r,n,t)}}function bt(n,t,r){var e=r.length;if(null==n)return!e;for(n=ni(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function xt(n,t,r){if(typeof n!="function")throw new ei("Expected a function");return jo(function(){n.apply(F,r)},t)}function jt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;
-if(!f)return s;r&&(t=l(t,S(r))),e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++u<f;){var p=n[u],_=null==r?p:r(p),p=e||0!==p?p:0;if(o&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function wt(n,t){var r=true;return oo(n,function(n,e,u){return r=!!t(n,e,u)}),r}function mt(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===F?o===o&&!Au(o):r(o,f)))var f=o,c=i}return c}function At(n,t){var r=[];return oo(n,function(n,e,u){
-t(n,e,u)&&r.push(n)}),r}function kt(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Ie),u||(u=[]);++i<o;){var f=n[i];0<t&&r(f)?1<t?kt(f,t-1,r,e,u):s(u,f):e||(u[u.length]=f)}return u}function Et(n,t){return n&&co(n,t,Lu)}function Ot(n,t){return n&&ao(n,t,Lu)}function St(n,t){return f(t,function(t){return gu(n[t])})}function It(n,t){t=Rr(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[$e(t[r++])];return r&&r==e?n:F}function Rt(n,t,r){return t=t(n),af(n)?t:s(t,r(n))}function zt(n){if(null==n)n=n===F?"[object Undefined]":"[object Null]";else if(ki&&ki in ni(n)){
-var t=ci.call(n,ki),r=n[ki];try{n[ki]=F;var e=true}catch(n){}var u=si.call(n);e&&(t?n[ki]=r:delete n[ki]),n=u}else n=si.call(n);return n}function Wt(n,t){return n>t}function Bt(n,t){return null!=n&&ci.call(n,t)}function Lt(n,t){return null!=n&&t in ni(n)}function Ut(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=Hu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Mi(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_<u&&h.length<s;){var g=p[_],d=t?t(g):g,g=r||0!==g?g:0;
-if(v?!R(v,d):!e(h,d,r)){for(o=i;--o;){var y=f[o];if(y?!R(y,d):!e(n[o],d,r))continue n}v&&v.push(d),h.push(g)}}return h}function Ct(n,t,r){var e={};return Et(n,function(n,u,i){t(e,r(n),u,i)}),e}function Dt(n,t,e){return t=Rr(t,n),n=2>t.length?n:It(n,vr(t,0,-1)),t=null==n?n:n[$e(Ge(t))],null==t?F:r(t,n,e)}function Mt(n){return xu(n)&&"[object Arguments]"==zt(n)}function Tt(n){return xu(n)&&"[object ArrayBuffer]"==zt(n)}function $t(n){return xu(n)&&"[object Date]"==zt(n)}function Ft(n,t,r,e,u){if(n===t)t=true;else if(null==n||null==t||!xu(n)&&!xu(t))t=n!==n&&t!==t;else n:{
-var i=af(n),o=af(t),f=i?"[object Array]":yo(n),c=o?"[object Array]":yo(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&sf(n)){if(!sf(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Vn),t=i||gf(n)?_e(n,t,r,e,Ft,u):ve(n,t,f,r,e,Ft,u);else{if(!(1&r)&&(i=a&&ci.call(n,"__wrapped__"),f=o&&ci.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Vn),t=Ft(n,t,r,e,u);break n}if(c)t:if(u||(u=new Vn),
-i=1&r,f=de(n),o=f.length,c=de(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:ci.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++a<o;){var l=f[a],h=n[l],p=t[l];if(e)var _=i?e(p,h,l,t,n,u):e(h,p,l,n,t,u);if(_===F?h!==p&&!Ft(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),
-u.delete(n),u.delete(t),t=c}}else t=false;else t=false}}return t}function Nt(n){return xu(n)&&"[object Map]"==yo(n)}function Pt(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ni(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return false}for(;++u<i;){var f=r[u],c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===F&&!(c in n))return false}else{if(f=new Vn,e)var s=e(a,l,c,n,t,f);if(s===F?!Ft(l,a,3,e,f):!s)return false}}return true}function Zt(n){return!(!bu(n)||li&&li in n)&&(gu(n)?_i:xn).test(Fe(n))}function qt(n){
-return xu(n)&&"[object RegExp]"==zt(n)}function Vt(n){return xu(n)&&"[object Set]"==yo(n)}function Kt(n){return xu(n)&&yu(n.length)&&!!Cn[zt(n)]}function Gt(n){return typeof n=="function"?n:null==n?Nu:typeof n=="object"?af(n)?Xt(n[0],n[1]):Qt(n):Vu(n)}function Ht(n){if(!Le(n))return Ci(n);var t,r=[];for(t in ni(n))ci.call(n,t)&&"constructor"!=t&&r.push(t);return r}function Jt(n,t){return n<t}function Yt(n,t){var r=-1,e=pu(n)?Hu(n.length):[];return oo(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function Qt(n){
-var t=me(n);return 1==t.length&&t[0][2]?Ue(t[0][0],t[0][1]):function(r){return r===n||Pt(r,n,t)}}function Xt(n,t){return We(n)&&t===t&&!bu(t)?Ue($e(n),t):function(r){var e=Wu(r,n);return e===F&&e===t?Bu(r,n):Ft(t,e,3)}}function nr(n,t,r,e,u){n!==t&&co(t,function(i,o){if(bu(i)){u||(u=new Vn);var f=u,c=n[o],a=t[o],l=f.get(a);if(l)ct(n,o,l);else{var l=e?e(c,a,o+"",n,t,f):F,s=l===F;if(s){var h=af(a),p=!h&&sf(a),_=!h&&!p&&gf(a),l=a;h||p||_?af(c)?l=c:_u(c)?l=Mr(c):p?(s=false,l=Wr(a,true)):_?(s=false,l=Lr(a,true)):l=[]:wu(a)||cf(a)?(l=c,
-cf(c)?l=Ru(c):(!bu(c)||r&&gu(c))&&(l=Oe(a))):s=false}s&&(f.set(a,l),nr(l,a,r,e,f),f.delete(a)),ct(n,o,l)}}else f=e?e(n[o],i,o+"",n,t,u):F,f===F&&(f=i),ct(n,o,f)},Uu)}function tr(n,t){var r=n.length;if(r)return t+=0>t?r:0,Re(t,r)?n[t]:F}function rr(n,t,r){var e=-1;return t=l(t.length?t:[Nu],S(je())),n=Yt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e<o;){var c=Ur(u[e],i[e]);if(c){e=e>=f?c:c*("desc"==r[e]?-1:1);
-break n}}e=n.b-t.b}return e})}function er(n,t){return ur(n,t,function(t,r){return Bu(n,r)})}function ur(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=It(n,o);r(f,o)&&pr(i,Rr(o,n),f)}return i}function ir(n){return function(t){return It(t,n)}}function or(n,t,r,e){var u=e?y:d,i=-1,o=t.length,f=n;for(n===t&&(t=Mr(t)),r&&(f=l(n,S(r)));++i<o;)for(var c=0,a=t[i],a=r?r(a):a;-1<(c=u(f,a,c,e));)f!==n&&wi.call(f,c,1),wi.call(n,c,1);return n}function fr(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];
-if(r==e||u!==i){var i=u;Re(u)?wi.call(n,u,1):mr(n,u)}}}function cr(n,t){return n+zi(Fi()*(t-n+1))}function ar(n,t){var r="";if(!n||1>t||9007199254740991<t)return r;do t%2&&(r+=n),(t=zi(t/2))&&(n+=n);while(t);return r}function lr(n,t){return wo(Ce(n,t,Nu),n+"")}function sr(n){return tt(Du(n))}function hr(n,t){var r=Du(n);return Te(r,gt(t,0,r.length))}function pr(n,t,r,e){if(!bu(n))return n;t=Rr(t,n);for(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=$e(t[u]),a=r;if(u!=o){var l=f[c],a=e?e(l,c,f):F;
-a===F&&(a=bu(l)?l:Re(t[u+1])?[]:{})}at(f,c,a),f=f[c]}return n}function _r(n){return Te(Du(n))}function vr(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Hu(u);++e<u;)r[e]=n[e+t];return r}function gr(n,t){var r;return oo(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function dr(n,t,r){var e=0,u=null==n?e:n.length;if(typeof t=="number"&&t===t&&2147483647>=u){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!Au(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return yr(n,t,Nu,r);
-}function yr(n,t,r,e){t=r(t);for(var u=0,i=null==n?0:n.length,o=t!==t,f=null===t,c=Au(t),a=t===F;u<i;){var l=zi((u+i)/2),s=r(n[l]),h=s!==F,p=null===s,_=s===s,v=Au(s);(o?e||_:a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):p||v?0:e?s<=t:s<t)?u=l+1:i=l}return Mi(i,4294967294)}function br(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!hu(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function xr(n){return typeof n=="number"?n:Au(n)?P:+n}function jr(n){if(typeof n=="string")return n;
-if(af(n))return l(n,jr)+"";if(Au(n))return uo?uo.call(n):"";var t=n+"";return"0"==t&&1/n==-N?"-0":t}function wr(n,t,r){var e=-1,u=c,i=n.length,o=true,f=[],l=f;if(r)o=false,u=a;else if(200<=i){if(u=t?null:po(n))return D(u);o=false,u=R,l=new qn}else l=t?[]:f;n:for(;++e<i;){var s=n[e],h=t?t(s):s,s=r||0!==s?s:0;if(o&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue n;t&&l.push(h),f.push(s)}else u(l,h,r)||(l!==f&&l.push(h),f.push(s))}return f}function mr(n,t){return t=Rr(t,n),n=2>t.length?n:It(n,vr(t,0,-1)),
-null==n||delete n[$e(Ge(t))]}function Ar(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?vr(n,e?0:i,e?i+1:u):vr(n,e?i+1:0,e?u:i)}function kr(n,t){var r=n;return r instanceof Mn&&(r=r.value()),h(t,function(n,t){return t.func.apply(t.thisArg,s([n],t.args))},r)}function Er(n,t,r){var e=n.length;if(2>e)return e?wr(n[0]):[];for(var u=-1,i=Hu(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=jt(i[u]||o,n[f],t,r));return wr(kt(i,1),t,r)}function Or(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:F);
-return o}function Sr(n){return _u(n)?n:[]}function Ir(n){return typeof n=="function"?n:Nu}function Rr(n,t){return af(n)?n:We(n,t)?[n]:mo(zu(n))}function zr(n,t,r){var e=n.length;return r=r===F?e:r,!t&&r>=e?n:vr(n,t,r)}function Wr(n,t){if(t)return n.slice();var r=n.length,r=yi?yi(r):new n.constructor(r);return n.copy(r),r}function Br(n){var t=new n.constructor(n.byteLength);return new di(t).set(new di(n)),t}function Lr(n,t){return new n.constructor(t?Br(n.buffer):n.buffer,n.byteOffset,n.length)}function Ur(n,t){
-if(n!==t){var r=n!==F,e=null===n,u=n===n,i=Au(n),o=t!==F,f=null===t,c=t===t,a=Au(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cr(n,t,r,e){var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Di(i-o,0),l=Hu(c+a);for(e=!e;++f<c;)l[f]=t[f];for(;++u<o;)(e||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Dr(n,t,r,e){var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Di(i-f,0),s=Hu(l+a);
-for(e=!e;++u<l;)s[u]=n[u];for(l=u;++c<a;)s[l+c]=t[c];for(;++o<f;)(e||u<i)&&(s[l+r[o]]=n[u++]);return s}function Mr(n,t){var r=-1,e=n.length;for(t||(t=Hu(e));++r<e;)t[r]=n[r];return t}function Tr(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):F;c===F&&(c=n[f]),u?_t(r,f,c):at(r,f,c)}return r}function $r(n,t){return Tr(n,vo(n),t)}function Fr(n,t){return Tr(n,go(n),t)}function Nr(n,t){return function(r,u){var i=af(r)?e:st,o=t?t():{};return i(r,n,je(u,2),o);
-}}function Pr(n){return lr(function(t,r){var e=-1,u=r.length,i=1<u?r[u-1]:F,o=2<u?r[2]:F,i=3<n.length&&typeof i=="function"?(u--,i):F;for(o&&ze(r[0],r[1],o)&&(i=3>u?F:i,u=1),t=ni(t);++e<u;)(o=r[e])&&n(t,o,e,i);return t})}function Zr(n,t){return function(r,e){if(null==r)return r;if(!pu(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ni(r);(t?i--:++i<u)&&false!==e(o[i],i,o););return r}}function qr(n){return function(t,r,e){var u=-1,i=ni(t);e=e(t);for(var o=e.length;o--;){var f=e[n?o:++u];if(false===r(i[f],f,i))break;
-}return t}}function Vr(n,t,r){function e(){return(this&&this!==Zn&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=1&t,i=Hr(n);return e}function Kr(n){return function(t){t=zu(t);var r=Bn.test(t)?$(t):F,e=r?r[0]:t.charAt(0);return t=r?zr(r,1).join(""):t.slice(1),e[n]()+t}}function Gr(n){return function(t){return h($u(Tu(t).replace(In,"")),n,"")}}function Hr(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:
-return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=io(n.prototype),t=n.apply(r,t);return bu(t)?t:r}}function Jr(n,t,e){function u(){for(var o=arguments.length,f=Hu(o),c=o,a=xe(u);c--;)f[c]=arguments[c];return c=3>o&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,o<e?fe(n,t,Xr,u.placeholder,F,f,c,F,F,e-o):r(this&&this!==Zn&&this instanceof u?i:n,this,f);
-}var i=Hr(n);return u}function Yr(n){return function(t,r,e){var u=ni(t);if(!pu(t)){var i=je(r,3);t=Lu(t),r=function(n){return i(u[n],n,u)}}return r=n(t,r,e),-1<r?u[i?t[r]:r]:F}}function Qr(n){return ge(function(t){var r=t.length,e=r,u=zn.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(typeof i!="function")throw new ei("Expected a function");if(u&&!o&&"wrapper"==be(i))var o=new zn([],true)}for(e=o?e:r;++e<r;)var i=t[e],u=be(i),f="wrapper"==u?_o(i):F,o=f&&Be(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?o[be(f[0])].apply(o,f[3]):1==i.length&&Be(i)?o[u]():o.thru(i);
-return function(){var n=arguments,e=n[0];if(o&&1==n.length&&af(e))return o.plant(e).value();for(var u=0,n=r?t[u].apply(this,n):e;++u<r;)n=t[u].call(this,n);return n}})}function Xr(n,t,r,e,u,i,o,f,c,a){function l(){for(var d=arguments.length,y=Hu(d),b=d;b--;)y[b]=arguments[b];if(_){var x,j=xe(l),b=y.length;for(x=0;b--;)y[b]===j&&++x}if(e&&(y=Cr(y,e,u,_)),i&&(y=Dr(y,i,o,_)),d-=x,_&&d<a)return j=C(y,j),fe(n,t,Xr,l.placeholder,r,y,j,f,c,a-d);if(j=h?r:this,b=p?j[n]:n,d=y.length,f){x=y.length;for(var w=Mi(f.length,x),m=Mr(y);w--;){
-var A=f[w];y[w]=Re(A,x)?m[A]:F}}else v&&1<d&&y.reverse();return s&&c<d&&(y.length=c),this&&this!==Zn&&this instanceof l&&(b=g||Hr(b)),b.apply(j,y)}var s=128&t,h=1&t,p=2&t,_=24&t,v=512&t,g=p?F:Hr(n);return l}function ne(n,t){return function(r,e){return Ct(r,n,t(e))}}function te(n,t){return function(r,e){var u;if(r===F&&e===F)return t;if(r!==F&&(u=r),e!==F){if(u===F)return e;typeof r=="string"||typeof e=="string"?(r=jr(r),e=jr(e)):(r=xr(r),e=xr(e)),u=n(r,e)}return u}}function re(n){return ge(function(t){
-return t=l(t,S(je())),lr(function(e){var u=this;return n(t,function(n){return r(n,u,e)})})})}function ee(n,t){t=t===F?" ":jr(t);var r=t.length;return 2>r?r?ar(t,n):t:(r=ar(t,Ri(n/T(t))),Bn.test(t)?zr($(r),0,n).join(""):r.slice(0,n))}function ue(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=Hu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++t];return r(h,o?e:this,s)}var o=1&t,f=Hr(n);return i}function ie(n){return function(t,r,e){
-e&&typeof e!="number"&&ze(t,r,e)&&(r=e=F),t=Eu(t),r===F?(r=t,t=0):r=Eu(r),e=e===F?t<r?1:-1:Eu(e);var u=-1;r=Di(Ri((r-t)/(e||1)),0);for(var i=Hu(r);r--;)i[n?r:++u]=t,t+=e;return i}}function oe(n){return function(t,r){return typeof t=="string"&&typeof r=="string"||(t=Iu(t),r=Iu(r)),n(t,r)}}function fe(n,t,r,e,u,i,o,f,c,a){var l=8&t,s=l?o:F;o=l?F:o;var h=l?i:F;return i=l?F:i,t=(t|(l?32:64))&~(l?64:32),4&t||(t&=-4),u=[n,t,u,h,s,i,o,f,c,a],r=r.apply(F,u),Be(n)&&xo(r,u),r.placeholder=e,De(r,n,t)}function ce(n){
-var t=Xu[n];return function(n,r){if(n=Iu(n),r=null==r?0:Mi(Ou(r),292)){var e=(zu(n)+"e").split("e"),e=t(e[0]+"e"+(+e[1]+r)),e=(zu(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return t(n)}}function ae(n){return function(t){var r=yo(t);return"[object Map]"==r?L(t):"[object Set]"==r?M(t):O(t,n(t))}}function le(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&typeof n!="function")throw new ei("Expected a function");var a=e?e.length:0;if(a||(t&=-97,e=u=F),o=o===F?o:Di(Ou(o),0),f=f===F?f:Ou(f),a-=u?u.length:0,64&t){
-var l=e,s=u;e=u=F}var h=c?F:_o(n);return i=[n,t,r,e,u,l,s,i,o,f],h&&(r=i[1],n=h[1],t=r|n,e=128==n&&8==r||128==n&&256==r&&i[7].length<=h[8]||384==n&&h[7].length<=h[8]&&8==r,131>t||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Cr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Dr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Mi(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1],
-r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===F?c?0:n.length:Di(i[9]-a,0),!f&&24&t&&(t&=-25),De((h?lo:xo)(t&&1!=t?8==t||16==t?Jr(n,t,f):32!=t&&33!=t||u.length?Xr.apply(F,i):ue(n,t,r,e):Vr(n,t,r),i),n,t)}function se(n,t,r,e){return n===F||hu(n,ii[r])&&!ci.call(e,r)?t:n}function he(n,t,r,e,u,i){return bu(n)&&bu(t)&&(i.set(t,n),nr(n,t,F,he,i),i.delete(t)),n}function pe(n){return wu(n)?F:n}function _e(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=2&r?new qn:F;
-for(i.set(n,t),i.set(t,n);++c<f;){var s=n[c],h=t[c];if(e)var p=o?e(h,s,c,t,n,i):e(s,h,c,n,t,i);if(p!==F){if(p)continue;a=false;break}if(l){if(!_(t,function(n,t){if(!R(l,t)&&(s===n||u(s,n,r,e,i)))return l.push(t)})){a=false;break}}else if(s!==h&&!u(s,h,r,e,i)){a=false;break}}return i.delete(n),i.delete(t),a}function ve(n,t,r,e,u,i,o){switch(r){case"[object DataView]":if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)break;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":if(n.byteLength!=t.byteLength||!i(new di(n),new di(t)))break;
-return true;case"[object Boolean]":case"[object Date]":case"[object Number]":return hu(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var f=L;case"[object Set]":if(f||(f=D),n.size!=t.size&&!(1&e))break;return(r=o.get(n))?r==t:(e|=2,o.set(n,t),t=_e(f(n),f(t),e,u,i,o),o.delete(n),t);case"[object Symbol]":if(eo)return eo.call(n)==eo.call(t)}return false}function ge(n){return wo(Ce(n,F,Ve),n+"")}function de(n){
-return Rt(n,Lu,vo)}function ye(n){return Rt(n,Uu,go)}function be(n){for(var t=n.name+"",r=Ji[t],e=ci.call(Ji,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function xe(n){return(ci.call(On,"placeholder")?On:n).placeholder}function je(){var n=On.iteratee||Pu,n=n===Pu?Gt:n;return arguments.length?n(arguments[0],arguments[1]):n}function we(n,t){var r=n.__data__,e=typeof t;return("string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t)?r[typeof t=="string"?"string":"hash"]:r.map;
-}function me(n){for(var t=Lu(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,u===u&&!bu(u)]}return t}function Ae(n,t){var r=null==n?F:n[t];return Zt(r)?r:F}function ke(n,t,r){t=Rr(t,n);for(var e=-1,u=t.length,i=false;++e<u;){var o=$e(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&yu(u)&&Re(o,u)&&(af(n)||cf(n)))}function Ee(n){var t=n.length,r=n.constructor(t);return t&&"string"==typeof n[0]&&ci.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Oe(n){
-return typeof n.constructor!="function"||Le(n)?{}:io(bi(n))}function Se(r,e,u,i){var o=r.constructor;switch(e){case"[object ArrayBuffer]":return Br(r);case"[object Boolean]":case"[object Date]":return new o(+r);case"[object DataView]":return e=i?Br(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":
-case"[object Uint16Array]":case"[object Uint32Array]":return Lr(r,i);case"[object Map]":return e=i?u(L(r),1):L(r),h(e,n,new r.constructor);case"[object Number]":case"[object String]":return new o(r);case"[object RegExp]":return e=new r.constructor(r.source,dn.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=i?u(D(r),1):D(r),h(e,t,new r.constructor);case"[object Symbol]":return eo?ni(eo.call(r)):{}}}function Ie(n){return af(n)||cf(n)||!!(mi&&n&&n[mi])}function Re(n,t){return t=null==t?9007199254740991:t,
-!!t&&(typeof n=="number"||wn.test(n))&&-1<n&&0==n%1&&n<t}function ze(n,t,r){if(!bu(r))return false;var e=typeof t;return!!("number"==e?pu(r)&&Re(t,r.length):"string"==e&&t in r)&&hu(r[t],n)}function We(n,t){if(af(n))return false;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!Au(n))||(rn.test(n)||!tn.test(n)||null!=t&&n in ni(t))}function Be(n){var t=be(n),r=On[t];return typeof r=="function"&&t in Mn.prototype&&(n===r||(t=_o(r),!!t&&n===t[0]))}function Le(n){var t=n&&n.constructor;
-return n===(typeof t=="function"&&t.prototype||ii)}function Ue(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==F||n in ni(r)))}}function Ce(n,t,e){return t=Di(t===F?n.length-1:t,0),function(){for(var u=arguments,i=-1,o=Di(u.length-t,0),f=Hu(o);++i<o;)f[i]=u[t+i];for(i=-1,o=Hu(t+1);++i<t;)o[i]=u[i];return o[t]=e(f),r(n,this,o)}}function De(n,t,r){var e=t+"";t=wo;var u,i=Ne;return u=(u=e.match(hn))?u[1].split(pn):[],r=i(u,r),(i=r.length)&&(u=i-1,r[u]=(1<i?"& ":"")+r[u],r=r.join(2<i?", ":" "),
-e=e.replace(sn,"{\n/* [wrapped with "+r+"] */\n")),t(n,e)}function Me(n){var t=0,r=0;return function(){var e=Ti(),u=16-(e-r);if(r=e,0<u){if(800<=++t)return arguments[0]}else t=0;return n.apply(F,arguments)}}function Te(n,t){var r=-1,e=n.length,u=e-1;for(t=t===F?e:t;++r<t;){var e=cr(r,u),i=n[e];n[e]=n[r],n[r]=i}return n.length=t,n}function $e(n){if(typeof n=="string"||Au(n))return n;var t=n+"";return"0"==t&&1/n==-N?"-0":t}function Fe(n){if(null!=n){try{return fi.call(n)}catch(n){}return n+""}return"";
-}function Ne(n,t){return u(Z,function(r){var e="_."+r[0];t&r[1]&&!c(n,e)&&n.push(e)}),n.sort()}function Pe(n){if(n instanceof Mn)return n.clone();var t=new zn(n.__wrapped__,n.__chain__);return t.__actions__=Mr(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Ze(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Ou(r),0>r&&(r=Di(e+r,0)),g(n,je(t,3),r)):-1}function qe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=Ou(r),u=0>r?Di(e+u,0):Mi(u,e-1)),
-g(n,je(t,3),u,true)}function Ve(n){return(null==n?0:n.length)?kt(n,1):[]}function Ke(n){return n&&n.length?n[0]:F}function Ge(n){var t=null==n?0:n.length;return t?n[t-1]:F}function He(n,t){return n&&n.length&&t&&t.length?or(n,t):n}function Je(n){return null==n?n:Ni.call(n)}function Ye(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(_u(n))return t=Di(n.length,t),true}),E(t,function(t){return l(n,j(t))})}function Qe(n,t){if(!n||!n.length)return[];var e=Ye(n);return null==t?e:l(e,function(n){
-return r(t,F,n)})}function Xe(n){return n=On(n),n.__chain__=true,n}function nu(n,t){return t(n)}function tu(){return this}function ru(n,t){return(af(n)?u:oo)(n,je(t,3))}function eu(n,t){return(af(n)?i:fo)(n,je(t,3))}function uu(n,t){return(af(n)?l:Yt)(n,je(t,3))}function iu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,le(n,128,F,F,F,F,t)}function ou(n,t){var r;if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F),
-r}}function fu(n,t,r){return t=r?F:t,n=le(n,8,F,F,F,F,F,t),n.placeholder=fu.placeholder,n}function cu(n,t,r){return t=r?F:t,n=le(n,16,F,F,F,F,F,t),n.placeholder=cu.placeholder,n}function au(n,t,r){function e(t){var r=c,e=a;return c=a=F,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Jo();if(u(n))return o(n);var r,e=jo;r=n-_,n=t-(n-p),r=g?Mi(n,l-r):n,h=e(i,r)}function o(n){return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Jo(),r=u(n);if(c=arguments,
-a=this,p=n,r){if(h===F)return _=n=p,h=jo(i,t),v?e(n):s;if(g)return h=jo(i,t),e(p)}return h===F&&(h=jo(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ei("Expected a function");return t=Iu(t)||0,bu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Di(Iu(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&ho(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Jo())},f}function lu(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),
-r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new ei("Expected a function");return r.cache=new(lu.Cache||Pn),r}function su(n){if(typeof n!="function")throw new ei("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function hu(n,t){return n===t||n!==n&&t!==t}function pu(n){return null!=n&&yu(n.length)&&!gu(n);
-}function _u(n){return xu(n)&&pu(n)}function vu(n){if(!xu(n))return false;var t=zt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!wu(n)}function gu(n){return!!bu(n)&&(n=zt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function du(n){return typeof n=="number"&&n==Ou(n)}function yu(n){return typeof n=="number"&&-1<n&&0==n%1&&9007199254740991>=n}function bu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t);
-}function xu(n){return null!=n&&typeof n=="object"}function ju(n){return typeof n=="number"||xu(n)&&"[object Number]"==zt(n)}function wu(n){return!(!xu(n)||"[object Object]"!=zt(n))&&(n=bi(n),null===n||(n=ci.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&fi.call(n)==hi))}function mu(n){return typeof n=="string"||!af(n)&&xu(n)&&"[object String]"==zt(n)}function Au(n){return typeof n=="symbol"||xu(n)&&"[object Symbol]"==zt(n)}function ku(n){if(!n)return[];if(pu(n))return mu(n)?$(n):Mr(n);
-if(Ai&&n[Ai]){n=n[Ai]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=yo(n),("[object Map]"==t?L:"[object Set]"==t?D:Du)(n)}function Eu(n){return n?(n=Iu(n),n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function Ou(n){n=Eu(n);var t=n%1;return n===n?t?n-t:n:0}function Su(n){return n?gt(Ou(n),0,4294967295):0}function Iu(n){if(typeof n=="number")return n;if(Au(n))return P;if(bu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=bu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;
-n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Ru(n){return Tr(n,Uu(n))}function zu(n){return null==n?"":jr(n)}function Wu(n,t,r){return n=null==n?F:It(n,t),n===F?r:n}function Bu(n,t){return null!=n&&ke(n,t,Lt)}function Lu(n){return pu(n)?Gn(n):Ht(n)}function Uu(n){if(pu(n))n=Gn(n,true);else if(bu(n)){var t,r=Le(n),e=[];for(t in n)("constructor"!=t||!r&&ci.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in ni(n))t.push(r);n=t}return n}function Cu(n,t){
-if(null==n)return{};var r=l(ye(n),function(n){return[n]});return t=je(t),ur(n,r,function(n,r){return t(n,r[0])})}function Du(n){return null==n?[]:I(n,Lu(n))}function Mu(n){return Nf(zu(n).toLowerCase())}function Tu(n){return(n=zu(n))&&n.replace(mn,rt).replace(Rn,"")}function $u(n,t,r){return n=zu(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Fu(n){return function(){return n}}function Nu(n){return n}function Pu(n){return Gt(typeof n=="function"?n:dt(n,1))}function Zu(n,t,r){
-var e=Lu(t),i=St(t,e);null!=r||bu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=St(t,Lu(t)));var o=!(bu(r)&&"chain"in r&&!r.chain),f=gu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Mr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function qu(){}function Vu(n){return We(n)?j($e(n)):ir(n)}function Ku(){return[]}function Gu(){
-return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));var Hu=En.Array,Ju=En.Date,Yu=En.Error,Qu=En.Function,Xu=En.Math,ni=En.Object,ti=En.RegExp,ri=En.String,ei=En.TypeError,ui=Hu.prototype,ii=ni.prototype,oi=En["__core-js_shared__"],fi=Qu.prototype.toString,ci=ii.hasOwnProperty,ai=0,li=function(){var n=/[^.]+$/.exec(oi&&oi.keys&&oi.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),si=ii.toString,hi=fi.call(ni),pi=Zn._,_i=ti("^"+fi.call(ci).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vi=Kn?En.Buffer:F,gi=En.Symbol,di=En.Uint8Array,yi=vi?vi.f:F,bi=U(ni.getPrototypeOf,ni),xi=ni.create,ji=ii.propertyIsEnumerable,wi=ui.splice,mi=gi?gi.isConcatSpreadable:F,Ai=gi?gi.iterator:F,ki=gi?gi.toStringTag:F,Ei=function(){
-try{var n=Ae(ni,"defineProperty");return n({},"",{}),n}catch(n){}}(),Oi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Si=Ju&&Ju.now!==Zn.Date.now&&Ju.now,Ii=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ri=Xu.ceil,zi=Xu.floor,Wi=ni.getOwnPropertySymbols,Bi=vi?vi.isBuffer:F,Li=En.isFinite,Ui=ui.join,Ci=U(ni.keys,ni),Di=Xu.max,Mi=Xu.min,Ti=Ju.now,$i=En.parseInt,Fi=Xu.random,Ni=ui.reverse,Pi=Ae(En,"DataView"),Zi=Ae(En,"Map"),qi=Ae(En,"Promise"),Vi=Ae(En,"Set"),Ki=Ae(En,"WeakMap"),Gi=Ae(ni,"create"),Hi=Ki&&new Ki,Ji={},Yi=Fe(Pi),Qi=Fe(Zi),Xi=Fe(qi),no=Fe(Vi),to=Fe(Ki),ro=gi?gi.prototype:F,eo=ro?ro.valueOf:F,uo=ro?ro.toString:F,io=function(){
-function n(){}return function(t){return bu(t)?xi?xi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=io(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=io(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Gi?Gi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
-this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Gi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ci.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Gi?t[n]!==F:ci.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Gi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=lt(t,n),!(0>n)&&(n==t.length-1?t.pop():wi.call(t,n,1),
---this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=lt(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1<lt(this.__data__,n)},Nn.prototype.set=function(n,t){var r=this.__data__,e=lt(r,n);return 0>e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new(Zi||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=we(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return we(this,n).get(n);
-},Pn.prototype.has=function(n){return we(this,n).has(n)},Pn.prototype.set=function(n,t){var r=we(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){
-return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!Zi||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var oo=Zr(Et),fo=Zr(Ot,true),co=qr(),ao=qr(true),lo=Hi?function(n,t){return Hi.set(n,t),n}:Nu,so=Ei?function(n,t){return Ei(n,"toString",{configurable:true,enumerable:false,value:Fu(t),writable:true})}:Nu,ho=Oi||function(n){
-return Zn.clearTimeout(n)},po=Vi&&1/D(new Vi([,-0]))[1]==N?function(n){return new Vi(n)}:qu,_o=Hi?function(n){return Hi.get(n)}:qu,vo=Wi?function(n){return null==n?[]:(n=ni(n),f(Wi(n),function(t){return ji.call(n,t)}))}:Ku,go=Wi?function(n){for(var t=[];n;)s(t,vo(n)),n=bi(n);return t}:Ku,yo=zt;(Pi&&"[object DataView]"!=yo(new Pi(new ArrayBuffer(1)))||Zi&&"[object Map]"!=yo(new Zi)||qi&&"[object Promise]"!=yo(qi.resolve())||Vi&&"[object Set]"!=yo(new Vi)||Ki&&"[object WeakMap]"!=yo(new Ki))&&(yo=function(n){
-var t=zt(n);if(n=(n="[object Object]"==t?n.constructor:F)?Fe(n):"")switch(n){case Yi:return"[object DataView]";case Qi:return"[object Map]";case Xi:return"[object Promise]";case no:return"[object Set]";case to:return"[object WeakMap]"}return t});var bo=oi?gu:Gu,xo=Me(lo),jo=Ii||function(n,t){return Zn.setTimeout(n,t)},wo=Me(so),mo=function(n){n=lu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){
-t.push(e?u.replace(vn,"$1"):r||n)}),t}),Ao=lr(function(n,t){return _u(n)?jt(n,kt(t,1,_u,true)):[]}),ko=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),je(r,2)):[]}),Eo=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),F,r):[]}),Oo=lr(function(n){var t=l(n,Sr);return t.length&&t[0]===n[0]?Ut(t):[]}),So=lr(function(n){var t=Ge(n),r=l(n,Sr);return t===Ge(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ut(r,je(t,2)):[]}),Io=lr(function(n){var t=Ge(n),r=l(n,Sr);return(t=typeof t=="function"?t:F)&&r.pop(),
-r.length&&r[0]===n[0]?Ut(r,F,t):[]}),Ro=lr(He),zo=ge(function(n,t){var r=null==n?0:n.length,e=vt(n,t);return fr(n,l(t,function(n){return Re(n,r)?+n:n}).sort(Ur)),e}),Wo=lr(function(n){return wr(kt(n,1,_u,true))}),Bo=lr(function(n){var t=Ge(n);return _u(t)&&(t=F),wr(kt(n,1,_u,true),je(t,2))}),Lo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return wr(kt(n,1,_u,true),F,t)}),Uo=lr(function(n,t){return _u(n)?jt(n,t):[]}),Co=lr(function(n){return Er(f(n,_u))}),Do=lr(function(n){var t=Ge(n);return _u(t)&&(t=F),
-Er(f(n,_u),je(t,2))}),Mo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return Er(f(n,_u),F,t)}),To=lr(Ye),$o=lr(function(n){var t=n.length,t=1<t?n[t-1]:F,t=typeof t=="function"?(n.pop(),t):F;return Qe(n,t)}),Fo=ge(function(n){function t(t){return vt(t,n)}var r=n.length,e=r?n[0]:0,u=this.__wrapped__;return!(1<r||this.__actions__.length)&&u instanceof Mn&&Re(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:nu,args:[t],thisArg:F}),new zn(u,this.__chain__).thru(function(n){return r&&!n.length&&n.push(F),
-n})):this.thru(t)}),No=Nr(function(n,t,r){ci.call(n,r)?++n[r]:_t(n,r,1)}),Po=Yr(Ze),Zo=Yr(qe),qo=Nr(function(n,t,r){ci.call(n,r)?n[r].push(t):_t(n,r,[t])}),Vo=lr(function(n,t,e){var u=-1,i=typeof t=="function",o=pu(n)?Hu(n.length):[];return oo(n,function(n){o[++u]=i?r(t,n,e):Dt(n,t,e)}),o}),Ko=Nr(function(n,t,r){_t(n,r,t)}),Go=Nr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),Ho=lr(function(n,t){if(null==n)return[];var r=t.length;return 1<r&&ze(n,t[0],t[1])?t=[]:2<r&&ze(t[0],t[1],t[2])&&(t=[t[0]]),
-rr(n,kt(t,1),[])}),Jo=Si||function(){return Zn.Date.now()},Yo=lr(function(n,t,r){var e=1;if(r.length)var u=C(r,xe(Yo)),e=32|e;return le(n,e,t,r,u)}),Qo=lr(function(n,t,r){var e=3;if(r.length)var u=C(r,xe(Qo)),e=32|e;return le(t,e,n,r,u)}),Xo=lr(function(n,t){return xt(n,1,t)}),nf=lr(function(n,t,r){return xt(n,Iu(t)||0,r)});lu.Cache=Pn;var tf=lr(function(n,t){t=1==t.length&&af(t[0])?l(t[0],S(je())):l(kt(t,1),S(je()));var e=t.length;return lr(function(u){for(var i=-1,o=Mi(u.length,e);++i<o;)u[i]=t[i].call(this,u[i]);
-return r(n,this,u)})}),rf=lr(function(n,t){return le(n,32,F,t,C(t,xe(rf)))}),ef=lr(function(n,t){return le(n,64,F,t,C(t,xe(ef)))}),uf=ge(function(n,t){return le(n,256,F,F,F,t)}),of=oe(Wt),ff=oe(function(n,t){return n>=t}),cf=Mt(function(){return arguments}())?Mt:function(n){return xu(n)&&ci.call(n,"callee")&&!ji.call(n,"callee")},af=Hu.isArray,lf=Hn?S(Hn):Tt,sf=Bi||Gu,hf=Jn?S(Jn):$t,pf=Yn?S(Yn):Nt,_f=Qn?S(Qn):qt,vf=Xn?S(Xn):Vt,gf=nt?S(nt):Kt,df=oe(Jt),yf=oe(function(n,t){return n<=t}),bf=Pr(function(n,t){
-if(Le(t)||pu(t))Tr(t,Lu(t),n);else for(var r in t)ci.call(t,r)&&at(n,r,t[r])}),xf=Pr(function(n,t){Tr(t,Uu(t),n)}),jf=Pr(function(n,t,r,e){Tr(t,Uu(t),n,e)}),wf=Pr(function(n,t,r,e){Tr(t,Lu(t),n,e)}),mf=ge(vt),Af=lr(function(n){return n.push(F,se),r(jf,F,n)}),kf=lr(function(n){return n.push(F,he),r(Rf,F,n)}),Ef=ne(function(n,t,r){n[t]=r},Fu(Nu)),Of=ne(function(n,t,r){ci.call(n,t)?n[t].push(r):n[t]=[r]},je),Sf=lr(Dt),If=Pr(function(n,t,r){nr(n,t,r)}),Rf=Pr(function(n,t,r,e){nr(n,t,r,e)}),zf=ge(function(n,t){
-var r={};if(null==n)return r;var e=false;t=l(t,function(t){return t=Rr(t,n),e||(e=1<t.length),t}),Tr(n,ye(n),r),e&&(r=dt(r,7,pe));for(var u=t.length;u--;)mr(r,t[u]);return r}),Wf=ge(function(n,t){return null==n?{}:er(n,t)}),Bf=ae(Lu),Lf=ae(Uu),Uf=Gr(function(n,t,r){return t=t.toLowerCase(),n+(r?Mu(t):t)}),Cf=Gr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Df=Gr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Mf=Kr("toLowerCase"),Tf=Gr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase();
-}),$f=Gr(function(n,t,r){return n+(r?" ":"")+Nf(t)}),Ff=Gr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Nf=Kr("toUpperCase"),Pf=lr(function(n,t){try{return r(n,F,t)}catch(n){return vu(n)?n:new Yu(n)}}),Zf=ge(function(n,t){return u(t,function(t){t=$e(t),_t(n,t,Yo(n[t],n))}),n}),qf=Qr(),Vf=Qr(true),Kf=lr(function(n,t){return function(r){return Dt(r,n,t)}}),Gf=lr(function(n,t){return function(r){return Dt(n,r,t)}}),Hf=re(l),Jf=re(o),Yf=re(_),Qf=ie(),Xf=ie(true),nc=te(function(n,t){return n+t},0),tc=ce("ceil"),rc=te(function(n,t){
-return n/t},1),ec=ce("floor"),uc=te(function(n,t){return n*t},1),ic=ce("round"),oc=te(function(n,t){return n-t},0);return On.after=function(n,t){if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){if(1>--n)return t.apply(this,arguments)}},On.ary=iu,On.assign=bf,On.assignIn=xf,On.assignInWith=jf,On.assignWith=wf,On.at=mf,On.before=ou,On.bind=Yo,On.bindAll=Zf,On.bindKey=Qo,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return af(n)?n:[n]},
-On.chain=Xe,On.chunk=function(n,t,r){if(t=(r?ze(n,t,r):t===F)?1:Di(Ou(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Hu(Ri(r/t));e<r;)i[u++]=vr(n,e,e+=t);return i},On.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},On.concat=function(){var n=arguments.length;if(!n)return[];for(var t=Hu(n-1),r=arguments[0];n--;)t[n-1]=arguments[n];return s(af(r)?Mr(r):[r],kt(t,1))},On.cond=function(n){var t=null==n?0:n.length,e=je();return n=t?l(n,function(n){
-if("function"!=typeof n[1])throw new ei("Expected a function");return[e(n[0]),n[1]]}):[],lr(function(e){for(var u=-1;++u<t;){var i=n[u];if(r(i[0],this,e))return r(i[1],this,e)}})},On.conforms=function(n){return yt(dt(n,1))},On.constant=Fu,On.countBy=No,On.create=function(n,t){var r=io(n);return null==t?r:ht(r,t)},On.curry=fu,On.curryRight=cu,On.debounce=au,On.defaults=Af,On.defaultsDeep=kf,On.defer=Xo,On.delay=nf,On.difference=Ao,On.differenceBy=ko,On.differenceWith=Eo,On.drop=function(n,t,r){var e=null==n?0:n.length;
-return e?(t=r||t===F?1:Ou(t),vr(n,0>t?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0,0>t?0:t)):[]},On.dropRightWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true,true):[]},On.dropWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&ze(n,t,r)&&(r=0,e=u),u=n.length,r=Ou(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:Ou(e),0>e&&(e+=u),e=r>e?0:Su(e);r<e;)n[r++]=t;
-return n},On.filter=function(n,t){return(af(n)?f:At)(n,je(t,3))},On.flatMap=function(n,t){return kt(uu(n,t),1)},On.flatMapDeep=function(n,t){return kt(uu(n,t),N)},On.flatMapDepth=function(n,t,r){return r=r===F?1:Ou(r),kt(uu(n,t),r)},On.flatten=Ve,On.flattenDeep=function(n){return(null==n?0:n.length)?kt(n,N):[]},On.flattenDepth=function(n,t){return null!=n&&n.length?(t=t===F?1:Ou(t),kt(n,t)):[]},On.flip=function(n){return le(n,512)},On.flow=qf,On.flowRight=Vf,On.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){
-var u=n[t];e[u[0]]=u[1]}return e},On.functions=function(n){return null==n?[]:St(n,Lu(n))},On.functionsIn=function(n){return null==n?[]:St(n,Uu(n))},On.groupBy=qo,On.initial=function(n){return(null==n?0:n.length)?vr(n,0,-1):[]},On.intersection=Oo,On.intersectionBy=So,On.intersectionWith=Io,On.invert=Ef,On.invertBy=Of,On.invokeMap=Vo,On.iteratee=Pu,On.keyBy=Ko,On.keys=Lu,On.keysIn=Uu,On.map=uu,On.mapKeys=function(n,t){var r={};return t=je(t,3),Et(n,function(n,e,u){_t(r,t(n,e,u),n)}),r},On.mapValues=function(n,t){
-var r={};return t=je(t,3),Et(n,function(n,e,u){_t(r,e,t(n,e,u))}),r},On.matches=function(n){return Qt(dt(n,1))},On.matchesProperty=function(n,t){return Xt(n,dt(t,1))},On.memoize=lu,On.merge=If,On.mergeWith=Rf,On.method=Kf,On.methodOf=Gf,On.mixin=Zu,On.negate=su,On.nthArg=function(n){return n=Ou(n),lr(function(t){return tr(t,n)})},On.omit=zf,On.omitBy=function(n,t){return Cu(n,su(je(t)))},On.once=function(n){return ou(2,n)},On.orderBy=function(n,t,r,e){return null==n?[]:(af(t)||(t=null==t?[]:[t]),
-r=e?F:r,af(r)||(r=null==r?[]:[r]),rr(n,t,r))},On.over=Hf,On.overArgs=tf,On.overEvery=Jf,On.overSome=Yf,On.partial=rf,On.partialRight=ef,On.partition=Go,On.pick=Wf,On.pickBy=Cu,On.property=Vu,On.propertyOf=function(n){return function(t){return null==n?F:It(n,t)}},On.pull=Ro,On.pullAll=He,On.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,je(r,2)):n},On.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,F,r):n},On.pullAt=zo,On.range=Qf,On.rangeRight=Xf,On.rearg=uf,On.reject=function(n,t){
-return(af(n)?f:At)(n,su(je(t,3)))},On.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=je(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return fr(n,u),r},On.rest=function(n,t){if(typeof n!="function")throw new ei("Expected a function");return t=t===F?t:Ou(t),lr(n,t)},On.reverse=Je,On.sampleSize=function(n,t,r){return t=(r?ze(n,t,r):t===F)?1:Ou(t),(af(n)?ot:hr)(n,t)},On.set=function(n,t,r){return null==n?n:pr(n,t,r)},On.setWith=function(n,t,r,e){return e=typeof e=="function"?e:F,
-null==n?n:pr(n,t,r,e)},On.shuffle=function(n){return(af(n)?ft:_r)(n)},On.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&typeof r!="number"&&ze(n,t,r)?(t=0,r=e):(t=null==t?0:Ou(t),r=r===F?e:Ou(r)),vr(n,t,r)):[]},On.sortBy=Ho,On.sortedUniq=function(n){return n&&n.length?br(n):[]},On.sortedUniqBy=function(n,t){return n&&n.length?br(n,je(t,2)):[]},On.split=function(n,t,r){return r&&typeof r!="number"&&ze(n,t,r)&&(t=r=F),r=r===F?4294967295:r>>>0,r?(n=zu(n))&&(typeof t=="string"||null!=t&&!_f(t))&&(t=jr(t),
-!t&&Bn.test(n))?zr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new ei("Expected a function");return t=null==t?0:Di(Ou(t),0),lr(function(e){var u=e[t];return e=zr(e,0,t),u&&s(e,u),r(n,this,e)})},On.tail=function(n){var t=null==n?0:n.length;return t?vr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:Ou(t),vr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){
-return n&&n.length?Ar(n,je(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?Ar(n,je(t,3)):[]},On.tap=function(n,t){return t(n),n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ei("Expected a function");return bu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),au(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=nu,On.toArray=ku,On.toPairs=Bf,On.toPairsIn=Lf,On.toPath=function(n){return af(n)?l(n,$e):Au(n)?[n]:Mr(mo(zu(n)))},On.toPlainObject=Ru,
-On.transform=function(n,t,r){var e=af(n),i=e||sf(n)||gf(n);if(t=je(t,4),null==r){var o=n&&n.constructor;r=i?e?new o:[]:bu(n)&&gu(o)?io(bi(n)):{}}return(i?u:Et)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return iu(n,1)},On.union=Wo,On.unionBy=Bo,On.unionWith=Lo,On.uniq=function(n){return n&&n.length?wr(n):[]},On.uniqBy=function(n,t){return n&&n.length?wr(n,je(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?wr(n,F,t):[]},On.unset=function(n,t){return null==n||mr(n,t);
-},On.unzip=Ye,On.unzipWith=Qe,On.update=function(n,t,r){return null==n?n:pr(n,t,Ir(r)(It(n,t)),void 0)},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=pr(n,t,Ir(r)(It(n,t)),e)),n},On.values=Du,On.valuesIn=function(n){return null==n?[]:I(n,Uu(n))},On.without=Uo,On.words=$u,On.wrap=function(n,t){return rf(Ir(t),n)},On.xor=Co,On.xorBy=Do,On.xorWith=Mo,On.zip=To,On.zipObject=function(n,t){return Or(n||[],t||[],at)},On.zipObjectDeep=function(n,t){return Or(n||[],t||[],pr);
-},On.zipWith=$o,On.entries=Bf,On.entriesIn=Lf,On.extend=xf,On.extendWith=jf,Zu(On,On),On.add=nc,On.attempt=Pf,On.camelCase=Uf,On.capitalize=Mu,On.ceil=tc,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=Iu(r),r=r===r?r:0),t!==F&&(t=Iu(t),t=t===t?t:0),gt(Iu(n),t,r)},On.clone=function(n){return dt(n,4)},On.cloneDeep=function(n){return dt(n,5)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,5,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,4,t)},
-On.conformsTo=function(n,t){return null==t||bt(n,t,Lu(t))},On.deburr=Tu,On.defaultTo=function(n,t){return null==n||n!==n?t:n},On.divide=rc,On.endsWith=function(n,t,r){n=zu(n),t=jr(t);var e=n.length,e=r=r===F?e:gt(Ou(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=hu,On.escape=function(n){return(n=zu(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=zu(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=af(n)?o:wt;return r&&ze(n,t,r)&&(t=F),e(n,je(t,3));
-},On.find=Po,On.findIndex=Ze,On.findKey=function(n,t){return v(n,je(t,3),Et)},On.findLast=Zo,On.findLastIndex=qe,On.findLastKey=function(n,t){return v(n,je(t,3),Ot)},On.floor=ec,On.forEach=ru,On.forEachRight=eu,On.forIn=function(n,t){return null==n?n:co(n,je(t,3),Uu)},On.forInRight=function(n,t){return null==n?n:ao(n,je(t,3),Uu)},On.forOwn=function(n,t){return n&&Et(n,je(t,3))},On.forOwnRight=function(n,t){return n&&Ot(n,je(t,3))},On.get=Wu,On.gt=of,On.gte=ff,On.has=function(n,t){return null!=n&&ke(n,t,Bt);
-},On.hasIn=Bu,On.head=Ke,On.identity=Nu,On.includes=function(n,t,r,e){return n=pu(n)?n:Du(n),r=r&&!e?Ou(r):0,e=n.length,0>r&&(r=Di(e+r,0)),mu(n)?r<=e&&-1<n.indexOf(t,r):!!e&&-1<d(n,t,r)},On.indexOf=function(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Ou(r),0>r&&(r=Di(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=Eu(t),r===F?(r=t,t=0):r=Eu(r),n=Iu(n),n>=Mi(t,r)&&n<Di(t,r)},On.invoke=Sf,On.isArguments=cf,On.isArray=af,On.isArrayBuffer=lf,On.isArrayLike=pu,On.isArrayLikeObject=_u,
-On.isBoolean=function(n){return true===n||false===n||xu(n)&&"[object Boolean]"==zt(n)},On.isBuffer=sf,On.isDate=hf,On.isElement=function(n){return xu(n)&&1===n.nodeType&&!wu(n)},On.isEmpty=function(n){if(null==n)return true;if(pu(n)&&(af(n)||typeof n=="string"||typeof n.splice=="function"||sf(n)||gf(n)||cf(n)))return!n.length;var t=yo(n);if("[object Map]"==t||"[object Set]"==t)return!n.size;if(Le(n))return!Ht(n).length;for(var r in n)if(ci.call(n,r))return false;return true},On.isEqual=function(n,t){return Ft(n,t);
-},On.isEqualWith=function(n,t,r){var e=(r=typeof r=="function"?r:F)?r(n,t):F;return e===F?Ft(n,t,F,r):!!e},On.isError=vu,On.isFinite=function(n){return typeof n=="number"&&Li(n)},On.isFunction=gu,On.isInteger=du,On.isLength=yu,On.isMap=pf,On.isMatch=function(n,t){return n===t||Pt(n,t,me(t))},On.isMatchWith=function(n,t,r){return r=typeof r=="function"?r:F,Pt(n,t,me(t),r)},On.isNaN=function(n){return ju(n)&&n!=+n},On.isNative=function(n){if(bo(n))throw new Yu("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
-return Zt(n)},On.isNil=function(n){return null==n},On.isNull=function(n){return null===n},On.isNumber=ju,On.isObject=bu,On.isObjectLike=xu,On.isPlainObject=wu,On.isRegExp=_f,On.isSafeInteger=function(n){return du(n)&&-9007199254740991<=n&&9007199254740991>=n},On.isSet=vf,On.isString=mu,On.isSymbol=Au,On.isTypedArray=gf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return xu(n)&&"[object WeakMap]"==yo(n)},On.isWeakSet=function(n){return xu(n)&&"[object WeakSet]"==zt(n)},On.join=function(n,t){
-return null==n?"":Ui.call(n,t)},On.kebabCase=Cf,On.last=Ge,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=Ou(r),u=0>u?Di(e+u,0):Mi(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Df,On.lowerFirst=Mf,On.lt=df,On.lte=yf,On.max=function(n){return n&&n.length?mt(n,Nu,Wt):F},On.maxBy=function(n,t){return n&&n.length?mt(n,je(t,2),Wt):F},On.mean=function(n){return x(n,Nu)},On.meanBy=function(n,t){return x(n,je(t,2))},On.min=function(n){
-return n&&n.length?mt(n,Nu,Jt):F},On.minBy=function(n,t){return n&&n.length?mt(n,je(t,2),Jt):F},On.stubArray=Ku,On.stubFalse=Gu,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=uc,On.nth=function(n,t){return n&&n.length?tr(n,Ou(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=pi),this},On.noop=qu,On.now=Jo,On.pad=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,ee(zi(t),r)+n+ee(Ri(t),r))},On.padEnd=function(n,t,r){
-n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&e<t?n+ee(t-e,r):n},On.padStart=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&e<t?ee(t-e,r)+n:n},On.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),$i(zu(n).replace(an,""),t||0)},On.random=function(n,t,r){if(r&&typeof r!="boolean"&&ze(n,t,r)&&(t=r=F),r===F&&(typeof t=="boolean"?(r=t,t=F):typeof n=="boolean"&&(r=n,n=F)),n===F&&t===F?(n=0,t=1):(n=Eu(n),t===F?(t=n,n=0):t=Eu(t)),n>t){var e=n;n=t,t=e}return r||n%1||t%1?(r=Fi(),Mi(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):cr(n,t);
-},On.reduce=function(n,t,r){var e=af(n)?h:m,u=3>arguments.length;return e(n,je(t,4),r,u,oo)},On.reduceRight=function(n,t,r){var e=af(n)?p:m,u=3>arguments.length;return e(n,je(t,4),r,u,fo)},On.repeat=function(n,t,r){return t=(r?ze(n,t,r):t===F)?1:Ou(t),ar(zu(n),t)},On.replace=function(){var n=arguments,t=zu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Rr(t,n);var e=-1,u=t.length;for(u||(u=1,n=F);++e<u;){var i=null==n?F:n[$e(t[e])];i===F&&(e=u,i=r),n=gu(i)?i.call(n):i;
-}return n},On.round=ic,On.runInContext=w,On.sample=function(n){return(af(n)?tt:sr)(n)},On.size=function(n){if(null==n)return 0;if(pu(n))return mu(n)?T(n):n.length;var t=yo(n);return"[object Map]"==t||"[object Set]"==t?n.size:Ht(n).length},On.snakeCase=Tf,On.some=function(n,t,r){var e=af(n)?_:gr;return r&&ze(n,t,r)&&(t=F),e(n,je(t,3))},On.sortedIndex=function(n,t){return dr(n,t)},On.sortedIndexBy=function(n,t,r){return yr(n,t,je(r,2))},On.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){
-var e=dr(n,t);if(e<r&&hu(n[e],t))return e}return-1},On.sortedLastIndex=function(n,t){return dr(n,t,true)},On.sortedLastIndexBy=function(n,t,r){return yr(n,t,je(r,2),true)},On.sortedLastIndexOf=function(n,t){if(null==n?0:n.length){var r=dr(n,t,true)-1;if(hu(n[r],t))return r}return-1},On.startCase=$f,On.startsWith=function(n,t,r){return n=zu(n),r=null==r?0:gt(Ou(r),0,n.length),t=jr(t),n.slice(r,r+t.length)==t},On.subtract=oc,On.sum=function(n){return n&&n.length?k(n,Nu):0},On.sumBy=function(n,t){return n&&n.length?k(n,je(t,2)):0;
-},On.template=function(n,t,r){var e=On.templateSettings;r&&ze(n,t,r)&&(t=F),n=zu(n),t=jf({},t,e,se),r=jf({},t.imports,e.imports,se);var u,i,o=Lu(r),f=I(r,o),c=0;r=t.interpolate||An;var a="__p+='";r=ti((t.escape||An).source+"|"+r.source+"|"+(r===nn?gn:An).source+"|"+(t.evaluate||An).source+"|$","g");var l="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,o,f,l){return e||(e=o),a+=n.slice(c,l).replace(kn,B),r&&(u=true,a+="'+__e("+r+")+'"),f&&(i=true,a+="';"+f+";\n__p+='"),
-e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+t.length,t}),a+="';",(t=t.variable)||(a="with(obj){"+a+"}"),a=(i?a.replace(q,""):a).replace(V,"$1").replace(K,"$1;"),a="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",t=Pf(function(){return Qu(o,l+"return "+a).apply(F,f)}),t.source=a,vu(t))throw t;return t},On.times=function(n,t){if(n=Ou(n),1>n||9007199254740991<n)return[];
-var r=4294967295,e=Mi(n,4294967295);for(t=je(t),n-=4294967295,e=E(e,t);++r<n;)t(r);return e},On.toFinite=Eu,On.toInteger=Ou,On.toLength=Su,On.toLower=function(n){return zu(n).toLowerCase()},On.toNumber=Iu,On.toSafeInteger=function(n){return n?gt(Ou(n),-9007199254740991,9007199254740991):0===n?n:0},On.toString=zu,On.toUpper=function(n){return zu(n).toUpperCase()},On.trim=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(cn,""):n&&(t=jr(t))?(n=$(n),r=$(t),t=z(n,r),r=W(n,r)+1,zr(n,t,r).join("")):n;
-},On.trimEnd=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(ln,""):n&&(t=jr(t))?(n=$(n),t=W(n,$(t))+1,zr(n,0,t).join("")):n},On.trimStart=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(an,""):n&&(t=jr(t))?(n=$(n),t=z(n,$(t)),zr(n,t).join("")):n},On.truncate=function(n,t){var r=30,e="...";if(bu(t))var u="separator"in t?t.separator:u,r="length"in t?Ou(t.length):r,e="omission"in t?jr(t.omission):e;n=zu(n);var i=n.length;if(Bn.test(n))var o=$(n),i=o.length;if(r>=i)return n;if(i=r-T(e),1>i)return e;
-if(r=o?zr(o,0,i).join(""):n.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),_f(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=ti(u.source,zu(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else n.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},On.unescape=function(n){return(n=zu(n))&&J.test(n)?n.replace(G,ut):n},On.uniqueId=function(n){var t=++ai;return zu(n)+t},On.upperCase=Ff,On.upperFirst=Nf,On.each=ru,On.eachRight=eu,On.first=Ke,
-Zu(On,function(){var n={};return Et(On,function(t,r){ci.call(On.prototype,r)||(n[r]=t)}),n}(),{chain:false}),On.VERSION="4.17.4",u("bind bindKey curry curryRight partial partialRight".split(" "),function(n){On[n].placeholder=On}),u(["drop","take"],function(n,t){Mn.prototype[n]=function(r){r=r===F?1:Di(Ou(r),0);var e=this.__filtered__&&!t?new Mn(this):this.clone();return e.__filtered__?e.__takeCount__=Mi(r,e.__takeCount__):e.__views__.push({size:Mi(r,4294967295),type:n+(0>e.__dir__?"Right":"")}),e},Mn.prototype[n+"Right"]=function(t){
-return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:je(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1);
-}}),Mn.prototype.compact=function(){return this.filter(Nu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n)},Mn.prototype.invokeMap=lr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Dt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(su(je(n)))},Mn.prototype.slice=function(n,t){n=Ou(n);var r=this;return r.__filtered__&&(0<n||0>t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),
-t!==F&&(t=Ou(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295)},Et(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||af(o);
-l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({func:nu,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ui[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){
-var u=this.value();return t.apply(af(u)?u:[],n)}return this[r](function(r){return t.apply(af(r)?r:[],n)})}}),Et(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";(Ji[e]||(Ji[e]=[])).push({name:t,func:r})}}),Ji[Xr(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Mr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Mr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Mr(this.__views__),
-n},Mn.prototype.reverse=function(){if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=af(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++c<a;){var l=o[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":n-=s;break;case"take":n=Mi(n,f+s);break;case"takeRight":f=Di(f,n-s)}}if(n={start:f,end:n},o=n.start,f=n.end,n=f-o,
-o=u?f:o-1,f=this.__iteratees__,c=f.length,a=0,l=Mi(n,this.__takeCount__),!e||!u&&i==n&&l==n)return kr(t,this.__actions__);e=[];n:for(;n--&&a<l;){for(o+=r,u=-1,i=t[o];++u<c;){var h=f[u],s=h.type,h=(0,h.iteratee)(i);if(2==s)i=h;else if(!h){if(1==s)continue n;break n}}e[a++]=i}return e},On.prototype.at=Fo,On.prototype.chain=function(){return Xe(this)},On.prototype.commit=function(){return new zn(this.value(),this.__chain__)},On.prototype.next=function(){this.__values__===F&&(this.__values__=ku(this.value()));
-var n=this.__index__>=this.__values__.length;return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){for(var t,r=this;r instanceof Sn;){var e=Pe(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:nu,args:[Je],thisArg:F}),new zn(n,this.__chain__)):this.thru(Je);
-},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return kr(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Ai&&(On.prototype[Ai]=tu),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this); \ No newline at end of file
+"\u0149":"'n","\u017f":"s"}),nt=x({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),tt=x({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),rt=function x(mn){function An(n){if(du(n)&&!of(n)&&!(n instanceof Un)){if(n instanceof On)return n;if(ii.call(n,"__wrapped__"))return $e(n)}return new On(n)}function kn(){}function On(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=T}function Un(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,
+this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Cn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function $n(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Nn(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new $n;++t<r;)this.add(n[t])}function Pn(n){
+this.size=(this.__data__=new Tn(n)).size}function qn(n,t){var r,e=of(n),u=!e&&uf(n),i=!e&&!u&&cf(n),o=!e&&!u&&!i&&pf(n),u=(e=e||u||i||o)?A(n.length,Xu):[],f=u.length;for(r in n)!t&&!ii.call(n,r)||e&&("length"==r||i&&("offset"==r||"parent"==r)||o&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||Se(r,f))||u.push(r);return u}function Qn(n){var t=n.length;return t?n[ir(0,t-1)]:T}function et(n,t){return Ce(Ur(n),pt(t,0,n.length))}function ut(n){return Ce(Ur(n))}function it(n,t,r){(r===T||au(n[t],r))&&(r!==T||t in n)||st(n,t,r);
+}function ot(n,t,r){var e=n[t];ii.call(n,t)&&au(e,r)&&(r!==T||t in n)||st(n,t,r)}function ft(n,t){for(var r=n.length;r--;)if(au(n[r][0],t))return r;return-1}function ct(n,t,r,e){return eo(n,function(n,u,i){t(e,n,r(n),i)}),e}function at(n,t){return n&&Cr(t,zu(t),n)}function lt(n,t){return n&&Cr(t,Wu(t),n)}function st(n,t,r){"__proto__"==t&&mi?mi(n,t,{configurable:true,enumerable:true,value:r,writable:true}):n[t]=r}function ht(n,t){for(var r=-1,e=t.length,u=Vu(e),i=null==n;++r<e;)u[r]=i?T:Iu(n,t[r]);return u;
+}function pt(n,t,r){return n===n&&(r!==T&&(n=n<=r?n:r),t!==T&&(n=n>=t?n:t)),n}function _t(n,t,e,u,i,o){var f,c=1&t,a=2&t,l=4&t;if(e&&(f=i?e(n,u,i,o):e(n)),f!==T)return f;if(!gu(n))return n;if(u=of(n)){if(f=me(n),!c)return Ur(n,f)}else{var s=_o(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(cf(n))return Ir(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Ae(n),!c)return a?Mr(n,lt(f,n)):Dr(n,at(f,n))}else{if(!Ln[s])return i?n:{};f=ke(n,s,c)}}if(o||(o=new Pn),
+i=o.get(n))return i;if(o.set(n,f),hf(n))return n.forEach(function(r){f.add(_t(r,t,e,r,n,o))}),f;if(lf(n))return n.forEach(function(r,u){f.set(u,_t(r,t,e,u,n,o))}),f;var a=l?a?ve:_e:a?Wu:zu,p=u?T:a(n);return r(p||n,function(r,u){p&&(u=r,r=n[u]),ot(f,u,_t(r,t,e,u,n,o))}),f}function vt(n){var t=zu(n);return function(r){return gt(r,n,t)}}function gt(n,t,r){var e=r.length;if(null==n)return!e;for(n=Yu(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===T&&!(u in n)||!i(o))return false}return true}function dt(n,t,r){if(typeof n!="function")throw new ni("Expected a function");
+return yo(function(){n.apply(T,r)},t)}function yt(n,t,r,e){var u=-1,i=o,a=true,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=c(t,E(r))),e?(i=f,a=false):200<=t.length&&(i=O,a=false,t=new Nn(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p),p=e||0!==p?p:0;if(a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function bt(n,t){var r=true;return eo(n,function(n,e,u){return r=!!t(n,e,u)}),r}function xt(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===T?o===o&&!ju(o):r(o,f)))var f=o,c=i;
+}return c}function jt(n,t){var r=[];return eo(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function wt(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Ee),u||(u=[]);++i<o;){var f=n[i];0<t&&r(f)?1<t?wt(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function mt(n,t){return n&&io(n,t,zu)}function At(n,t){return n&&oo(n,t,zu)}function kt(n,t){return i(t,function(t){return pu(n[t])})}function Et(n,t){t=Sr(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[De(t[r++])];return r&&r==e?n:T}function St(n,t,r){return t=t(n),
+of(n)?t:a(t,r(n))}function Ot(n){if(null==n)n=n===T?"[object Undefined]":"[object Null]";else if(wi&&wi in Yu(n)){var t=ii.call(n,wi),r=n[wi];try{n[wi]=T;var e=true}catch(n){}var u=ci.call(n);e&&(t?n[wi]=r:delete n[wi]),n=u}else n=ci.call(n);return n}function It(n,t){return n>t}function Rt(n,t){return null!=n&&ii.call(n,t)}function zt(n,t){return null!=n&&t in Yu(n)}function Wt(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=Vu(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,E(t))),s=Ui(p.length,s),
+l[a]=!r&&(t||120<=u&&120<=p.length)?new Nn(a&&p):T}var p=n[0],_=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],d=t?t(g):g,g=r||0!==g?g:0;if(v?!O(v,d):!e(h,d,r)){for(a=i;--a;){var y=l[a];if(y?!O(y,d):!e(n[a],d,r))continue n}v&&v.push(d),h.push(g)}}return h}function Bt(n,t,r){var e={};return mt(n,function(n,u,i){t(e,r(n),u,i)}),e}function Lt(t,r,e){return r=Sr(r,t),t=2>r.length?t:Et(t,hr(r,0,-1)),r=null==t?t:t[De(qe(r))],null==r?T:n(r,t,e)}function Ut(n){return du(n)&&"[object Arguments]"==Ot(n)}function Ct(n){
+return du(n)&&"[object ArrayBuffer]"==Ot(n)}function Dt(n){return du(n)&&"[object Date]"==Ot(n)}function Mt(n,t,r,e,u){if(n===t)t=true;else if(null==n||null==t||!du(n)&&!du(t))t=n!==n&&t!==t;else n:{var i=of(n),o=of(t),f=i?"[object Array]":_o(n),c=o?"[object Array]":_o(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&cf(n)){if(!cf(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Pn),t=i||pf(n)?se(n,t,r,e,Mt,u):he(n,t,f,r,e,Mt,u);else{
+if(!(1&r)&&(i=a&&ii.call(n,"__wrapped__"),f=o&&ii.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Pn),t=Mt(n,t,r,e,u);break n}if(c)t:if(u||(u=new Pn),i=1&r,f=_e(n),o=f.length,c=_e(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:ii.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++a<o;){var l=f[a],h=n[l],p=t[l];if(e)var _=i?e(p,h,l,t,n,u):e(h,p,l,n,t,u);if(_===T?h!==p&&!Mt(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l);
+}c&&!s&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),u.delete(n),u.delete(t),t=c}}else t=false;else t=false}}return t}function Tt(n){return du(n)&&"[object Map]"==_o(n)}function $t(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=Yu(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return false}for(;++u<i;){var f=r[u],c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===T&&!(c in n))return false;
+}else{if(f=new Pn,e)var s=e(a,l,c,n,t,f);if(s===T?!Mt(l,a,3,e,f):!s)return false}}return true}function Ft(n){return!(!gu(n)||fi&&fi in n)&&(pu(n)?si:dn).test(Me(n))}function Nt(n){return du(n)&&"[object RegExp]"==Ot(n)}function Pt(n){return du(n)&&"[object Set]"==_o(n)}function Zt(n){return du(n)&&vu(n.length)&&!!Bn[Ot(n)]}function qt(n){return typeof n=="function"?n:null==n?Tu:typeof n=="object"?of(n)?Jt(n[0],n[1]):Ht(n):Pu(n)}function Vt(n){if(!ze(n))return Bi(n);var t,r=[];for(t in Yu(n))ii.call(n,t)&&"constructor"!=t&&r.push(t);
+return r}function Kt(n,t){return n<t}function Gt(n,t){var r=-1,e=lu(n)?Vu(n.length):[];return eo(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function Ht(n){var t=xe(n);return 1==t.length&&t[0][2]?We(t[0][0],t[0][1]):function(r){return r===n||$t(r,n,t)}}function Jt(n,t){return Ie(n)&&t===t&&!gu(t)?We(De(n),t):function(r){var e=Iu(r,n);return e===T&&e===t?Ru(r,n):Mt(t,e,3)}}function Yt(n,t,r,e,u){n!==t&&io(t,function(i,o){if(gu(i)){u||(u=new Pn);var f=u,c="__proto__"==o?T:n[o],a="__proto__"==o?T:t[o],l=f.get(a);
+if(l)it(n,o,l);else{var l=e?e(c,a,o+"",n,t,f):T,s=l===T;if(s){var h=of(a),p=!h&&cf(a),_=!h&&!p&&pf(a),l=a;h||p||_?of(c)?l=c:su(c)?l=Ur(c):p?(s=false,l=Ir(a,true)):_?(s=false,l=zr(a,true)):l=[]:bu(a)||uf(a)?(l=c,uf(c)?l=Su(c):(!gu(c)||r&&pu(c))&&(l=Ae(a))):s=false}s&&(f.set(a,l),Yt(l,a,r,e,f),f.delete(a)),it(n,o,l)}}else f=e?e("__proto__"==o?T:n[o],i,o+"",n,t,u):T,f===T&&(f=i),it(n,o,f)},Wu)}function Qt(n,t){var r=n.length;if(r)return t+=0>t?r:0,Se(t,r)?n[t]:T}function Xt(n,t,r){var e=-1;return t=c(t.length?t:[Tu],E(ye())),
+n=Gt(n,function(n){return{a:c(t,function(t){return t(n)}),b:++e,c:n}}),w(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e<o;){var c=Wr(u[e],i[e]);if(c){e=e>=f?c:c*("desc"==r[e]?-1:1);break n}}e=n.b-t.b}return e})}function nr(n,t){return tr(n,t,function(t,r){return Ru(n,r)})}function tr(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=Et(n,o);r(f,o)&&lr(i,Sr(o,n),f)}return i}function rr(n){return function(t){return Et(t,n)}}function er(n,t,r,e){var u=e?g:v,i=-1,o=t.length,f=n;
+for(n===t&&(t=Ur(t)),r&&(f=c(n,E(r)));++i<o;)for(var a=0,l=t[i],l=r?r(l):l;-1<(a=u(f,l,a,e));)f!==n&&bi.call(f,a,1),bi.call(n,a,1);return n}function ur(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;Se(u)?bi.call(n,u,1):xr(n,u)}}}function ir(n,t){return n+Oi(Mi()*(t-n+1))}function or(n,t){var r="";if(!n||1>t||9007199254740991<t)return r;do t%2&&(r+=n),(t=Oi(t/2))&&(n+=n);while(t);return r}function fr(n,t){return bo(Be(n,t,Tu),n+"")}function cr(n){return Qn(Lu(n))}function ar(n,t){
+var r=Lu(n);return Ce(r,pt(t,0,r.length))}function lr(n,t,r,e){if(!gu(n))return n;t=Sr(t,n);for(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=De(t[u]),a=r;if(u!=o){var l=f[c],a=e?e(l,c,f):T;a===T&&(a=gu(l)?l:Se(t[u+1])?[]:{})}ot(f,c,a),f=f[c]}return n}function sr(n){return Ce(Lu(n))}function hr(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Vu(u);++e<u;)r[e]=n[e+t];return r}function pr(n,t){var r;return eo(n,function(n,e,u){return r=t(n,e,u),
+!r}),!!r}function _r(n,t,r){var e=0,u=null==n?e:n.length;if(typeof t=="number"&&t===t&&2147483647>=u){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!ju(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return vr(n,t,Tu,r)}function vr(n,t,r,e){t=r(t);for(var u=0,i=null==n?0:n.length,o=t!==t,f=null===t,c=ju(t),a=t===T;u<i;){var l=Oi((u+i)/2),s=r(n[l]),h=s!==T,p=null===s,_=s===s,v=ju(s);(o?e||_:a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):p||v?0:e?s<=t:s<t)?u=l+1:i=l}return Ui(i,4294967294)}function gr(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){
+var o=n[r],f=t?t(o):o;if(!r||!au(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function dr(n){return typeof n=="number"?n:ju(n)?F:+n}function yr(n){if(typeof n=="string")return n;if(of(n))return c(n,yr)+"";if(ju(n))return to?to.call(n):"";var t=n+"";return"0"==t&&1/n==-$?"-0":t}function br(n,t,r){var e=-1,u=o,i=n.length,c=true,a=[],l=a;if(r)c=false,u=f;else if(200<=i){if(u=t?null:lo(n))return U(u);c=false,u=O,l=new Nn}else l=t?[]:a;n:for(;++e<i;){var s=n[e],h=t?t(s):s,s=r||0!==s?s:0;if(c&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue n;
+t&&l.push(h),a.push(s)}else u(l,h,r)||(l!==a&&l.push(h),a.push(s))}return a}function xr(n,t){return t=Sr(t,n),n=2>t.length?n:Et(n,hr(t,0,-1)),null==n||delete n[De(qe(t))]}function jr(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?hr(n,e?0:i,e?i+1:u):hr(n,e?i+1:0,e?u:i)}function wr(n,t){var r=n;return r instanceof Un&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mr(n,t,r){var e=n.length;if(2>e)return e?br(n[0]):[];for(var u=-1,i=Vu(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=yt(i[u]||o,n[f],t,r));
+return br(wt(i,1),t,r)}function Ar(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:T);return o}function kr(n){return su(n)?n:[]}function Er(n){return typeof n=="function"?n:Tu}function Sr(n,t){return of(n)?n:Ie(n,t)?[n]:xo(Ou(n))}function Or(n,t,r){var e=n.length;return r=r===T?e:r,!t&&r>=e?n:hr(n,t,r)}function Ir(n,t){if(t)return n.slice();var r=n.length,r=vi?vi(r):new n.constructor(r);return n.copy(r),r}function Rr(n){var t=new n.constructor(n.byteLength);return new _i(t).set(new _i(n)),
+t}function zr(n,t){return new n.constructor(t?Rr(n.buffer):n.buffer,n.byteOffset,n.length)}function Wr(n,t){if(n!==t){var r=n!==T,e=null===n,u=n===n,i=ju(n),o=t!==T,f=null===t,c=t===t,a=ju(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Br(n,t,r,e){var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Li(i-o,0),l=Vu(c+a);for(e=!e;++f<c;)l[f]=t[f];for(;++u<o;)(e||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];
+return l}function Lr(n,t,r,e){var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Li(i-f,0),s=Vu(l+a);for(e=!e;++u<l;)s[u]=n[u];for(l=u;++c<a;)s[l+c]=t[c];for(;++o<f;)(e||u<i)&&(s[l+r[o]]=n[u++]);return s}function Ur(n,t){var r=-1,e=n.length;for(t||(t=Vu(e));++r<e;)t[r]=n[r];return t}function Cr(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):T;c===T&&(c=n[f]),u?st(r,f,c):ot(r,f,c)}return r}function Dr(n,t){return Cr(n,ho(n),t)}function Mr(n,t){return Cr(n,po(n),t);
+}function Tr(n,r){return function(e,u){var i=of(e)?t:ct,o=r?r():{};return i(e,n,ye(u,2),o)}}function $r(n){return fr(function(t,r){var e=-1,u=r.length,i=1<u?r[u-1]:T,o=2<u?r[2]:T,i=3<n.length&&typeof i=="function"?(u--,i):T;for(o&&Oe(r[0],r[1],o)&&(i=3>u?T:i,u=1),t=Yu(t);++e<u;)(o=r[e])&&n(t,o,e,i);return t})}function Fr(n,t){return function(r,e){if(null==r)return r;if(!lu(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=Yu(r);(t?i--:++i<u)&&false!==e(o[i],i,o););return r}}function Nr(n){return function(t,r,e){
+var u=-1,i=Yu(t);e=e(t);for(var o=e.length;o--;){var f=e[n?o:++u];if(false===r(i[f],f,i))break}return t}}function Pr(n,t,r){function e(){return(this&&this!==Fn&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=1&t,i=Vr(n);return e}function Zr(n){return function(t){t=Ou(t);var r=Rn.test(t)?M(t):T,e=r?r[0]:t.charAt(0);return t=r?Or(r,1).join(""):t.slice(1),e[n]()+t}}function qr(n){return function(t){return l(Du(Cu(t).replace(En,"")),n,"")}}function Vr(n){return function(){var t=arguments;switch(t.length){
+case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=ro(n.prototype),t=n.apply(r,t);return gu(t)?t:r}}function Kr(t,r,e){function u(){for(var o=arguments.length,f=Vu(o),c=o,a=de(u);c--;)f[c]=arguments[c];return c=3>o&&f[0]!==a&&f[o-1]!==a?[]:L(f,a),
+o-=c.length,o<e?ue(t,r,Jr,u.placeholder,T,f,c,T,T,e-o):n(this&&this!==Fn&&this instanceof u?i:t,this,f)}var i=Vr(t);return u}function Gr(n){return function(t,r,e){var u=Yu(t);if(!lu(t)){var i=ye(r,3);t=zu(t),r=function(n){return i(u[n],n,u)}}return r=n(t,r,e),-1<r?u[i?t[r]:r]:T}}function Hr(n){return pe(function(t){var r=t.length,e=r,u=On.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(typeof i!="function")throw new ni("Expected a function");if(u&&!o&&"wrapper"==ge(i))var o=new On([],true)}for(e=o?e:r;++e<r;)var i=t[e],u=ge(i),f="wrapper"==u?so(i):T,o=f&&Re(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?o[ge(f[0])].apply(o,f[3]):1==i.length&&Re(i)?o[u]():o.thru(i);
+return function(){var n=arguments,e=n[0];if(o&&1==n.length&&of(e))return o.plant(e).value();for(var u=0,n=r?t[u].apply(this,n):e;++u<r;)n=t[u].call(this,n);return n}})}function Jr(n,t,r,e,u,i,o,f,c,a){function l(){for(var d=arguments.length,y=Vu(d),b=d;b--;)y[b]=arguments[b];if(_){var x,j=de(l),b=y.length;for(x=0;b--;)y[b]===j&&++x}if(e&&(y=Br(y,e,u,_)),i&&(y=Lr(y,i,o,_)),d-=x,_&&d<a)return j=L(y,j),ue(n,t,Jr,l.placeholder,r,y,j,f,c,a-d);if(j=h?r:this,b=p?j[n]:n,d=y.length,f){x=y.length;for(var w=Ui(f.length,x),m=Ur(y);w--;){
+var A=f[w];y[w]=Se(A,x)?m[A]:T}}else v&&1<d&&y.reverse();return s&&c<d&&(y.length=c),this&&this!==Fn&&this instanceof l&&(b=g||Vr(b)),b.apply(j,y)}var s=128&t,h=1&t,p=2&t,_=24&t,v=512&t,g=p?T:Vr(n);return l}function Yr(n,t){return function(r,e){return Bt(r,n,t(e))}}function Qr(n,t){return function(r,e){var u;if(r===T&&e===T)return t;if(r!==T&&(u=r),e!==T){if(u===T)return e;typeof r=="string"||typeof e=="string"?(r=yr(r),e=yr(e)):(r=dr(r),e=dr(e)),u=n(r,e)}return u}}function Xr(t){return pe(function(r){
+return r=c(r,E(ye())),fr(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ne(n,t){t=t===T?" ":yr(t);var r=t.length;return 2>r?r?or(t,n):t:(r=or(t,Si(n/D(t))),Rn.test(t)?Or(M(r),0,n).join(""):r.slice(0,n))}function te(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=Vu(l+c),h=this&&this!==Fn&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];return n(h,o?e:this,s)}var o=1&r,f=Vr(t);return i}function re(n){return function(t,r,e){
+e&&typeof e!="number"&&Oe(t,r,e)&&(r=e=T),t=mu(t),r===T?(r=t,t=0):r=mu(r),e=e===T?t<r?1:-1:mu(e);var u=-1;r=Li(Si((r-t)/(e||1)),0);for(var i=Vu(r);r--;)i[n?r:++u]=t,t+=e;return i}}function ee(n){return function(t,r){return typeof t=="string"&&typeof r=="string"||(t=Eu(t),r=Eu(r)),n(t,r)}}function ue(n,t,r,e,u,i,o,f,c,a){var l=8&t,s=l?o:T;o=l?T:o;var h=l?i:T;return i=l?T:i,t=(t|(l?32:64))&~(l?64:32),4&t||(t&=-4),u=[n,t,u,h,s,i,o,f,c,a],r=r.apply(T,u),Re(n)&&go(r,u),r.placeholder=e,Le(r,n,t)}function ie(n){
+var t=Ju[n];return function(n,r){if(n=Eu(n),r=null==r?0:Ui(Au(r),292)){var e=(Ou(n)+"e").split("e"),e=t(e[0]+"e"+(+e[1]+r)),e=(Ou(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return t(n)}}function oe(n){return function(t){var r=_o(t);return"[object Map]"==r?W(t):"[object Set]"==r?C(t):k(t,n(t))}}function fe(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&typeof n!="function")throw new ni("Expected a function");var a=e?e.length:0;if(a||(t&=-97,e=u=T),o=o===T?o:Li(Au(o),0),f=f===T?f:Au(f),a-=u?u.length:0,64&t){
+var l=e,s=u;e=u=T}var h=c?T:so(n);return i=[n,t,r,e,u,l,s,i,o,f],h&&(r=i[1],n=h[1],t=r|n,e=128==n&&8==r||128==n&&256==r&&i[7].length<=h[8]||384==n&&h[7].length<=h[8]&&8==r,131>t||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Br(e,r,h[4]):r,i[4]=e?L(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Lr(e,r,h[6]):r,i[6]=e?L(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Ui(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1],
+r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===T?c?0:n.length:Li(i[9]-a,0),!f&&24&t&&(t&=-25),Le((h?fo:go)(t&&1!=t?8==t||16==t?Kr(n,t,f):32!=t&&33!=t||u.length?Jr.apply(T,i):te(n,t,r,e):Pr(n,t,r),i),n,t)}function ce(n,t,r,e){return n===T||au(n,ri[r])&&!ii.call(e,r)?t:n}function ae(n,t,r,e,u,i){return gu(n)&&gu(t)&&(i.set(t,n),Yt(n,t,T,ae,i),i.delete(t)),n}function le(n){return bu(n)?T:n}function se(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=2&r?new Nn:T;
+for(i.set(n,t),i.set(t,n);++c<f;){var s=n[c],p=t[c];if(e)var _=o?e(p,s,c,t,n,i):e(s,p,c,n,t,i);if(_!==T){if(_)continue;a=false;break}if(l){if(!h(t,function(n,t){if(!O(l,t)&&(s===n||u(s,n,r,e,i)))return l.push(t)})){a=false;break}}else if(s!==p&&!u(s,p,r,e,i)){a=false;break}}return i.delete(n),i.delete(t),a}function he(n,t,r,e,u,i,o){switch(r){case"[object DataView]":if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)break;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":if(n.byteLength!=t.byteLength||!i(new _i(n),new _i(t)))break;
+return true;case"[object Boolean]":case"[object Date]":case"[object Number]":return au(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var f=W;case"[object Set]":if(f||(f=U),n.size!=t.size&&!(1&e))break;return(r=o.get(n))?r==t:(e|=2,o.set(n,t),t=se(f(n),f(t),e,u,i,o),o.delete(n),t);case"[object Symbol]":if(no)return no.call(n)==no.call(t)}return false}function pe(n){return bo(Be(n,T,Pe),n+"")}function _e(n){
+return St(n,zu,ho)}function ve(n){return St(n,Wu,po)}function ge(n){for(var t=n.name+"",r=Ki[t],e=ii.call(Ki,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function de(n){return(ii.call(An,"placeholder")?An:n).placeholder}function ye(){var n=An.iteratee||$u,n=n===$u?qt:n;return arguments.length?n(arguments[0],arguments[1]):n}function be(n,t){var r=n.__data__,e=typeof t;return("string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t)?r[typeof t=="string"?"string":"hash"]:r.map;
+}function xe(n){for(var t=zu(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,u===u&&!gu(u)]}return t}function je(n,t){var r=null==n?T:n[t];return Ft(r)?r:T}function we(n,t,r){t=Sr(t,n);for(var e=-1,u=t.length,i=false;++e<u;){var o=De(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&vu(u)&&Se(o,u)&&(of(n)||uf(n)))}function me(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&ii.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Ae(n){
+return typeof n.constructor!="function"||ze(n)?{}:ro(gi(n))}function ke(n,t,r){var e=n.constructor;switch(t){case"[object ArrayBuffer]":return Rr(n);case"[object Boolean]":case"[object Date]":return new e(+n);case"[object DataView]":return t=r?Rr(n.buffer):n.buffer,new n.constructor(t,n.byteOffset,n.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":
+case"[object Uint16Array]":case"[object Uint32Array]":return zr(n,r);case"[object Map]":return new e;case"[object Number]":case"[object String]":return new e(n);case"[object RegExp]":return t=new n.constructor(n.source,_n.exec(n)),t.lastIndex=n.lastIndex,t;case"[object Set]":return new e;case"[object Symbol]":return no?Yu(no.call(n)):{}}}function Ee(n){return of(n)||uf(n)||!!(xi&&n&&n[xi])}function Se(n,t){var r=typeof n;return t=null==t?9007199254740991:t,!!t&&("number"==r||"symbol"!=r&&bn.test(n))&&-1<n&&0==n%1&&n<t;
+}function Oe(n,t,r){if(!gu(r))return false;var e=typeof t;return!!("number"==e?lu(r)&&Se(t,r.length):"string"==e&&t in r)&&au(r[t],n)}function Ie(n,t){if(of(n))return false;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!ju(n))||(nn.test(n)||!X.test(n)||null!=t&&n in Yu(t))}function Re(n){var t=ge(n),r=An[t];return typeof r=="function"&&t in Un.prototype&&(n===r||(t=so(r),!!t&&n===t[0]))}function ze(n){var t=n&&n.constructor;return n===(typeof t=="function"&&t.prototype||ri)}function We(n,t){
+return function(r){return null!=r&&(r[n]===t&&(t!==T||n in Yu(r)))}}function Be(t,r,e){return r=Li(r===T?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Li(u.length-r,0),f=Vu(o);++i<o;)f[i]=u[r+i];for(i=-1,o=Vu(r+1);++i<r;)o[i]=u[i];return o[r]=e(f),n(t,this,o)}}function Le(n,t,r){var e=t+"";t=bo;var u,i=Te;return u=(u=e.match(an))?u[1].split(ln):[],r=i(u,r),(i=r.length)&&(u=i-1,r[u]=(1<i?"& ":"")+r[u],r=r.join(2<i?", ":" "),e=e.replace(cn,"{\n/* [wrapped with "+r+"] */\n")),t(n,e)}function Ue(n){
+var t=0,r=0;return function(){var e=Ci(),u=16-(e-r);if(r=e,0<u){if(800<=++t)return arguments[0]}else t=0;return n.apply(T,arguments)}}function Ce(n,t){var r=-1,e=n.length,u=e-1;for(t=t===T?e:t;++r<t;){var e=ir(r,u),i=n[e];n[e]=n[r],n[r]=i}return n.length=t,n}function De(n){if(typeof n=="string"||ju(n))return n;var t=n+"";return"0"==t&&1/n==-$?"-0":t}function Me(n){if(null!=n){try{return ui.call(n)}catch(n){}return n+""}return""}function Te(n,t){return r(N,function(r){var e="_."+r[0];t&r[1]&&!o(n,e)&&n.push(e);
+}),n.sort()}function $e(n){if(n instanceof Un)return n.clone();var t=new On(n.__wrapped__,n.__chain__);return t.__actions__=Ur(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Fe(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Au(r),0>r&&(r=Li(e+r,0)),_(n,ye(t,3),r)):-1}function Ne(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==T&&(u=Au(r),u=0>r?Li(e+u,0):Ui(u,e-1)),_(n,ye(t,3),u,true)}function Pe(n){return(null==n?0:n.length)?wt(n,1):[]}function Ze(n){
+return n&&n.length?n[0]:T}function qe(n){var t=null==n?0:n.length;return t?n[t-1]:T}function Ve(n,t){return n&&n.length&&t&&t.length?er(n,t):n}function Ke(n){return null==n?n:Ti.call(n)}function Ge(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){if(su(n))return t=Li(n.length,t),true}),A(t,function(t){return c(n,b(t))})}function He(t,r){if(!t||!t.length)return[];var e=Ge(t);return null==r?e:c(e,function(t){return n(r,T,t)})}function Je(n){return n=An(n),n.__chain__=true,n}function Ye(n,t){
+return t(n)}function Qe(){return this}function Xe(n,t){return(of(n)?r:eo)(n,ye(t,3))}function nu(n,t){return(of(n)?e:uo)(n,ye(t,3))}function tu(n,t){return(of(n)?c:Gt)(n,ye(t,3))}function ru(n,t,r){return t=r?T:t,t=n&&null==t?n.length:t,fe(n,128,T,T,T,T,t)}function eu(n,t){var r;if(typeof t!="function")throw new ni("Expected a function");return n=Au(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=T),r}}function uu(n,t,r){return t=r?T:t,n=fe(n,8,T,T,T,T,T,t),n.placeholder=uu.placeholder,
+n}function iu(n,t,r){return t=r?T:t,n=fe(n,16,T,T,T,T,T,t),n.placeholder=iu.placeholder,n}function ou(n,t,r){function e(t){var r=c,e=a;return c=a=T,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===T||r>=t||0>r||g&&n>=l}function i(){var n=Ko();if(u(n))return o(n);var r,e=yo;r=n-_,n=t-(n-p),r=g?Ui(n,l-r):n,h=e(i,r)}function o(n){return h=T,d&&c?e(n):(c=a=T,s)}function f(){var n=Ko(),r=u(n);if(c=arguments,a=this,p=n,r){if(h===T)return _=n=p,h=yo(i,t),v?e(n):s;if(g)return h=yo(i,t),e(p)}return h===T&&(h=yo(i,t)),
+s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ni("Expected a function");return t=Eu(t)||0,gu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Li(Eu(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==T&&ao(h),_=0,c=p=a=h=T},f.flush=function(){return h===T?s:o(Ko())},f}function fu(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new ni("Expected a function");
+return r.cache=new(fu.Cache||$n),r}function cu(n){if(typeof n!="function")throw new ni("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function au(n,t){return n===t||n!==n&&t!==t}function lu(n){return null!=n&&vu(n.length)&&!pu(n)}function su(n){return du(n)&&lu(n)}function hu(n){if(!du(n))return false;var t=Ot(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!bu(n);
+}function pu(n){return!!gu(n)&&(n=Ot(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function _u(n){return typeof n=="number"&&n==Au(n)}function vu(n){return typeof n=="number"&&-1<n&&0==n%1&&9007199254740991>=n}function gu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function du(n){return null!=n&&typeof n=="object"}function yu(n){return typeof n=="number"||du(n)&&"[object Number]"==Ot(n)}function bu(n){return!(!du(n)||"[object Object]"!=Ot(n))&&(n=gi(n),
+null===n||(n=ii.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&ui.call(n)==ai))}function xu(n){return typeof n=="string"||!of(n)&&du(n)&&"[object String]"==Ot(n)}function ju(n){return typeof n=="symbol"||du(n)&&"[object Symbol]"==Ot(n)}function wu(n){if(!n)return[];if(lu(n))return xu(n)?M(n):Ur(n);if(ji&&n[ji]){n=n[ji]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=_o(n),("[object Map]"==t?W:"[object Set]"==t?U:Lu)(n)}function mu(n){return n?(n=Eu(n),
+n===$||n===-$?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function Au(n){n=mu(n);var t=n%1;return n===n?t?n-t:n:0}function ku(n){return n?pt(Au(n),0,4294967295):0}function Eu(n){if(typeof n=="number")return n;if(ju(n))return F;if(gu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=gu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;n=n.replace(un,"");var t=gn.test(n);return t||yn.test(n)?Mn(n.slice(2),t?2:8):vn.test(n)?F:+n}function Su(n){return Cr(n,Wu(n))}function Ou(n){return null==n?"":yr(n);
+}function Iu(n,t,r){return n=null==n?T:Et(n,t),n===T?r:n}function Ru(n,t){return null!=n&&we(n,t,zt)}function zu(n){return lu(n)?qn(n):Vt(n)}function Wu(n){if(lu(n))n=qn(n,true);else if(gu(n)){var t,r=ze(n),e=[];for(t in n)("constructor"!=t||!r&&ii.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in Yu(n))t.push(r);n=t}return n}function Bu(n,t){if(null==n)return{};var r=c(ve(n),function(n){return[n]});return t=ye(t),tr(n,r,function(n,r){return t(n,r[0])})}function Lu(n){return null==n?[]:S(n,zu(n));
+}function Uu(n){return Tf(Ou(n).toLowerCase())}function Cu(n){return(n=Ou(n))&&n.replace(xn,Xn).replace(Sn,"")}function Du(n,t,r){return n=Ou(n),t=r?T:t,t===T?zn.test(n)?n.match(In)||[]:n.match(sn)||[]:n.match(t)||[]}function Mu(n){return function(){return n}}function Tu(n){return n}function $u(n){return qt(typeof n=="function"?n:_t(n,1))}function Fu(n,t,e){var u=zu(t),i=kt(t,u);null!=e||gu(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=kt(t,zu(t)));var o=!(gu(e)&&"chain"in e&&!e.chain),f=pu(n);return r(i,function(r){
+var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Ur(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function Nu(){}function Pu(n){return Ie(n)?b(De(n)):rr(n)}function Zu(){return[]}function qu(){return false}mn=null==mn?Fn:rt.defaults(Fn.Object(),mn,rt.pick(Fn,Wn));var Vu=mn.Array,Ku=mn.Date,Gu=mn.Error,Hu=mn.Function,Ju=mn.Math,Yu=mn.Object,Qu=mn.RegExp,Xu=mn.String,ni=mn.TypeError,ti=Vu.prototype,ri=Yu.prototype,ei=mn["__core-js_shared__"],ui=Hu.prototype.toString,ii=ri.hasOwnProperty,oi=0,fi=function(){
+var n=/[^.]+$/.exec(ei&&ei.keys&&ei.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),ci=ri.toString,ai=ui.call(Yu),li=Fn._,si=Qu("^"+ui.call(ii).replace(rn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),hi=Zn?mn.Buffer:T,pi=mn.Symbol,_i=mn.Uint8Array,vi=hi?hi.f:T,gi=B(Yu.getPrototypeOf,Yu),di=Yu.create,yi=ri.propertyIsEnumerable,bi=ti.splice,xi=pi?pi.isConcatSpreadable:T,ji=pi?pi.iterator:T,wi=pi?pi.toStringTag:T,mi=function(){try{var n=je(Yu,"defineProperty");
+return n({},"",{}),n}catch(n){}}(),Ai=mn.clearTimeout!==Fn.clearTimeout&&mn.clearTimeout,ki=Ku&&Ku.now!==Fn.Date.now&&Ku.now,Ei=mn.setTimeout!==Fn.setTimeout&&mn.setTimeout,Si=Ju.ceil,Oi=Ju.floor,Ii=Yu.getOwnPropertySymbols,Ri=hi?hi.isBuffer:T,zi=mn.isFinite,Wi=ti.join,Bi=B(Yu.keys,Yu),Li=Ju.max,Ui=Ju.min,Ci=Ku.now,Di=mn.parseInt,Mi=Ju.random,Ti=ti.reverse,$i=je(mn,"DataView"),Fi=je(mn,"Map"),Ni=je(mn,"Promise"),Pi=je(mn,"Set"),Zi=je(mn,"WeakMap"),qi=je(Yu,"create"),Vi=Zi&&new Zi,Ki={},Gi=Me($i),Hi=Me(Fi),Ji=Me(Ni),Yi=Me(Pi),Qi=Me(Zi),Xi=pi?pi.prototype:T,no=Xi?Xi.valueOf:T,to=Xi?Xi.toString:T,ro=function(){
+function n(){}return function(t){return gu(t)?di?di(t):(n.prototype=t,t=new n,n.prototype=T,t):{}}}();An.templateSettings={escape:J,evaluate:Y,interpolate:Q,variable:"",imports:{_:An}},An.prototype=kn.prototype,An.prototype.constructor=An,On.prototype=ro(kn.prototype),On.prototype.constructor=On,Un.prototype=ro(kn.prototype),Un.prototype.constructor=Un,Cn.prototype.clear=function(){this.__data__=qi?qi(null):{},this.size=0},Cn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
+this.size-=n?1:0,n},Cn.prototype.get=function(n){var t=this.__data__;return qi?(n=t[n],"__lodash_hash_undefined__"===n?T:n):ii.call(t,n)?t[n]:T},Cn.prototype.has=function(n){var t=this.__data__;return qi?t[n]!==T:ii.call(t,n)},Cn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=qi&&t===T?"__lodash_hash_undefined__":t,this},Tn.prototype.clear=function(){this.__data__=[],this.size=0},Tn.prototype.delete=function(n){var t=this.__data__;return n=ft(t,n),!(0>n)&&(n==t.length-1?t.pop():bi.call(t,n,1),
+--this.size,true)},Tn.prototype.get=function(n){var t=this.__data__;return n=ft(t,n),0>n?T:t[n][1]},Tn.prototype.has=function(n){return-1<ft(this.__data__,n)},Tn.prototype.set=function(n,t){var r=this.__data__,e=ft(r,n);return 0>e?(++this.size,r.push([n,t])):r[e][1]=t,this},$n.prototype.clear=function(){this.size=0,this.__data__={hash:new Cn,map:new(Fi||Tn),string:new Cn}},$n.prototype.delete=function(n){return n=be(this,n).delete(n),this.size-=n?1:0,n},$n.prototype.get=function(n){return be(this,n).get(n);
+},$n.prototype.has=function(n){return be(this,n).has(n)},$n.prototype.set=function(n,t){var r=be(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},Nn.prototype.add=Nn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},Nn.prototype.has=function(n){return this.__data__.has(n)},Pn.prototype.clear=function(){this.__data__=new Tn,this.size=0},Pn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Pn.prototype.get=function(n){
+return this.__data__.get(n)},Pn.prototype.has=function(n){return this.__data__.has(n)},Pn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Tn){var e=r.__data__;if(!Fi||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new $n(e)}return r.set(n,t),this.size=r.size,this};var eo=Fr(mt),uo=Fr(At,true),io=Nr(),oo=Nr(true),fo=Vi?function(n,t){return Vi.set(n,t),n}:Tu,co=mi?function(n,t){return mi(n,"toString",{configurable:true,enumerable:false,value:Mu(t),writable:true})}:Tu,ao=Ai||function(n){
+return Fn.clearTimeout(n)},lo=Pi&&1/U(new Pi([,-0]))[1]==$?function(n){return new Pi(n)}:Nu,so=Vi?function(n){return Vi.get(n)}:Nu,ho=Ii?function(n){return null==n?[]:(n=Yu(n),i(Ii(n),function(t){return yi.call(n,t)}))}:Zu,po=Ii?function(n){for(var t=[];n;)a(t,ho(n)),n=gi(n);return t}:Zu,_o=Ot;($i&&"[object DataView]"!=_o(new $i(new ArrayBuffer(1)))||Fi&&"[object Map]"!=_o(new Fi)||Ni&&"[object Promise]"!=_o(Ni.resolve())||Pi&&"[object Set]"!=_o(new Pi)||Zi&&"[object WeakMap]"!=_o(new Zi))&&(_o=function(n){
+var t=Ot(n);if(n=(n="[object Object]"==t?n.constructor:T)?Me(n):"")switch(n){case Gi:return"[object DataView]";case Hi:return"[object Map]";case Ji:return"[object Promise]";case Yi:return"[object Set]";case Qi:return"[object WeakMap]"}return t});var vo=ei?pu:qu,go=Ue(fo),yo=Ei||function(n,t){return Fn.setTimeout(n,t)},bo=Ue(co),xo=function(n){n=fu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(tn,function(n,r,e,u){
+t.push(e?u.replace(hn,"$1"):r||n)}),t}),jo=fr(function(n,t){return su(n)?yt(n,wt(t,1,su,true)):[]}),wo=fr(function(n,t){var r=qe(t);return su(r)&&(r=T),su(n)?yt(n,wt(t,1,su,true),ye(r,2)):[]}),mo=fr(function(n,t){var r=qe(t);return su(r)&&(r=T),su(n)?yt(n,wt(t,1,su,true),T,r):[]}),Ao=fr(function(n){var t=c(n,kr);return t.length&&t[0]===n[0]?Wt(t):[]}),ko=fr(function(n){var t=qe(n),r=c(n,kr);return t===qe(r)?t=T:r.pop(),r.length&&r[0]===n[0]?Wt(r,ye(t,2)):[]}),Eo=fr(function(n){var t=qe(n),r=c(n,kr);return(t=typeof t=="function"?t:T)&&r.pop(),
+r.length&&r[0]===n[0]?Wt(r,T,t):[]}),So=fr(Ve),Oo=pe(function(n,t){var r=null==n?0:n.length,e=ht(n,t);return ur(n,c(t,function(n){return Se(n,r)?+n:n}).sort(Wr)),e}),Io=fr(function(n){return br(wt(n,1,su,true))}),Ro=fr(function(n){var t=qe(n);return su(t)&&(t=T),br(wt(n,1,su,true),ye(t,2))}),zo=fr(function(n){var t=qe(n),t=typeof t=="function"?t:T;return br(wt(n,1,su,true),T,t)}),Wo=fr(function(n,t){return su(n)?yt(n,t):[]}),Bo=fr(function(n){return mr(i(n,su))}),Lo=fr(function(n){var t=qe(n);return su(t)&&(t=T),
+mr(i(n,su),ye(t,2))}),Uo=fr(function(n){var t=qe(n),t=typeof t=="function"?t:T;return mr(i(n,su),T,t)}),Co=fr(Ge),Do=fr(function(n){var t=n.length,t=1<t?n[t-1]:T,t=typeof t=="function"?(n.pop(),t):T;return He(n,t)}),Mo=pe(function(n){function t(t){return ht(t,n)}var r=n.length,e=r?n[0]:0,u=this.__wrapped__;return!(1<r||this.__actions__.length)&&u instanceof Un&&Se(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:Ye,args:[t],thisArg:T}),new On(u,this.__chain__).thru(function(n){return r&&!n.length&&n.push(T),
+n})):this.thru(t)}),To=Tr(function(n,t,r){ii.call(n,r)?++n[r]:st(n,r,1)}),$o=Gr(Fe),Fo=Gr(Ne),No=Tr(function(n,t,r){ii.call(n,r)?n[r].push(t):st(n,r,[t])}),Po=fr(function(t,r,e){var u=-1,i=typeof r=="function",o=lu(t)?Vu(t.length):[];return eo(t,function(t){o[++u]=i?n(r,t,e):Lt(t,r,e)}),o}),Zo=Tr(function(n,t,r){st(n,r,t)}),qo=Tr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),Vo=fr(function(n,t){if(null==n)return[];var r=t.length;return 1<r&&Oe(n,t[0],t[1])?t=[]:2<r&&Oe(t[0],t[1],t[2])&&(t=[t[0]]),
+Xt(n,wt(t,1),[])}),Ko=ki||function(){return Fn.Date.now()},Go=fr(function(n,t,r){var e=1;if(r.length)var u=L(r,de(Go)),e=32|e;return fe(n,e,t,r,u)}),Ho=fr(function(n,t,r){var e=3;if(r.length)var u=L(r,de(Ho)),e=32|e;return fe(t,e,n,r,u)}),Jo=fr(function(n,t){return dt(n,1,t)}),Yo=fr(function(n,t,r){return dt(n,Eu(t)||0,r)});fu.Cache=$n;var Qo=fr(function(t,r){r=1==r.length&&of(r[0])?c(r[0],E(ye())):c(wt(r,1),E(ye()));var e=r.length;return fr(function(u){for(var i=-1,o=Ui(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);
+return n(t,this,u)})}),Xo=fr(function(n,t){return fe(n,32,T,t,L(t,de(Xo)))}),nf=fr(function(n,t){return fe(n,64,T,t,L(t,de(nf)))}),tf=pe(function(n,t){return fe(n,256,T,T,T,t)}),rf=ee(It),ef=ee(function(n,t){return n>=t}),uf=Ut(function(){return arguments}())?Ut:function(n){return du(n)&&ii.call(n,"callee")&&!yi.call(n,"callee")},of=Vu.isArray,ff=Vn?E(Vn):Ct,cf=Ri||qu,af=Kn?E(Kn):Dt,lf=Gn?E(Gn):Tt,sf=Hn?E(Hn):Nt,hf=Jn?E(Jn):Pt,pf=Yn?E(Yn):Zt,_f=ee(Kt),vf=ee(function(n,t){return n<=t}),gf=$r(function(n,t){
+if(ze(t)||lu(t))Cr(t,zu(t),n);else for(var r in t)ii.call(t,r)&&ot(n,r,t[r])}),df=$r(function(n,t){Cr(t,Wu(t),n)}),yf=$r(function(n,t,r,e){Cr(t,Wu(t),n,e)}),bf=$r(function(n,t,r,e){Cr(t,zu(t),n,e)}),xf=pe(ht),jf=fr(function(n,t){n=Yu(n);var r=-1,e=t.length,u=2<e?t[2]:T;for(u&&Oe(t[0],t[1],u)&&(e=1);++r<e;)for(var u=t[r],i=Wu(u),o=-1,f=i.length;++o<f;){var c=i[o],a=n[c];(a===T||au(a,ri[c])&&!ii.call(n,c))&&(n[c]=u[c])}return n}),wf=fr(function(t){return t.push(T,ae),n(Sf,T,t)}),mf=Yr(function(n,t,r){
+null!=t&&typeof t.toString!="function"&&(t=ci.call(t)),n[t]=r},Mu(Tu)),Af=Yr(function(n,t,r){null!=t&&typeof t.toString!="function"&&(t=ci.call(t)),ii.call(n,t)?n[t].push(r):n[t]=[r]},ye),kf=fr(Lt),Ef=$r(function(n,t,r){Yt(n,t,r)}),Sf=$r(function(n,t,r,e){Yt(n,t,r,e)}),Of=pe(function(n,t){var r={};if(null==n)return r;var e=false;t=c(t,function(t){return t=Sr(t,n),e||(e=1<t.length),t}),Cr(n,ve(n),r),e&&(r=_t(r,7,le));for(var u=t.length;u--;)xr(r,t[u]);return r}),If=pe(function(n,t){return null==n?{}:nr(n,t);
+}),Rf=oe(zu),zf=oe(Wu),Wf=qr(function(n,t,r){return t=t.toLowerCase(),n+(r?Uu(t):t)}),Bf=qr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Lf=qr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Uf=Zr("toLowerCase"),Cf=qr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Df=qr(function(n,t,r){return n+(r?" ":"")+Tf(t)}),Mf=qr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Tf=Zr("toUpperCase"),$f=fr(function(t,r){try{return n(t,T,r)}catch(n){return hu(n)?n:new Gu(n)}}),Ff=pe(function(n,t){
+return r(t,function(t){t=De(t),st(n,t,Go(n[t],n))}),n}),Nf=Hr(),Pf=Hr(true),Zf=fr(function(n,t){return function(r){return Lt(r,n,t)}}),qf=fr(function(n,t){return function(r){return Lt(n,r,t)}}),Vf=Xr(c),Kf=Xr(u),Gf=Xr(h),Hf=re(),Jf=re(true),Yf=Qr(function(n,t){return n+t},0),Qf=ie("ceil"),Xf=Qr(function(n,t){return n/t},1),nc=ie("floor"),tc=Qr(function(n,t){return n*t},1),rc=ie("round"),ec=Qr(function(n,t){return n-t},0);return An.after=function(n,t){if(typeof t!="function")throw new ni("Expected a function");
+return n=Au(n),function(){if(1>--n)return t.apply(this,arguments)}},An.ary=ru,An.assign=gf,An.assignIn=df,An.assignInWith=yf,An.assignWith=bf,An.at=xf,An.before=eu,An.bind=Go,An.bindAll=Ff,An.bindKey=Ho,An.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return of(n)?n:[n]},An.chain=Je,An.chunk=function(n,t,r){if(t=(r?Oe(n,t,r):t===T)?1:Li(Au(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Vu(Si(r/t));e<r;)i[u++]=hr(n,e,e+=t);return i},An.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){
+var i=n[t];i&&(u[e++]=i)}return u},An.concat=function(){var n=arguments.length;if(!n)return[];for(var t=Vu(n-1),r=arguments[0];n--;)t[n-1]=arguments[n];return a(of(r)?Ur(r):[r],wt(t,1))},An.cond=function(t){var r=null==t?0:t.length,e=ye();return t=r?c(t,function(n){if("function"!=typeof n[1])throw new ni("Expected a function");return[e(n[0]),n[1]]}):[],fr(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})},An.conforms=function(n){return vt(_t(n,1))},An.constant=Mu,
+An.countBy=To,An.create=function(n,t){var r=ro(n);return null==t?r:at(r,t)},An.curry=uu,An.curryRight=iu,An.debounce=ou,An.defaults=jf,An.defaultsDeep=wf,An.defer=Jo,An.delay=Yo,An.difference=jo,An.differenceBy=wo,An.differenceWith=mo,An.drop=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:Au(t),hr(n,0>t?0:t,e)):[]},An.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:Au(t),t=e-t,hr(n,0,0>t?0:t)):[]},An.dropRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true,true):[];
+},An.dropWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true):[]},An.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&Oe(n,t,r)&&(r=0,e=u),u=n.length,r=Au(r),0>r&&(r=-r>u?0:u+r),e=e===T||e>u?u:Au(e),0>e&&(e+=u),e=r>e?0:ku(e);r<e;)n[r++]=t;return n},An.filter=function(n,t){return(of(n)?i:jt)(n,ye(t,3))},An.flatMap=function(n,t){return wt(tu(n,t),1)},An.flatMapDeep=function(n,t){return wt(tu(n,t),$)},An.flatMapDepth=function(n,t,r){return r=r===T?1:Au(r),
+wt(tu(n,t),r)},An.flatten=Pe,An.flattenDeep=function(n){return(null==n?0:n.length)?wt(n,$):[]},An.flattenDepth=function(n,t){return null!=n&&n.length?(t=t===T?1:Au(t),wt(n,t)):[]},An.flip=function(n){return fe(n,512)},An.flow=Nf,An.flowRight=Pf,An.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},An.functions=function(n){return null==n?[]:kt(n,zu(n))},An.functionsIn=function(n){return null==n?[]:kt(n,Wu(n))},An.groupBy=No,An.initial=function(n){
+return(null==n?0:n.length)?hr(n,0,-1):[]},An.intersection=Ao,An.intersectionBy=ko,An.intersectionWith=Eo,An.invert=mf,An.invertBy=Af,An.invokeMap=Po,An.iteratee=$u,An.keyBy=Zo,An.keys=zu,An.keysIn=Wu,An.map=tu,An.mapKeys=function(n,t){var r={};return t=ye(t,3),mt(n,function(n,e,u){st(r,t(n,e,u),n)}),r},An.mapValues=function(n,t){var r={};return t=ye(t,3),mt(n,function(n,e,u){st(r,e,t(n,e,u))}),r},An.matches=function(n){return Ht(_t(n,1))},An.matchesProperty=function(n,t){return Jt(n,_t(t,1))},An.memoize=fu,
+An.merge=Ef,An.mergeWith=Sf,An.method=Zf,An.methodOf=qf,An.mixin=Fu,An.negate=cu,An.nthArg=function(n){return n=Au(n),fr(function(t){return Qt(t,n)})},An.omit=Of,An.omitBy=function(n,t){return Bu(n,cu(ye(t)))},An.once=function(n){return eu(2,n)},An.orderBy=function(n,t,r,e){return null==n?[]:(of(t)||(t=null==t?[]:[t]),r=e?T:r,of(r)||(r=null==r?[]:[r]),Xt(n,t,r))},An.over=Vf,An.overArgs=Qo,An.overEvery=Kf,An.overSome=Gf,An.partial=Xo,An.partialRight=nf,An.partition=qo,An.pick=If,An.pickBy=Bu,An.property=Pu,
+An.propertyOf=function(n){return function(t){return null==n?T:Et(n,t)}},An.pull=So,An.pullAll=Ve,An.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?er(n,t,ye(r,2)):n},An.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?er(n,t,T,r):n},An.pullAt=Oo,An.range=Hf,An.rangeRight=Jf,An.rearg=tf,An.reject=function(n,t){return(of(n)?i:jt)(n,cu(ye(t,3)))},An.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=ye(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),
+u.push(e))}return ur(n,u),r},An.rest=function(n,t){if(typeof n!="function")throw new ni("Expected a function");return t=t===T?t:Au(t),fr(n,t)},An.reverse=Ke,An.sampleSize=function(n,t,r){return t=(r?Oe(n,t,r):t===T)?1:Au(t),(of(n)?et:ar)(n,t)},An.set=function(n,t,r){return null==n?n:lr(n,t,r)},An.setWith=function(n,t,r,e){return e=typeof e=="function"?e:T,null==n?n:lr(n,t,r,e)},An.shuffle=function(n){return(of(n)?ut:sr)(n)},An.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&typeof r!="number"&&Oe(n,t,r)?(t=0,
+r=e):(t=null==t?0:Au(t),r=r===T?e:Au(r)),hr(n,t,r)):[]},An.sortBy=Vo,An.sortedUniq=function(n){return n&&n.length?gr(n):[]},An.sortedUniqBy=function(n,t){return n&&n.length?gr(n,ye(t,2)):[]},An.split=function(n,t,r){return r&&typeof r!="number"&&Oe(n,t,r)&&(t=r=T),r=r===T?4294967295:r>>>0,r?(n=Ou(n))&&(typeof t=="string"||null!=t&&!sf(t))&&(t=yr(t),!t&&Rn.test(n))?Or(M(n),0,r):n.split(t,r):[]},An.spread=function(t,r){if(typeof t!="function")throw new ni("Expected a function");return r=null==r?0:Li(Au(r),0),
+fr(function(e){var u=e[r];return e=Or(e,0,r),u&&a(e,u),n(t,this,e)})},An.tail=function(n){var t=null==n?0:n.length;return t?hr(n,1,t):[]},An.take=function(n,t,r){return n&&n.length?(t=r||t===T?1:Au(t),hr(n,0,0>t?0:t)):[]},An.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:Au(t),t=e-t,hr(n,0>t?0:t,e)):[]},An.takeRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),false,true):[]},An.takeWhile=function(n,t){return n&&n.length?jr(n,ye(t,3)):[]},An.tap=function(n,t){return t(n),
+n},An.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ni("Expected a function");return gu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),ou(n,t,{leading:e,maxWait:t,trailing:u})},An.thru=Ye,An.toArray=wu,An.toPairs=Rf,An.toPairsIn=zf,An.toPath=function(n){return of(n)?c(n,De):ju(n)?[n]:Ur(xo(Ou(n)))},An.toPlainObject=Su,An.transform=function(n,t,e){var u=of(n),i=u||cf(n)||pf(n);if(t=ye(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:gu(n)&&pu(o)?ro(gi(n)):{};
+}return(i?r:mt)(n,function(n,r,u){return t(e,n,r,u)}),e},An.unary=function(n){return ru(n,1)},An.union=Io,An.unionBy=Ro,An.unionWith=zo,An.uniq=function(n){return n&&n.length?br(n):[]},An.uniqBy=function(n,t){return n&&n.length?br(n,ye(t,2)):[]},An.uniqWith=function(n,t){return t=typeof t=="function"?t:T,n&&n.length?br(n,T,t):[]},An.unset=function(n,t){return null==n||xr(n,t)},An.unzip=Ge,An.unzipWith=He,An.update=function(n,t,r){return null==n?n:lr(n,t,Er(r)(Et(n,t)),void 0)},An.updateWith=function(n,t,r,e){
+return e=typeof e=="function"?e:T,null!=n&&(n=lr(n,t,Er(r)(Et(n,t)),e)),n},An.values=Lu,An.valuesIn=function(n){return null==n?[]:S(n,Wu(n))},An.without=Wo,An.words=Du,An.wrap=function(n,t){return Xo(Er(t),n)},An.xor=Bo,An.xorBy=Lo,An.xorWith=Uo,An.zip=Co,An.zipObject=function(n,t){return Ar(n||[],t||[],ot)},An.zipObjectDeep=function(n,t){return Ar(n||[],t||[],lr)},An.zipWith=Do,An.entries=Rf,An.entriesIn=zf,An.extend=df,An.extendWith=yf,Fu(An,An),An.add=Yf,An.attempt=$f,An.camelCase=Wf,An.capitalize=Uu,
+An.ceil=Qf,An.clamp=function(n,t,r){return r===T&&(r=t,t=T),r!==T&&(r=Eu(r),r=r===r?r:0),t!==T&&(t=Eu(t),t=t===t?t:0),pt(Eu(n),t,r)},An.clone=function(n){return _t(n,4)},An.cloneDeep=function(n){return _t(n,5)},An.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,5,t)},An.cloneWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,4,t)},An.conformsTo=function(n,t){return null==t||gt(n,t,zu(t))},An.deburr=Cu,An.defaultTo=function(n,t){return null==n||n!==n?t:n},An.divide=Xf,An.endsWith=function(n,t,r){
+n=Ou(n),t=yr(t);var e=n.length,e=r=r===T?e:pt(Au(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},An.eq=au,An.escape=function(n){return(n=Ou(n))&&H.test(n)?n.replace(K,nt):n},An.escapeRegExp=function(n){return(n=Ou(n))&&en.test(n)?n.replace(rn,"\\$&"):n},An.every=function(n,t,r){var e=of(n)?u:bt;return r&&Oe(n,t,r)&&(t=T),e(n,ye(t,3))},An.find=$o,An.findIndex=Fe,An.findKey=function(n,t){return p(n,ye(t,3),mt)},An.findLast=Fo,An.findLastIndex=Ne,An.findLastKey=function(n,t){return p(n,ye(t,3),At);
+},An.floor=nc,An.forEach=Xe,An.forEachRight=nu,An.forIn=function(n,t){return null==n?n:io(n,ye(t,3),Wu)},An.forInRight=function(n,t){return null==n?n:oo(n,ye(t,3),Wu)},An.forOwn=function(n,t){return n&&mt(n,ye(t,3))},An.forOwnRight=function(n,t){return n&&At(n,ye(t,3))},An.get=Iu,An.gt=rf,An.gte=ef,An.has=function(n,t){return null!=n&&we(n,t,Rt)},An.hasIn=Ru,An.head=Ze,An.identity=Tu,An.includes=function(n,t,r,e){return n=lu(n)?n:Lu(n),r=r&&!e?Au(r):0,e=n.length,0>r&&(r=Li(e+r,0)),xu(n)?r<=e&&-1<n.indexOf(t,r):!!e&&-1<v(n,t,r);
+},An.indexOf=function(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Au(r),0>r&&(r=Li(e+r,0)),v(n,t,r)):-1},An.inRange=function(n,t,r){return t=mu(t),r===T?(r=t,t=0):r=mu(r),n=Eu(n),n>=Ui(t,r)&&n<Li(t,r)},An.invoke=kf,An.isArguments=uf,An.isArray=of,An.isArrayBuffer=ff,An.isArrayLike=lu,An.isArrayLikeObject=su,An.isBoolean=function(n){return true===n||false===n||du(n)&&"[object Boolean]"==Ot(n)},An.isBuffer=cf,An.isDate=af,An.isElement=function(n){return du(n)&&1===n.nodeType&&!bu(n)},An.isEmpty=function(n){
+if(null==n)return true;if(lu(n)&&(of(n)||typeof n=="string"||typeof n.splice=="function"||cf(n)||pf(n)||uf(n)))return!n.length;var t=_o(n);if("[object Map]"==t||"[object Set]"==t)return!n.size;if(ze(n))return!Vt(n).length;for(var r in n)if(ii.call(n,r))return false;return true},An.isEqual=function(n,t){return Mt(n,t)},An.isEqualWith=function(n,t,r){var e=(r=typeof r=="function"?r:T)?r(n,t):T;return e===T?Mt(n,t,T,r):!!e},An.isError=hu,An.isFinite=function(n){return typeof n=="number"&&zi(n)},An.isFunction=pu,
+An.isInteger=_u,An.isLength=vu,An.isMap=lf,An.isMatch=function(n,t){return n===t||$t(n,t,xe(t))},An.isMatchWith=function(n,t,r){return r=typeof r=="function"?r:T,$t(n,t,xe(t),r)},An.isNaN=function(n){return yu(n)&&n!=+n},An.isNative=function(n){if(vo(n))throw new Gu("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Ft(n)},An.isNil=function(n){return null==n},An.isNull=function(n){return null===n},An.isNumber=yu,An.isObject=gu,An.isObjectLike=du,An.isPlainObject=bu,An.isRegExp=sf,
+An.isSafeInteger=function(n){return _u(n)&&-9007199254740991<=n&&9007199254740991>=n},An.isSet=hf,An.isString=xu,An.isSymbol=ju,An.isTypedArray=pf,An.isUndefined=function(n){return n===T},An.isWeakMap=function(n){return du(n)&&"[object WeakMap]"==_o(n)},An.isWeakSet=function(n){return du(n)&&"[object WeakSet]"==Ot(n)},An.join=function(n,t){return null==n?"":Wi.call(n,t)},An.kebabCase=Bf,An.last=qe,An.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==T&&(u=Au(r),u=0>u?Li(e+u,0):Ui(u,e-1)),
+t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=_(n,d,u,true);return n},An.lowerCase=Lf,An.lowerFirst=Uf,An.lt=_f,An.lte=vf,An.max=function(n){return n&&n.length?xt(n,Tu,It):T},An.maxBy=function(n,t){return n&&n.length?xt(n,ye(t,2),It):T},An.mean=function(n){return y(n,Tu)},An.meanBy=function(n,t){return y(n,ye(t,2))},An.min=function(n){return n&&n.length?xt(n,Tu,Kt):T},An.minBy=function(n,t){return n&&n.length?xt(n,ye(t,2),Kt):T},An.stubArray=Zu,An.stubFalse=qu,An.stubObject=function(){return{}},An.stubString=function(){
+return""},An.stubTrue=function(){return true},An.multiply=tc,An.nth=function(n,t){return n&&n.length?Qt(n,Au(t)):T},An.noConflict=function(){return Fn._===this&&(Fn._=li),this},An.noop=Nu,An.now=Ko,An.pad=function(n,t,r){n=Ou(n);var e=(t=Au(t))?D(n):0;return!t||e>=t?n:(t=(t-e)/2,ne(Oi(t),r)+n+ne(Si(t),r))},An.padEnd=function(n,t,r){n=Ou(n);var e=(t=Au(t))?D(n):0;return t&&e<t?n+ne(t-e,r):n},An.padStart=function(n,t,r){n=Ou(n);var e=(t=Au(t))?D(n):0;return t&&e<t?ne(t-e,r)+n:n},An.parseInt=function(n,t,r){
+return r||null==t?t=0:t&&(t=+t),Di(Ou(n).replace(on,""),t||0)},An.random=function(n,t,r){if(r&&typeof r!="boolean"&&Oe(n,t,r)&&(t=r=T),r===T&&(typeof t=="boolean"?(r=t,t=T):typeof n=="boolean"&&(r=n,n=T)),n===T&&t===T?(n=0,t=1):(n=mu(n),t===T?(t=n,n=0):t=mu(t)),n>t){var e=n;n=t,t=e}return r||n%1||t%1?(r=Mi(),Ui(n+r*(t-n+Dn("1e-"+((r+"").length-1))),t)):ir(n,t)},An.reduce=function(n,t,r){var e=of(n)?l:j,u=3>arguments.length;return e(n,ye(t,4),r,u,eo)},An.reduceRight=function(n,t,r){var e=of(n)?s:j,u=3>arguments.length;
+return e(n,ye(t,4),r,u,uo)},An.repeat=function(n,t,r){return t=(r?Oe(n,t,r):t===T)?1:Au(t),or(Ou(n),t)},An.replace=function(){var n=arguments,t=Ou(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},An.result=function(n,t,r){t=Sr(t,n);var e=-1,u=t.length;for(u||(u=1,n=T);++e<u;){var i=null==n?T:n[De(t[e])];i===T&&(e=u,i=r),n=pu(i)?i.call(n):i}return n},An.round=rc,An.runInContext=x,An.sample=function(n){return(of(n)?Qn:cr)(n)},An.size=function(n){if(null==n)return 0;if(lu(n))return xu(n)?D(n):n.length;
+var t=_o(n);return"[object Map]"==t||"[object Set]"==t?n.size:Vt(n).length},An.snakeCase=Cf,An.some=function(n,t,r){var e=of(n)?h:pr;return r&&Oe(n,t,r)&&(t=T),e(n,ye(t,3))},An.sortedIndex=function(n,t){return _r(n,t)},An.sortedIndexBy=function(n,t,r){return vr(n,t,ye(r,2))},An.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=_r(n,t);if(e<r&&au(n[e],t))return e}return-1},An.sortedLastIndex=function(n,t){return _r(n,t,true)},An.sortedLastIndexBy=function(n,t,r){return vr(n,t,ye(r,2),true);
+},An.sortedLastIndexOf=function(n,t){if(null==n?0:n.length){var r=_r(n,t,true)-1;if(au(n[r],t))return r}return-1},An.startCase=Df,An.startsWith=function(n,t,r){return n=Ou(n),r=null==r?0:pt(Au(r),0,n.length),t=yr(t),n.slice(r,r+t.length)==t},An.subtract=ec,An.sum=function(n){return n&&n.length?m(n,Tu):0},An.sumBy=function(n,t){return n&&n.length?m(n,ye(t,2)):0},An.template=function(n,t,r){var e=An.templateSettings;r&&Oe(n,t,r)&&(t=T),n=Ou(n),t=yf({},t,e,ce),r=yf({},t.imports,e.imports,ce);var u,i,o=zu(r),f=S(r,o),c=0;
+r=t.interpolate||jn;var a="__p+='";r=Qu((t.escape||jn).source+"|"+r.source+"|"+(r===Q?pn:jn).source+"|"+(t.evaluate||jn).source+"|$","g");var l="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,o,f,l){return e||(e=o),a+=n.slice(c,l).replace(wn,z),r&&(u=true,a+="'+__e("+r+")+'"),f&&(i=true,a+="';"+f+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+t.length,t}),a+="';",(t=t.variable)||(a="with(obj){"+a+"}"),a=(i?a.replace(P,""):a).replace(Z,"$1").replace(q,"$1;"),
+a="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",t=$f(function(){return Hu(o,l+"return "+a).apply(T,f)}),t.source=a,hu(t))throw t;return t},An.times=function(n,t){if(n=Au(n),1>n||9007199254740991<n)return[];var r=4294967295,e=Ui(n,4294967295);for(t=ye(t),n-=4294967295,e=A(e,t);++r<n;)t(r);return e},An.toFinite=mu,An.toInteger=Au,An.toLength=ku,An.toLower=function(n){
+return Ou(n).toLowerCase()},An.toNumber=Eu,An.toSafeInteger=function(n){return n?pt(Au(n),-9007199254740991,9007199254740991):0===n?n:0},An.toString=Ou,An.toUpper=function(n){return Ou(n).toUpperCase()},An.trim=function(n,t,r){return(n=Ou(n))&&(r||t===T)?n.replace(un,""):n&&(t=yr(t))?(n=M(n),r=M(t),t=I(n,r),r=R(n,r)+1,Or(n,t,r).join("")):n},An.trimEnd=function(n,t,r){return(n=Ou(n))&&(r||t===T)?n.replace(fn,""):n&&(t=yr(t))?(n=M(n),t=R(n,M(t))+1,Or(n,0,t).join("")):n},An.trimStart=function(n,t,r){
+return(n=Ou(n))&&(r||t===T)?n.replace(on,""):n&&(t=yr(t))?(n=M(n),t=I(n,M(t)),Or(n,t).join("")):n},An.truncate=function(n,t){var r=30,e="...";if(gu(t))var u="separator"in t?t.separator:u,r="length"in t?Au(t.length):r,e="omission"in t?yr(t.omission):e;n=Ou(n);var i=n.length;if(Rn.test(n))var o=M(n),i=o.length;if(r>=i)return n;if(i=r-D(e),1>i)return e;if(r=o?Or(o,0,i).join(""):n.slice(0,i),u===T)return r+e;if(o&&(i+=r.length-i),sf(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=Qu(u.source,Ou(_n.exec(u))+"g")),
+u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===T?i:c)}}else n.indexOf(yr(u),i)!=i&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},An.unescape=function(n){return(n=Ou(n))&&G.test(n)?n.replace(V,tt):n},An.uniqueId=function(n){var t=++oi;return Ou(n)+t},An.upperCase=Mf,An.upperFirst=Tf,An.each=Xe,An.eachRight=nu,An.first=Ze,Fu(An,function(){var n={};return mt(An,function(t,r){ii.call(An.prototype,r)||(n[r]=t)}),n}(),{chain:false}),An.VERSION="4.17.5",r("bind bindKey curry curryRight partial partialRight".split(" "),function(n){
+An[n].placeholder=An}),r(["drop","take"],function(n,t){Un.prototype[n]=function(r){r=r===T?1:Li(Au(r),0);var e=this.__filtered__&&!t?new Un(this):this.clone();return e.__filtered__?e.__takeCount__=Ui(r,e.__takeCount__):e.__views__.push({size:Ui(r,4294967295),type:n+(0>e.__dir__?"Right":"")}),e},Un.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),r(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Un.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({
+iteratee:ye(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r(["head","last"],function(n,t){var r="take"+(t?"Right":"");Un.prototype[n]=function(){return this[r](1).value()[0]}}),r(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Un.prototype[n]=function(){return this.__filtered__?new Un(this):this[r](1)}}),Un.prototype.compact=function(){return this.filter(Tu)},Un.prototype.find=function(n){return this.filter(n).head()},Un.prototype.findLast=function(n){return this.reverse().find(n);
+},Un.prototype.invokeMap=fr(function(n,t){return typeof n=="function"?new Un(this):this.map(function(r){return Lt(r,n,t)})}),Un.prototype.reject=function(n){return this.filter(cu(ye(n)))},Un.prototype.slice=function(n,t){n=Au(n);var r=this;return r.__filtered__&&(0<n||0>t)?new Un(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==T&&(t=Au(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Un.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Un.prototype.toArray=function(){return this.take(4294967295);
+},mt(Un.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=An[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(An.prototype[t]=function(){function t(n){return n=u.apply(An,a([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Un,l=f[0],s=c||of(o);s&&r&&typeof l=="function"&&1!=l.length&&(c=s=false);var h=this.__chain__,p=!!this.__actions__.length,l=i&&!h,c=c&&!p;return!i&&s?(o=c?o:new Un(this),o=n.apply(o,f),o.__actions__.push({
+func:Ye,args:[t],thisArg:T}),new On(o,h)):l&&c?n.apply(this,f):(o=this.thru(t),l?e?o.value()[0]:o.value():o)})}),r("pop push shift sort splice unshift".split(" "),function(n){var t=ti[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);An.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(of(u)?u:[],n)}return this[r](function(r){return t.apply(of(r)?r:[],n)})}}),mt(Un.prototype,function(n,t){var r=An[t];if(r){var e=r.name+"";
+(Ki[e]||(Ki[e]=[])).push({name:t,func:r})}}),Ki[Jr(T,2).name]=[{name:"wrapper",func:T}],Un.prototype.clone=function(){var n=new Un(this.__wrapped__);return n.__actions__=Ur(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Ur(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Ur(this.__views__),n},Un.prototype.reverse=function(){if(this.__filtered__){var n=new Un(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n;
+},Un.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=of(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++c<a;){var l=o[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":n-=s;break;case"take":n=Ui(n,f+s);break;case"takeRight":f=Li(f,n-s)}}if(n={start:f,end:n},o=n.start,f=n.end,n=f-o,o=u?f:o-1,f=this.__iteratees__,c=f.length,a=0,l=Ui(n,this.__takeCount__),!e||!u&&i==n&&l==n)return wr(t,this.__actions__);e=[];n:for(;n--&&a<l;){for(o+=r,
+u=-1,i=t[o];++u<c;){var h=f[u],s=h.type,h=(0,h.iteratee)(i);if(2==s)i=h;else if(!h){if(1==s)continue n;break n}}e[a++]=i}return e},An.prototype.at=Mo,An.prototype.chain=function(){return Je(this)},An.prototype.commit=function(){return new On(this.value(),this.__chain__)},An.prototype.next=function(){this.__values__===T&&(this.__values__=wu(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?T:this.__values__[this.__index__++]}},An.prototype.plant=function(n){for(var t,r=this;r instanceof kn;){
+var e=$e(r);e.__index__=0,e.__values__=T,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},An.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Un?(this.__actions__.length&&(n=new Un(this)),n=n.reverse(),n.__actions__.push({func:Ye,args:[Ke],thisArg:T}),new On(n,this.__chain__)):this.thru(Ke)},An.prototype.toJSON=An.prototype.valueOf=An.prototype.value=function(){return wr(this.__wrapped__,this.__actions__)},An.prototype.first=An.prototype.head,ji&&(An.prototype[ji]=Qe),
+An}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Fn._=rt, define(function(){return rt})):Pn?((Pn.exports=rt)._=rt,Nn._=rt):Fn._=rt}).call(this); \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/lodash/package.json b/tools/node_modules/eslint/node_modules/lodash/package.json
index 1b02f95ee3..6521b731e1 100644
--- a/tools/node_modules/eslint/node_modules/lodash/package.json
+++ b/tools/node_modules/eslint/node_modules/lodash/package.json
@@ -1,8 +1,8 @@
{
"_from": "lodash@^4.17.4",
- "_id": "lodash@4.17.4",
+ "_id": "lodash@4.17.5",
"_inBundle": false,
- "_integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "_integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
"_location": "/eslint/lodash",
"_phantomChildren": {},
"_requested": {
@@ -20,10 +20,10 @@
"/eslint/inquirer",
"/eslint/table"
],
- "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "_shasum": "78203a4d1c328ae1d86dca6460e369b57f4055ae",
+ "_resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "_shasum": "99a92d65c0272debe8c96b6057bc8fbfa3bed511",
"_spec": "lodash@^4.17.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
@@ -62,7 +62,7 @@
"url": "git+https://github.com/lodash/lodash.git"
},
"scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\""
},
- "version": "4.17.4"
+ "version": "4.17.5"
}
diff --git a/tools/node_modules/eslint/node_modules/lru-cache/README.md b/tools/node_modules/eslint/node_modules/lru-cache/README.md
index f646c1cb8e..d660dd5747 100644
--- a/tools/node_modules/eslint/node_modules/lru-cache/README.md
+++ b/tools/node_modules/eslint/node_modules/lru-cache/README.md
@@ -25,10 +25,16 @@ cache.set("key", "value")
cache.get("key") // "value"
// non-string keys ARE fully supported
-var someObject = {}
+// but note that it must be THE SAME object, not
+// just a JSON-equivalent object.
+var someObject = { a: 1 }
cache.set(someObject, 'a value')
+// Object keys are not toString()-ed
cache.set('[object Object]', 'a different value')
assert.equal(cache.get(someObject), 'a value')
+// A similar object with same keys/values won't work,
+// because it's a different object identity
+assert.equal(cache.get({ a: 1 }), undefined)
cache.reset() // empty the cache
```
diff --git a/tools/node_modules/eslint/node_modules/lru-cache/package.json b/tools/node_modules/eslint/node_modules/lru-cache/package.json
index b867b9990c..9ab2a9ded0 100644
--- a/tools/node_modules/eslint/node_modules/lru-cache/package.json
+++ b/tools/node_modules/eslint/node_modules/lru-cache/package.json
@@ -1,8 +1,8 @@
{
"_from": "lru-cache@^4.0.1",
- "_id": "lru-cache@4.1.1",
+ "_id": "lru-cache@4.1.2",
"_inBundle": false,
- "_integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "_integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
"_location": "/eslint/lru-cache",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/cross-spawn"
],
- "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "_shasum": "622e32e82488b49279114a4f9ecf45e7cd6bba55",
+ "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
+ "_shasum": "45234b2e6e2f2b33da125624c4664929a0224c3f",
"_spec": "lru-cache@^4.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me"
@@ -64,5 +64,5 @@
"preversion": "npm test",
"test": "tap test/*.js --100 -J"
},
- "version": "4.1.1"
+ "version": "4.1.2"
}
diff --git a/tools/node_modules/eslint/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint/node_modules/markdown-escapes/package.json
index 10b7ce1d66..0b21321443 100644
--- a/tools/node_modules/eslint/node_modules/markdown-escapes/package.json
+++ b/tools/node_modules/eslint/node_modules/markdown-escapes/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
"_shasum": "1994df2d3af4811de59a6714934c2b2292734518",
"_spec": "markdown-escapes@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/mimic-fn/index.js b/tools/node_modules/eslint/node_modules/mimic-fn/index.js
index 9bf1763673..08e69d3d88 100644
--- a/tools/node_modules/eslint/node_modules/mimic-fn/index.js
+++ b/tools/node_modules/eslint/node_modules/mimic-fn/index.js
@@ -4,4 +4,6 @@ module.exports = (to, from) => {
for (const prop of Object.getOwnPropertyNames(from).concat(Object.getOwnPropertySymbols(from))) {
Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop));
}
+
+ return to;
};
diff --git a/tools/node_modules/eslint/node_modules/mimic-fn/license b/tools/node_modules/eslint/node_modules/mimic-fn/license
index 654d0bfe94..e7af2f7710 100644
--- a/tools/node_modules/eslint/node_modules/mimic-fn/license
+++ b/tools/node_modules/eslint/node_modules/mimic-fn/license
@@ -1,21 +1,9 @@
-The MIT License (MIT)
+MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/mimic-fn/package.json b/tools/node_modules/eslint/node_modules/mimic-fn/package.json
index b68ffa2f3d..0f95bcd6a9 100644
--- a/tools/node_modules/eslint/node_modules/mimic-fn/package.json
+++ b/tools/node_modules/eslint/node_modules/mimic-fn/package.json
@@ -1,8 +1,8 @@
{
"_from": "mimic-fn@^1.0.0",
- "_id": "mimic-fn@1.1.0",
+ "_id": "mimic-fn@1.2.0",
"_inBundle": false,
- "_integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+ "_integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"_location": "/eslint/mimic-fn",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/onetime"
],
- "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "_shasum": "e667783d92e89dbd342818b5230b9d62a672ad18",
+ "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "_shasum": "820c86a39334640e99516928bd03fca88057d022",
"_spec": "mimic-fn@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/onetime",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/onetime",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
@@ -68,8 +68,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "1.1.0",
- "xo": {
- "esnext": true
- }
+ "version": "1.2.0"
}
diff --git a/tools/node_modules/eslint/node_modules/mimic-fn/readme.md b/tools/node_modules/eslint/node_modules/mimic-fn/readme.md
index 672c79eb3a..e575734389 100644
--- a/tools/node_modules/eslint/node_modules/mimic-fn/readme.md
+++ b/tools/node_modules/eslint/node_modules/mimic-fn/readme.md
@@ -8,7 +8,7 @@ Useful when you wrap a function in another function and like to preserve the ori
## Install
```
-$ npm install --save mimic-fn
+$ npm install mimic-fn
```
@@ -43,6 +43,8 @@ It will copy over the properties `name`, `length`, `displayName`, and any custom
### mimicFn(to, from)
+It will modify `to` and return it.
+
#### to
Type: `Function`
diff --git a/tools/node_modules/eslint/node_modules/minimatch/package.json b/tools/node_modules/eslint/node_modules/minimatch/package.json
index c821443189..e871999019 100644
--- a/tools/node_modules/eslint/node_modules/minimatch/package.json
+++ b/tools/node_modules/eslint/node_modules/minimatch/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"_shasum": "5166e286457f03306064be5497e8dbb0c3d32083",
"_spec": "minimatch@^3.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/minimist/package.json b/tools/node_modules/eslint/node_modules/minimist/package.json
index 4a683c6504..a1bf38ddc4 100644
--- a/tools/node_modules/eslint/node_modules/minimist/package.json
+++ b/tools/node_modules/eslint/node_modules/minimist/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d",
"_spec": "minimist@0.0.8",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/mkdirp",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/mkdirp",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/mkdirp/package.json b/tools/node_modules/eslint/node_modules/mkdirp/package.json
index 5069cd4dbd..ca1192db98 100644
--- a/tools/node_modules/eslint/node_modules/mkdirp/package.json
+++ b/tools/node_modules/eslint/node_modules/mkdirp/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
"_spec": "mkdirp@^0.5.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/ms/package.json b/tools/node_modules/eslint/node_modules/ms/package.json
index b130a7c980..b08e241033 100644
--- a/tools/node_modules/eslint/node_modules/ms/package.json
+++ b/tools/node_modules/eslint/node_modules/ms/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8",
"_spec": "ms@2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/debug",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/debug",
"bugs": {
"url": "https://github.com/zeit/ms/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/mute-stream/package.json b/tools/node_modules/eslint/node_modules/mute-stream/package.json
index 2a4f36d216..dc348389a2 100644
--- a/tools/node_modules/eslint/node_modules/mute-stream/package.json
+++ b/tools/node_modules/eslint/node_modules/mute-stream/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"_shasum": "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab",
"_spec": "mute-stream@0.0.7",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/natural-compare/package.json b/tools/node_modules/eslint/node_modules/natural-compare/package.json
index 7510ebd257..a7e80ac1b8 100644
--- a/tools/node_modules/eslint/node_modules/natural-compare/package.json
+++ b/tools/node_modules/eslint/node_modules/natural-compare/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"_shasum": "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7",
"_spec": "natural-compare@^1.4.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Lauri Rooden",
"url": "https://github.com/litejs/natural-compare-lite"
diff --git a/tools/node_modules/eslint/node_modules/object-assign/package.json b/tools/node_modules/eslint/node_modules/object-assign/package.json
index bd76f9e6ab..2abe4246f7 100644
--- a/tools/node_modules/eslint/node_modules/object-assign/package.json
+++ b/tools/node_modules/eslint/node_modules/object-assign/package.json
@@ -17,14 +17,13 @@
},
"_requiredBy": [
"/eslint/del",
- "/eslint/esrecurse",
"/eslint/file-entry-cache",
"/eslint/globby"
],
"_resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"_shasum": "2109adc7965887cfc05cbbd442cac8bfbb360863",
"_spec": "object-assign@^4.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/esrecurse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/file-entry-cache",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/once/package.json b/tools/node_modules/eslint/node_modules/once/package.json
index 6269d614bd..a6b79e6be7 100644
--- a/tools/node_modules/eslint/node_modules/once/package.json
+++ b/tools/node_modules/eslint/node_modules/once/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
"_spec": "once@^1.3.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/onetime/package.json b/tools/node_modules/eslint/node_modules/onetime/package.json
index d8d9156297..4a96644cd7 100644
--- a/tools/node_modules/eslint/node_modules/onetime/package.json
+++ b/tools/node_modules/eslint/node_modules/onetime/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"_shasum": "067428230fd67443b2794b22bba528b6867962d4",
"_spec": "onetime@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/restore-cursor",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/restore-cursor",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/optionator/package.json b/tools/node_modules/eslint/node_modules/optionator/package.json
index acac07aa89..cbcd2da7df 100644
--- a/tools/node_modules/eslint/node_modules/optionator/package.json
+++ b/tools/node_modules/eslint/node_modules/optionator/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"_shasum": "364c5e409d3f4d6301d6c0b4c05bba50180aeb64",
"_spec": "optionator@^0.8.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "George Zahariev",
"email": "z@georgezahariev.com"
diff --git a/tools/node_modules/eslint/node_modules/os-tmpdir/package.json b/tools/node_modules/eslint/node_modules/os-tmpdir/package.json
index 98b622a2fa..a13621cc55 100644
--- a/tools/node_modules/eslint/node_modules/os-tmpdir/package.json
+++ b/tools/node_modules/eslint/node_modules/os-tmpdir/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
"_spec": "os-tmpdir@~1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/tmp",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/tmp",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/parse-entities/package.json b/tools/node_modules/eslint/node_modules/parse-entities/package.json
index 50e2713c6a..552729206f 100644
--- a/tools/node_modules/eslint/node_modules/parse-entities/package.json
+++ b/tools/node_modules/eslint/node_modules/parse-entities/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
"_shasum": "8112d88471319f27abae4d64964b122fe4e1b890",
"_spec": "parse-entities@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/path-is-absolute/package.json b/tools/node_modules/eslint/node_modules/path-is-absolute/package.json
index e2aedbe481..b9cd253924 100644
--- a/tools/node_modules/eslint/node_modules/path-is-absolute/package.json
+++ b/tools/node_modules/eslint/node_modules/path-is-absolute/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"_shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
"_spec": "path-is-absolute@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/path-is-inside/package.json b/tools/node_modules/eslint/node_modules/path-is-inside/package.json
index f9804e8cd7..ac720df1cf 100644
--- a/tools/node_modules/eslint/node_modules/path-is-inside/package.json
+++ b/tools/node_modules/eslint/node_modules/path-is-inside/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"_shasum": "365417dede44430d1c11af61027facf074bdfc53",
"_spec": "path-is-inside@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Domenic Denicola",
"email": "d@domenic.me",
diff --git a/tools/node_modules/eslint/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/pify/package.json
index 13208eba97..c21ccdb251 100644
--- a/tools/node_modules/eslint/node_modules/pify/package.json
+++ b/tools/node_modules/eslint/node_modules/pify/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"_shasum": "ed141a6ac043a849ea588498e7dca8b15330e90c",
"_spec": "pify@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/package.json b/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
index 54ede6f3b7..155ac88d3d 100644
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
+++ b/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"_shasum": "2135d6dfa7a358c069ac9b178776288228450ffa",
"_spec": "pinkie-promise@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Vsevolod Strukchinsky",
"email": "floatdrop@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/pinkie/package.json b/tools/node_modules/eslint/node_modules/pinkie/package.json
index 4fa5da63fe..86012bddd0 100644
--- a/tools/node_modules/eslint/node_modules/pinkie/package.json
+++ b/tools/node_modules/eslint/node_modules/pinkie/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"_shasum": "72556b80cfa0d48a974e80e77248e80ed4f7f870",
"_spec": "pinkie@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/pinkie-promise",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/pinkie-promise",
"author": {
"name": "Vsevolod Strukchinsky",
"email": "floatdrop@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/pluralize/package.json b/tools/node_modules/eslint/node_modules/pluralize/package.json
index 2394a03e3f..10157b7f4f 100644
--- a/tools/node_modules/eslint/node_modules/pluralize/package.json
+++ b/tools/node_modules/eslint/node_modules/pluralize/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
"_shasum": "298b89df8b93b0221dbf421ad2b1b1ea23fc6777",
"_spec": "pluralize@^7.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Blake Embrey",
"email": "hello@blakeembrey.com",
diff --git a/tools/node_modules/eslint/node_modules/prelude-ls/package.json b/tools/node_modules/eslint/node_modules/prelude-ls/package.json
index 8f7d64ccde..e8c9005cf6 100644
--- a/tools/node_modules/eslint/node_modules/prelude-ls/package.json
+++ b/tools/node_modules/eslint/node_modules/prelude-ls/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"_shasum": "21932a549f5e52ffd9a827f570e04be62a97da54",
"_spec": "prelude-ls@~1.1.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/levn",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/levn",
"author": {
"name": "George Zahariev",
"email": "z@georgezahariev.com"
diff --git a/tools/node_modules/eslint/node_modules/process-nextick-args/index.js b/tools/node_modules/eslint/node_modules/process-nextick-args/index.js
index a4f40f845f..ce045c6560 100644
--- a/tools/node_modules/eslint/node_modules/process-nextick-args/index.js
+++ b/tools/node_modules/eslint/node_modules/process-nextick-args/index.js
@@ -3,9 +3,9 @@
if (!process.version ||
process.version.indexOf('v0.') === 0 ||
process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
- module.exports = nextTick;
+ module.exports = { nextTick: nextTick };
} else {
- module.exports = process.nextTick;
+ module.exports = process
}
function nextTick(fn, arg1, arg2, arg3) {
diff --git a/tools/node_modules/eslint/node_modules/process-nextick-args/package.json b/tools/node_modules/eslint/node_modules/process-nextick-args/package.json
index 3c6b253bbf..be0a9aca9f 100644
--- a/tools/node_modules/eslint/node_modules/process-nextick-args/package.json
+++ b/tools/node_modules/eslint/node_modules/process-nextick-args/package.json
@@ -1,27 +1,27 @@
{
- "_from": "process-nextick-args@~1.0.6",
- "_id": "process-nextick-args@1.0.7",
+ "_from": "process-nextick-args@~2.0.0",
+ "_id": "process-nextick-args@2.0.0",
"_inBundle": false,
- "_integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "_integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"_location": "/eslint/process-nextick-args",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "process-nextick-args@~1.0.6",
+ "raw": "process-nextick-args@~2.0.0",
"name": "process-nextick-args",
"escapedName": "process-nextick-args",
- "rawSpec": "~1.0.6",
+ "rawSpec": "~2.0.0",
"saveSpec": null,
- "fetchSpec": "~1.0.6"
+ "fetchSpec": "~2.0.0"
},
"_requiredBy": [
"/eslint/readable-stream"
],
- "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "_shasum": "150e20b756590ad3f91093f25a4f2ad8bff30ba3",
- "_spec": "process-nextick-args@~1.0.6",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "_shasum": "a37d732f4271b4ab1ad070d35508e8290788ffaa",
+ "_spec": "process-nextick-args@~2.0.0",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"author": "",
"bugs": {
"url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
@@ -32,6 +32,9 @@
"devDependencies": {
"tap": "~0.2.6"
},
+ "files": [
+ "index.js"
+ ],
"homepage": "https://github.com/calvinmetcalf/process-nextick-args",
"license": "MIT",
"main": "index.js",
@@ -43,5 +46,5 @@
"scripts": {
"test": "node test.js"
},
- "version": "1.0.7"
+ "version": "2.0.0"
}
diff --git a/tools/node_modules/eslint/node_modules/process-nextick-args/readme.md b/tools/node_modules/eslint/node_modules/process-nextick-args/readme.md
index 78e7cfaeb7..ecb432c9b2 100644
--- a/tools/node_modules/eslint/node_modules/process-nextick-args/readme.md
+++ b/tools/node_modules/eslint/node_modules/process-nextick-args/readme.md
@@ -10,9 +10,9 @@ npm install --save process-nextick-args
Always be able to pass arguments to process.nextTick, no matter the platform
```js
-var nextTick = require('process-nextick-args');
+var pna = require('process-nextick-args');
-nextTick(function (a, b, c) {
+pna.nextTick(function (a, b, c) {
console.log(a, b, c);
}, 'step', 3, 'profit');
```
diff --git a/tools/node_modules/eslint/node_modules/progress/package.json b/tools/node_modules/eslint/node_modules/progress/package.json
index 338c24d8c0..0a32f98b19 100644
--- a/tools/node_modules/eslint/node_modules/progress/package.json
+++ b/tools/node_modules/eslint/node_modules/progress/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
"_shasum": "8a1be366bf8fc23db2bd23f10c6fe920b4389d1f",
"_spec": "progress@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
diff --git a/tools/node_modules/eslint/node_modules/pseudomap/package.json b/tools/node_modules/eslint/node_modules/pseudomap/package.json
index efacd7106a..6f9da04a22 100644
--- a/tools/node_modules/eslint/node_modules/pseudomap/package.json
+++ b/tools/node_modules/eslint/node_modules/pseudomap/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"_shasum": "f052a28da70e618917ef0a8ac34c1ae5a68286b3",
"_spec": "pseudomap@^1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/lru-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/lru-cache",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/README.md b/tools/node_modules/eslint/node_modules/readable-stream/README.md
index b24a2c88f8..f0d8b47c13 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/README.md
+++ b/tools/node_modules/eslint/node_modules/readable-stream/README.md
@@ -1,6 +1,6 @@
# readable-stream
-***Node-core v8.1.3 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)
+***Node-core v8.9.4 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)
[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
@@ -18,7 +18,7 @@ npm install --save readable-stream
This package is a mirror of the Streams2 and Streams3 implementations in
Node-core.
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.1.3/docs/api/stream.html).
+Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.9.4/docs/api/stream.html).
If you want to guarantee a stable streams base, regardless of what version of
Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
@@ -55,3 +55,4 @@ Node.js. The responsibilities of the Streams Working Group include:
* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;
* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
- Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
+* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js
index c599463dd8..1045089182 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js
@@ -28,7 +28,7 @@
/*<replacement>*/
-var processNextTick = require('process-nextick-args');
+var pna = require('process-nextick-args');
/*</replacement>*/
/*<replacement>*/
@@ -82,7 +82,7 @@ function onend() {
// no more data can be written.
// But allow more writes to happen in this tick.
- processNextTick(onEndNT, this);
+ pna.nextTick(onEndNT, this);
}
function onEndNT(self) {
@@ -114,7 +114,7 @@ Duplex.prototype._destroy = function (err, cb) {
this.push(null);
this.end();
- processNextTick(cb, err);
+ pna.nextTick(cb, err);
};
function forEach(xs, f) {
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js
index ee9001cdf0..af150f434c 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js
@@ -23,7 +23,7 @@
/*<replacement>*/
-var processNextTick = require('process-nextick-args');
+var pna = require('process-nextick-args');
/*</replacement>*/
module.exports = Readable;
@@ -50,9 +50,8 @@ var EElistenerCount = function (emitter, type) {
var Stream = require('./internal/streams/stream');
/*</replacement>*/
-// TODO(bmeurer): Change this back to const once hole checks are
-// properly optimized away early in Ignition+TurboFan.
/*<replacement>*/
+
var Buffer = require('safe-buffer').Buffer;
var OurUint8Array = global.Uint8Array || function () {};
function _uint8ArrayToBuffer(chunk) {
@@ -61,6 +60,7 @@ function _uint8ArrayToBuffer(chunk) {
function _isUint8Array(obj) {
return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
}
+
/*</replacement>*/
/*<replacement>*/
@@ -89,15 +89,13 @@ var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
function prependListener(emitter, event, fn) {
// Sadly this is not cacheable as some libraries bundle their own
// event emitter implementation with them.
- if (typeof emitter.prependListener === 'function') {
- return emitter.prependListener(event, fn);
- } else {
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
- }
+ if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
+
+ // This is a hack to make sure that our error handler is attached before any
+ // userland ones. NEVER DO THIS. This is here only because this code needs
+ // to continue to work with older versions of Node.js that do not include
+ // the prependListener() method. The goal is to eventually remove this hack.
+ if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
}
function ReadableState(options, stream) {
@@ -105,17 +103,26 @@ function ReadableState(options, stream) {
options = options || {};
+ // Duplex streams are both readable and writable, but share
+ // the same options object.
+ // However, some cases require setting options to different
+ // values for the readable and the writable sides of the duplex stream.
+ // These options can be provided separately as readableXXX and writableXXX.
+ var isDuplex = stream instanceof Duplex;
+
// object stream flag. Used to make read(n) ignore n and to
// make all the buffer merging and length checks go away
this.objectMode = !!options.objectMode;
- if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+ if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
// the point at which it stops calling _read() to fill the buffer
// Note: 0 is a valid value, means "don't call _read preemptively ever"
var hwm = options.highWaterMark;
+ var readableHwm = options.readableHighWaterMark;
var defaultHwm = this.objectMode ? 16 : 16 * 1024;
- this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
+
+ if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;
// cast to ints.
this.highWaterMark = Math.floor(this.highWaterMark);
@@ -488,7 +495,7 @@ function emitReadable(stream) {
if (!state.emittedReadable) {
debug('emitReadable', state.flowing);
state.emittedReadable = true;
- if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);
+ if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);
}
}
@@ -507,7 +514,7 @@ function emitReadable_(stream) {
function maybeReadMore(stream, state) {
if (!state.readingMore) {
state.readingMore = true;
- processNextTick(maybeReadMore_, stream, state);
+ pna.nextTick(maybeReadMore_, stream, state);
}
}
@@ -552,7 +559,7 @@ Readable.prototype.pipe = function (dest, pipeOpts) {
var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);
+ if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);
dest.on('unpipe', onunpipe);
function onunpipe(readable, unpipeInfo) {
@@ -742,7 +749,7 @@ Readable.prototype.on = function (ev, fn) {
state.readableListening = state.needReadable = true;
state.emittedReadable = false;
if (!state.reading) {
- processNextTick(nReadingNextTick, this);
+ pna.nextTick(nReadingNextTick, this);
} else if (state.length) {
emitReadable(this);
}
@@ -773,7 +780,7 @@ Readable.prototype.resume = function () {
function resume(stream, state) {
if (!state.resumeScheduled) {
state.resumeScheduled = true;
- processNextTick(resume_, stream, state);
+ pna.nextTick(resume_, stream, state);
}
}
@@ -810,18 +817,19 @@ function flow(stream) {
// This is *not* part of the readable stream interface.
// It is an ugly unfortunate mess of history.
Readable.prototype.wrap = function (stream) {
+ var _this = this;
+
var state = this._readableState;
var paused = false;
- var self = this;
stream.on('end', function () {
debug('wrapped end');
if (state.decoder && !state.ended) {
var chunk = state.decoder.end();
- if (chunk && chunk.length) self.push(chunk);
+ if (chunk && chunk.length) _this.push(chunk);
}
- self.push(null);
+ _this.push(null);
});
stream.on('data', function (chunk) {
@@ -831,7 +839,7 @@ Readable.prototype.wrap = function (stream) {
// don't skip over falsy values in objectMode
if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
- var ret = self.push(chunk);
+ var ret = _this.push(chunk);
if (!ret) {
paused = true;
stream.pause();
@@ -852,12 +860,12 @@ Readable.prototype.wrap = function (stream) {
// proxy certain important events.
for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));
+ stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
}
// when we try to consume some more bytes, simply unpause the
// underlying stream.
- self._read = function (n) {
+ this._read = function (n) {
debug('wrapped _read', n);
if (paused) {
paused = false;
@@ -865,7 +873,7 @@ Readable.prototype.wrap = function (stream) {
}
};
- return self;
+ return this;
};
// exposed for testing purposes only.
@@ -980,7 +988,7 @@ function endReadable(stream) {
if (!state.endEmitted) {
state.ended = true;
- processNextTick(endReadableNT, state, stream);
+ pna.nextTick(endReadableNT, state, stream);
}
}
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js
index a0c23173da..5d1f8b876d 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js
@@ -74,39 +74,28 @@ util.inherits = require('inherits');
util.inherits(Transform, Duplex);
-function TransformState(stream) {
- this.afterTransform = function (er, data) {
- return afterTransform(stream, er, data);
- };
-
- this.needTransform = false;
- this.transforming = false;
- this.writecb = null;
- this.writechunk = null;
- this.writeencoding = null;
-}
-
-function afterTransform(stream, er, data) {
- var ts = stream._transformState;
+function afterTransform(er, data) {
+ var ts = this._transformState;
ts.transforming = false;
var cb = ts.writecb;
if (!cb) {
- return stream.emit('error', new Error('write callback called multiple times'));
+ return this.emit('error', new Error('write callback called multiple times'));
}
ts.writechunk = null;
ts.writecb = null;
- if (data !== null && data !== undefined) stream.push(data);
+ if (data != null) // single equals check for both `null` and `undefined`
+ this.push(data);
cb(er);
- var rs = stream._readableState;
+ var rs = this._readableState;
rs.reading = false;
if (rs.needReadable || rs.length < rs.highWaterMark) {
- stream._read(rs.highWaterMark);
+ this._read(rs.highWaterMark);
}
}
@@ -115,9 +104,14 @@ function Transform(options) {
Duplex.call(this, options);
- this._transformState = new TransformState(this);
-
- var stream = this;
+ this._transformState = {
+ afterTransform: afterTransform.bind(this),
+ needTransform: false,
+ transforming: false,
+ writecb: null,
+ writechunk: null,
+ writeencoding: null
+ };
// start out asking for a readable event once data is transformed.
this._readableState.needReadable = true;
@@ -134,11 +128,19 @@ function Transform(options) {
}
// When the writable side finishes, then flush out anything remaining.
- this.once('prefinish', function () {
- if (typeof this._flush === 'function') this._flush(function (er, data) {
- done(stream, er, data);
- });else done(stream);
- });
+ this.on('prefinish', prefinish);
+}
+
+function prefinish() {
+ var _this = this;
+
+ if (typeof this._flush === 'function') {
+ this._flush(function (er, data) {
+ done(_this, er, data);
+ });
+ } else {
+ done(this, null, null);
+ }
}
Transform.prototype.push = function (chunk, encoding) {
@@ -188,27 +190,25 @@ Transform.prototype._read = function (n) {
};
Transform.prototype._destroy = function (err, cb) {
- var _this = this;
+ var _this2 = this;
Duplex.prototype._destroy.call(this, err, function (err2) {
cb(err2);
- _this.emit('close');
+ _this2.emit('close');
});
};
function done(stream, er, data) {
if (er) return stream.emit('error', er);
- if (data !== null && data !== undefined) stream.push(data);
+ if (data != null) // single equals check for both `null` and `undefined`
+ stream.push(data);
// if there's nothing in the write buffer, then that means
// that nothing more will ever be provided
- var ws = stream._writableState;
- var ts = stream._transformState;
-
- if (ws.length) throw new Error('Calling transform done when ws.length != 0');
+ if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');
- if (ts.transforming) throw new Error('Calling transform done when still transforming');
+ if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');
return stream.push(null);
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js
index d20da88c75..0e1c28df51 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js
@@ -27,7 +27,7 @@
/*<replacement>*/
-var processNextTick = require('process-nextick-args');
+var pna = require('process-nextick-args');
/*</replacement>*/
module.exports = Writable;
@@ -54,7 +54,7 @@ function CorkedRequest(state) {
/* </replacement> */
/*<replacement>*/
-var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;
+var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
/*</replacement>*/
/*<replacement>*/
@@ -79,6 +79,7 @@ var Stream = require('./internal/streams/stream');
/*</replacement>*/
/*<replacement>*/
+
var Buffer = require('safe-buffer').Buffer;
var OurUint8Array = global.Uint8Array || function () {};
function _uint8ArrayToBuffer(chunk) {
@@ -87,6 +88,7 @@ function _uint8ArrayToBuffer(chunk) {
function _isUint8Array(obj) {
return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
}
+
/*</replacement>*/
var destroyImpl = require('./internal/streams/destroy');
@@ -100,18 +102,27 @@ function WritableState(options, stream) {
options = options || {};
+ // Duplex streams are both readable and writable, but share
+ // the same options object.
+ // However, some cases require setting options to different
+ // values for the readable and the writable sides of the duplex stream.
+ // These options can be provided separately as readableXXX and writableXXX.
+ var isDuplex = stream instanceof Duplex;
+
// object stream flag to indicate whether or not this stream
// contains buffers or objects.
this.objectMode = !!options.objectMode;
- if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+ if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
// the point at which write() starts returning false
// Note: 0 is a valid value, means that we always return false if
// the entire buffer is not flushed immediately on write()
var hwm = options.highWaterMark;
+ var writableHwm = options.writableHighWaterMark;
var defaultHwm = this.objectMode ? 16 : 16 * 1024;
- this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
+
+ if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
// cast to ints.
this.highWaterMark = Math.floor(this.highWaterMark);
@@ -225,6 +236,7 @@ if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.protot
Object.defineProperty(Writable, Symbol.hasInstance, {
value: function (object) {
if (realHasInstance.call(this, object)) return true;
+ if (this !== Writable) return false;
return object && object._writableState instanceof WritableState;
}
@@ -276,7 +288,7 @@ function writeAfterEnd(stream, cb) {
var er = new Error('write after end');
// TODO: defer error events consistently everywhere, not just the cb
stream.emit('error', er);
- processNextTick(cb, er);
+ pna.nextTick(cb, er);
}
// Checks that a user-supplied chunk is valid, especially for the particular
@@ -293,7 +305,7 @@ function validChunk(stream, state, chunk, cb) {
}
if (er) {
stream.emit('error', er);
- processNextTick(cb, er);
+ pna.nextTick(cb, er);
valid = false;
}
return valid;
@@ -302,7 +314,7 @@ function validChunk(stream, state, chunk, cb) {
Writable.prototype.write = function (chunk, encoding, cb) {
var state = this._writableState;
var ret = false;
- var isBuf = _isUint8Array(chunk) && !state.objectMode;
+ var isBuf = !state.objectMode && _isUint8Array(chunk);
if (isBuf && !Buffer.isBuffer(chunk)) {
chunk = _uint8ArrayToBuffer(chunk);
@@ -413,10 +425,10 @@ function onwriteError(stream, state, sync, er, cb) {
if (sync) {
// defer the callback if we are being called synchronously
// to avoid piling up things on the stack
- processNextTick(cb, er);
+ pna.nextTick(cb, er);
// this can emit finish, and it will always happen
// after error
- processNextTick(finishMaybe, stream, state);
+ pna.nextTick(finishMaybe, stream, state);
stream._writableState.errorEmitted = true;
stream.emit('error', er);
} else {
@@ -514,6 +526,7 @@ function clearBuffer(stream, state) {
} else {
state.corkedRequestsFree = new CorkedRequest(state);
}
+ state.bufferedRequestCount = 0;
} else {
// Slow case, write chunks one-by-one
while (entry) {
@@ -524,6 +537,7 @@ function clearBuffer(stream, state) {
doWrite(stream, state, false, len, chunk, encoding, cb);
entry = entry.next;
+ state.bufferedRequestCount--;
// if we didn't call the onwrite immediately, then
// it means that we need to wait until it does.
// also, that means that the chunk and cb are currently
@@ -536,7 +550,6 @@ function clearBuffer(stream, state) {
if (entry === null) state.lastBufferedRequest = null;
}
- state.bufferedRequestCount = 0;
state.bufferedRequest = entry;
state.bufferProcessing = false;
}
@@ -590,7 +603,7 @@ function prefinish(stream, state) {
if (typeof stream._final === 'function') {
state.pendingcb++;
state.finalCalled = true;
- processNextTick(callFinal, stream, state);
+ pna.nextTick(callFinal, stream, state);
} else {
state.prefinished = true;
stream.emit('prefinish');
@@ -614,7 +627,7 @@ function endWritable(stream, state, cb) {
state.ending = true;
finishMaybe(stream, state);
if (cb) {
- if (state.finished) processNextTick(cb);else stream.once('finish', cb);
+ if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
}
state.ended = true;
stream.writable = false;
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js
index d467615978..aefc68bd90 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js
@@ -1,11 +1,9 @@
'use strict';
-/*<replacement>*/
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Buffer = require('safe-buffer').Buffer;
-/*</replacement>*/
+var util = require('util');
function copyBuffer(src, target, offset) {
src.copy(target, offset);
@@ -71,4 +69,11 @@ module.exports = function () {
};
return BufferList;
-}(); \ No newline at end of file
+}();
+
+if (util && util.inspect && util.inspect.custom) {
+ module.exports.prototype[util.inspect.custom] = function () {
+ var obj = util.inspect({ length: this.length });
+ return this.constructor.name + ' ' + obj;
+ };
+} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js
index b3e58c33bc..5a0a0d88ce 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js
+++ b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js
@@ -2,7 +2,7 @@
/*<replacement>*/
-var processNextTick = require('process-nextick-args');
+var pna = require('process-nextick-args');
/*</replacement>*/
// undocumented cb() API, needed for core, not for public API
@@ -16,9 +16,9 @@ function destroy(err, cb) {
if (cb) {
cb(err);
} else if (err && (!this._writableState || !this._writableState.errorEmitted)) {
- processNextTick(emitErrorNT, this, err);
+ pna.nextTick(emitErrorNT, this, err);
}
- return;
+ return this;
}
// we set destroyed to true before firing error callbacks in order
@@ -35,7 +35,7 @@ function destroy(err, cb) {
this._destroy(err || null, function (err) {
if (!cb && err) {
- processNextTick(emitErrorNT, _this, err);
+ pna.nextTick(emitErrorNT, _this, err);
if (_this._writableState) {
_this._writableState.errorEmitted = true;
}
@@ -43,6 +43,8 @@ function destroy(err, cb) {
cb(err);
}
});
+
+ return this;
}
function undestroy() {
diff --git a/tools/node_modules/eslint/node_modules/readable-stream/package.json b/tools/node_modules/eslint/node_modules/readable-stream/package.json
index 38eb810d50..cad75f8c61 100644
--- a/tools/node_modules/eslint/node_modules/readable-stream/package.json
+++ b/tools/node_modules/eslint/node_modules/readable-stream/package.json
@@ -1,8 +1,8 @@
{
"_from": "readable-stream@^2.2.2",
- "_id": "readable-stream@2.3.3",
+ "_id": "readable-stream@2.3.5",
"_inBundle": false,
- "_integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
+ "_integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"_location": "/eslint/readable-stream",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint/concat-stream"
],
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "_shasum": "368f2512d79f9d46fdfc71349ae7878bbc1eb95c",
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
+ "_shasum": "b4f85003a938cbb6ecbce2a124fb1012bd1a838d",
"_spec": "readable-stream@^2.2.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
"browser": {
"util": false,
"./readable.js": "./readable-browser.js",
@@ -37,7 +37,7 @@
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
+ "process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
@@ -45,13 +45,14 @@
"deprecated": false,
"description": "Streams3, a user-land copy of the stream library from Node.js",
"devDependencies": {
- "assert": "~1.4.0",
+ "assert": "^1.4.0",
"babel-polyfill": "^6.9.1",
"buffer": "^4.9.0",
+ "lolex": "^2.3.2",
"nyc": "^6.4.0",
- "tap": "~0.7.1",
- "tape": "~4.5.1",
- "zuul": "~3.10.0"
+ "tap": "^0.7.0",
+ "tape": "^4.8.0",
+ "zuul": "^3.11.1"
},
"homepage": "https://github.com/nodejs/readable-stream#readme",
"keywords": [
@@ -73,11 +74,12 @@
},
"scripts": {
"browser": "npm run write-zuul && zuul --browser-retries 2 -- test/browser.js",
+ "ci": "tap test/parallel/*.js test/ours/*.js --tap | tee test.tap && node test/verify-dependencies.js",
"cover": "nyc npm test",
"local": "zuul --local 3000 --no-coverage -- test/browser.js",
"report": "nyc report --reporter=lcov",
"test": "tap test/parallel/*.js test/ours/*.js && node test/verify-dependencies.js",
"write-zuul": "printf \"ui: tape\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml"
},
- "version": "2.3.3"
+ "version": "2.3.5"
}
diff --git a/tools/node_modules/eslint/node_modules/regexpp/LICENSE b/tools/node_modules/eslint/node_modules/regexpp/LICENSE
new file mode 100644
index 0000000000..883ee1f612
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Toru Nagashima
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/regexpp/README.md b/tools/node_modules/eslint/node_modules/regexpp/README.md
new file mode 100644
index 0000000000..7dbefb4d8e
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/README.md
@@ -0,0 +1,149 @@
+# regexpp
+
+[![npm version](https://img.shields.io/npm/v/regexpp.svg)](https://www.npmjs.com/package/regexpp)
+[![Downloads/month](https://img.shields.io/npm/dm/regexpp.svg)](http://www.npmtrends.com/regexpp)
+[![Build Status](https://travis-ci.org/mysticatea/regexpp.svg?branch=master)](https://travis-ci.org/mysticatea/regexpp)
+[![Dependency Status](https://david-dm.org/mysticatea/regexpp.svg)](https://david-dm.org/mysticatea/regexpp)
+
+The regular expression parser for ECMAScript.
+
+## šŸ’æ Installation
+
+```bash
+$ npm install regexpp
+```
+
+- require Node.js 4.0.0 or newer.
+
+## šŸ“– Usage
+
+```ts
+import {
+ AST,
+ RegExpParser,
+ RegExpValidator,
+ parseRegExpLiteral,
+ validateRegExpLiteral,
+} from "regexpp"
+```
+
+### parseRegExpLiteral(source, options?)
+
+Parse a given regular expression literal then make AST object.
+
+This is equivalent to `new RegExpParser(options).parseLiteral(source)`.
+
+- **Parameters:**
+ - `source` (`string`) The source code to parse.
+ - `options?` ([`RegExpParser.Options`]) The options to parse.
+- **Return:**
+ - The AST of the regular expression.
+
+### validateRegExpLiteral(source, options?)
+
+Validate a given regular expression literal.
+
+This is equivalent to `new RegExpValidator(options).validateLiteral(source)`.
+
+- **Parameters:**
+ - `source` (`string`) The source code to validate.
+ - `options?` ([`RegExpValidator.Options`]) The options to validate.
+
+### RegExpParser
+
+#### new RegExpParser(options?)
+
+- **Parameters:**
+ - `options?` ([`RegExpParser.Options`]) The options to parse.
+
+#### parser.parseLiteral(source, start?, end?)
+
+Parse a regular expression literal.
+
+- **Parameters:**
+ - `source` (`string`) The source code to parse. E.g. `"/abc/g"`.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+- **Return:**
+ - The AST of the regular expression.
+
+#### parser.parsePattern(source, start?, end?, uFlag?)
+
+Parse a regular expression pattern.
+
+- **Parameters:**
+ - `source` (`string`) The source code to parse. E.g. `"abc"`.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+ - `uFlag?` (`boolean`) The flag to enable Unicode mode.
+- **Return:**
+ - The AST of the regular expression pattern.
+
+#### parser.parseFlags(source, start?, end?)
+
+Parse a regular expression flags.
+
+- **Parameters:**
+ - `source` (`string`) The source code to parse. E.g. `"gim"`.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+- **Return:**
+ - The AST of the regular expression flags.
+
+### RegExpValidator
+
+#### new RegExpValidator(options)
+
+- **Parameters:**
+ - `options` ([`RegExpValidator.Options`]) The options to validate.
+
+#### validator.validateLiteral(source, start, end)
+
+Validate a regular expression literal.
+
+- **Parameters:**
+ - `source` (`string`) The source code to validate.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+
+#### validator.validatePattern(source, start, end, uFlag)
+
+Validate a regular expression pattern.
+
+- **Parameters:**
+ - `source` (`string`) The source code to validate.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+ - `uFlag?` (`boolean`) The flag to enable Unicode mode.
+
+#### validator.validateFlags(source, start, end)
+
+Validate a regular expression flags.
+
+- **Parameters:**
+ - `source` (`string`) The source code to validate.
+ - `start?` (`number`) The start index in the source code. Default is `0`.
+ - `end?` (`number`) The end index in the source code. Default is `source.length`.
+
+## šŸ“° Changelog
+
+- [GitHub Releases](https://github.com/mysticatea/regexpp/releases)
+
+## šŸ» Contributing
+
+Welcome contributing!
+
+Please use GitHub's Issues/PRs.
+
+### Development Tools
+
+- `npm test` runs tests and measures coverage.
+- `npm run build` compiles TypeScript source code to `index.js`, `index.js.map`, and `index.d.ts`.
+- `npm run clean` removes the temporary files which are created by `npm test` and `npm run build`.
+- `npm run lint` runs ESLint.
+- `npm run update:test` updates test fixtures.
+- `npm run update:ids` updates `src/unicode/ids.ts`.
+- `npm run watch` runs tests with `--watch` option.
+
+[`RegExpParser.Options`]: src/parser.ts#L527
+[`RegExpValidator.Options`]: src/validator.ts#L127
diff --git a/tools/node_modules/eslint/node_modules/regexpp/index.d.ts b/tools/node_modules/eslint/node_modules/regexpp/index.d.ts
new file mode 100644
index 0000000000..b46f3cbd9c
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/index.d.ts
@@ -0,0 +1,201 @@
+// Generated by dts-bundle v0.7.3
+
+declare module 'regexpp' {
+ import * as AST from "regexpp/ast";
+ import { RegExpParser } from "regexpp/parser";
+ import { RegExpValidator } from "regexpp/validator";
+ export { AST, RegExpParser, RegExpValidator };
+ export function parseRegExpLiteral(source: string, options?: RegExpParser.Options): AST.RegExpLiteral;
+ export function validateRegExpLiteral(source: string, options?: RegExpValidator.Options): void;
+}
+
+declare module 'regexpp/ast' {
+ export type Node = BranchNode | LeafNode;
+ export type BranchNode = RegExpLiteral | Pattern | Disjunction | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion | CharacterClassRange;
+ export type LeafNode = BoundaryAssertion | CharacterSet | Character | Backreference | Flags;
+ export type Element = Disjunction | Group | CapturingGroup | Quantifier | CharacterClass | Assertion | CharacterSet | Character | Backreference;
+ export type CharacterClassElement = EscapeCharacterSet | UnicodePropertyCharacterSet | Character | CharacterClassRange;
+ export type AlternativeElement = Group | CapturingGroup | Quantifier | CharacterClass | Assertion | CharacterSet | Character | Backreference;
+ export type QuantifiableElement = Group | CapturingGroup | CharacterClass | LookaheadAssertion | CharacterSet | Character | Backreference;
+ export interface NodeBase {
+ type: Node["type"];
+ parent: Node["parent"];
+ start: number;
+ end: number;
+ raw: string;
+ }
+ export interface RegExpLiteral extends NodeBase {
+ type: "RegExpLiteral";
+ parent: null;
+ pattern: Pattern;
+ flags: Flags;
+ }
+ export interface Pattern extends NodeBase {
+ type: "Pattern";
+ parent: RegExpLiteral | null;
+ elements: Element[];
+ }
+ export interface Disjunction extends NodeBase {
+ type: "Disjunction";
+ parent: Pattern | Group | CapturingGroup | LookaroundAssertion;
+ alternatives: AlternativeElement[][];
+ }
+ export interface Group extends NodeBase {
+ type: "Group";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ elements: Element[];
+ }
+ export interface CapturingGroup extends NodeBase {
+ type: "CapturingGroup";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ name: string | null;
+ elements: Element[];
+ references: Backreference[];
+ }
+ export type LookaroundAssertion = LookaheadAssertion | LookbehindAssertion;
+ export interface LookaheadAssertion extends NodeBase {
+ type: "Assertion";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ kind: "lookahead";
+ negate: boolean;
+ elements: Element[];
+ }
+ export interface LookbehindAssertion extends NodeBase {
+ type: "Assertion";
+ parent: Pattern | Disjunction | Group | CapturingGroup | LookaroundAssertion;
+ kind: "lookbehind";
+ negate: boolean;
+ elements: Element[];
+ }
+ export interface Quantifier extends NodeBase {
+ type: "Quantifier";
+ parent: Pattern | Disjunction | Group | CapturingGroup | LookaroundAssertion;
+ min: number;
+ max: number;
+ greedy: boolean;
+ element: QuantifiableElement;
+ }
+ export interface CharacterClass extends NodeBase {
+ type: "CharacterClass";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ negate: boolean;
+ elements: CharacterClassElement[];
+ }
+ export interface CharacterClassRange extends NodeBase {
+ type: "CharacterClassRange";
+ parent: CharacterClass;
+ min: Character;
+ max: Character;
+ }
+ export type Assertion = BoundaryAssertion | LookaroundAssertion;
+ export type BoundaryAssertion = EdgeAssertion | WordBoundaryAssertion;
+ export interface EdgeAssertion extends NodeBase {
+ type: "Assertion";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ kind: "start" | "end";
+ }
+ export interface WordBoundaryAssertion extends NodeBase {
+ type: "Assertion";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ kind: "word";
+ negate: boolean;
+ }
+ export type CharacterSet = AnyCharacterSet | EscapeCharacterSet | UnicodePropertyCharacterSet;
+ export interface AnyCharacterSet extends NodeBase {
+ type: "CharacterSet";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ kind: "any";
+ }
+ export interface EscapeCharacterSet extends NodeBase {
+ type: "CharacterSet";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion;
+ kind: "digit" | "space" | "word";
+ negate: boolean;
+ }
+ export interface UnicodePropertyCharacterSet extends NodeBase {
+ type: "CharacterSet";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion;
+ kind: "property";
+ key: string;
+ value: string | null;
+ negate: boolean;
+ }
+ export interface Character extends NodeBase {
+ type: "Character";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion | CharacterClassRange;
+ value: number;
+ }
+ export interface Backreference extends NodeBase {
+ type: "Backreference";
+ parent: Pattern | Disjunction | Group | CapturingGroup | Quantifier | LookaroundAssertion;
+ ref: number | string;
+ resolved: CapturingGroup;
+ }
+ export interface Flags extends NodeBase {
+ type: "Flags";
+ parent: RegExpLiteral | null;
+ dotAll: boolean;
+ global: boolean;
+ ignoreCase: boolean;
+ multiline: boolean;
+ sticky: boolean;
+ unicode: boolean;
+ }
+}
+
+declare module 'regexpp/parser' {
+ import { Flags, RegExpLiteral, Pattern } from "regexpp/ast";
+ export namespace RegExpParser {
+ interface Options {
+ strict?: boolean;
+ ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018;
+ }
+ }
+ export class RegExpParser {
+ constructor(options?: RegExpParser.Options);
+ parseLiteral(source: string, start?: number, end?: number): RegExpLiteral;
+ parseFlags(source: string, start?: number, end?: number): Flags;
+ parsePattern(source: string, start?: number, end?: number, uFlag?: boolean): Pattern;
+ }
+}
+
+declare module 'regexpp/validator' {
+ export namespace RegExpValidator {
+ interface Options {
+ strict?: boolean;
+ ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018;
+ onLiteralEnter?(start: number): void;
+ onLiteralLeave?(start: number, end: number): void;
+ onFlags?(start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean): void;
+ onPatternEnter?(start: number): void;
+ onPatternLeave?(start: number, end: number): void;
+ onDisjunctionEnter?(start: number): void;
+ onDisjunctionLeave?(start: number, end: number): void;
+ onAlternativeEnter?(start: number, index: number): void;
+ onAlternativeLeave?(start: number, end: number, index: number): void;
+ onGroupEnter?(start: number): void;
+ onGroupLeave?(start: number, end: number): void;
+ onCapturingGroupEnter?(start: number, name: string | null): void;
+ onCapturingGroupLeave?(start: number, end: number, name: string | null): void;
+ onQuantifier?(start: number, end: number, min: number, max: number, greedy: boolean): void;
+ onLookaroundAssertionEnter?(start: number, kind: "lookahead" | "lookbehind", negate: boolean): void;
+ onLookaroundAssertionLeave?(start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean): void;
+ onEdgeAssertion?(start: number, end: number, kind: "start" | "end"): void;
+ onWordBoundaryAssertion?(start: number, end: number, kind: "word", negate: boolean): void;
+ onAnyCharacterSet?(start: number, end: number, kind: "any"): void;
+ onEscapeCharacterSet?(start: number, end: number, kind: "digit" | "space" | "word", negate: boolean): void;
+ onUnicodePropertyCharacterSet?(start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean): void;
+ onCharacter?(start: number, end: number, value: number): void;
+ onBackreference?(start: number, end: number, ref: number | string): void;
+ onCharacterClassEnter?(start: number, negate: boolean): void;
+ onCharacterClassLeave?(start: number, end: number, negate: boolean): void;
+ onCharacterClassRange?(start: number, end: number, min: number, max: number): void;
+ }
+ }
+ export class RegExpValidator {
+ constructor(options?: RegExpValidator.Options);
+ validateLiteral(source: string, start?: number, end?: number): void;
+ validateFlags(source: string, start?: number, end?: number): void;
+ validatePattern(source: string, start?: number, end?: number, uFlag?: boolean): void;
+ }
+}
diff --git a/tools/node_modules/eslint/node_modules/regexpp/index.js b/tools/node_modules/eslint/node_modules/regexpp/index.js
new file mode 100644
index 0000000000..743f98d467
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/index.js
@@ -0,0 +1,6899 @@
+/*!
+ * @author Toru Nagashima <https://github.com/mysticatea>
+ */
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+
+
+var ast = Object.freeze({
+
+});
+
+function assert(condition, message) {
+ if (!condition) {
+ throw new Error(message || "AssertionError");
+ }
+}
+function last(xs) {
+ return xs.length === 0 ? undefined : xs[xs.length - 1];
+}
+
+var legacyImpl = {
+ at: function (s, end, i) {
+ return i < end ? s.charCodeAt(i) : -1;
+ },
+ width: function (c) {
+ return 1;
+ },
+};
+var unicodeImpl = {
+ at: function (s, end, i) {
+ return i < end ? s.codePointAt(i) : -1;
+ },
+ width: function (c) {
+ return c > 0xffff ? 2 : 1;
+ },
+};
+var Reader = (function () {
+ function Reader() {
+ this._impl = legacyImpl;
+ this._s = "";
+ this._i = 0;
+ this._end = 0;
+ this._cp1 = -1;
+ this._w1 = 1;
+ this._cp2 = -1;
+ this._w2 = 1;
+ this._cp3 = -1;
+ this._w3 = 1;
+ this._cp4 = -1;
+ }
+ Object.defineProperty(Reader.prototype, "source", {
+ get: function () {
+ return this._s;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Reader.prototype, "index", {
+ get: function () {
+ return this._i;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Reader.prototype, "currentCodePoint", {
+ get: function () {
+ return this._cp1;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Reader.prototype, "nextCodePoint", {
+ get: function () {
+ return this._cp2;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Reader.prototype, "nextCodePoint2", {
+ get: function () {
+ return this._cp3;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Reader.prototype, "nextCodePoint3", {
+ get: function () {
+ return this._cp4;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Reader.prototype.reset = function (source, start, end, uFlag) {
+ this._impl = uFlag ? unicodeImpl : legacyImpl;
+ this._s = source;
+ this._end = end;
+ this.rewind(start);
+ };
+ Reader.prototype.rewind = function (index) {
+ var impl = this._impl;
+ this._i = index;
+ this._cp1 = impl.at(this._s, this._end, index);
+ this._w1 = impl.width(this._cp1);
+ this._cp2 = impl.at(this._s, this._end, index + this._w1);
+ this._w2 = impl.width(this._cp2);
+ this._cp3 = impl.at(this._s, this._end, index + this._w1 + this._w2);
+ this._w3 = impl.width(this._cp3);
+ this._cp4 = impl.at(this._s, this._end, index + this._w1 + this._w2 + this._w3);
+ };
+ Reader.prototype.advance = function () {
+ if (this._cp1 !== -1) {
+ var impl = this._impl;
+ this._i += this._w1;
+ this._cp1 = this._cp2;
+ this._w1 = this._w2;
+ this._cp2 = this._cp3;
+ this._w2 = impl.width(this._cp2);
+ this._cp3 = this._cp4;
+ this._w3 = impl.width(this._cp3);
+ this._cp4 = impl.at(this._s, this._end, this._i + this._w1 + this._w2 + this._w3);
+ }
+ };
+ Reader.prototype.eat = function (cp) {
+ if (this._cp1 === cp) {
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ Reader.prototype.eat2 = function (cp1, cp2) {
+ if (this._cp1 === cp1 && this._cp2 === cp2) {
+ this.advance();
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ Reader.prototype.eat3 = function (cp1, cp2, cp3) {
+ if (this._cp1 === cp1 && this._cp2 === cp2 && this._cp3 === cp3) {
+ this.advance();
+ this.advance();
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ return Reader;
+}());
+
+var __extends = (undefined && undefined.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+var RegExpSyntaxError = (function (_super) {
+ __extends(RegExpSyntaxError, _super);
+ function RegExpSyntaxError(source, uFlag, index, message) {
+ var _this = this;
+ if (source) {
+ if (source[0] !== "/") {
+ source = "/" + source + "/" + (uFlag ? "u" : "");
+ }
+ source = ": " + source;
+ }
+ _this = _super.call(this, "Invalid regular expression" + source + ": " + message) || this;
+ _this.index = index;
+ return _this;
+ }
+ return RegExpSyntaxError;
+}(SyntaxError));
+
+function isIdStart(cp) {
+ if (cp < 0x41)
+ return false;
+ if (cp < 0x5b)
+ return true;
+ if (cp < 0x61)
+ return false;
+ if (cp < 0x7b)
+ return true;
+ return isLargeIdStart(cp);
+}
+function isIdContinue(cp) {
+ if (cp < 0x30)
+ return false;
+ if (cp < 0x3a)
+ return true;
+ if (cp < 0x41)
+ return false;
+ if (cp < 0x5b)
+ return true;
+ if (cp === 0x5f)
+ return true;
+ if (cp < 0x61)
+ return false;
+ if (cp < 0x7b)
+ return true;
+ return isLargeIdStart(cp) || isLargeIdContinue(cp);
+}
+function isLargeIdStart(cp) {
+ if (cp < 0x303c) {
+ if (cp < 0xeaa) {
+ if (cp < 0xa2a) {
+ if (cp < 0x6d5) {
+ if (cp < 0x37a) {
+ if (cp < 0x294) {
+ if (cp < 0xf8) {
+ if (cp === 0xaa)
+ return true;
+ if (cp === 0xb5)
+ return true;
+ if (cp === 0xba)
+ return true;
+ if (cp < 0xc0)
+ return false;
+ if (cp < 0xd7)
+ return true;
+ if (cp < 0xd8)
+ return false;
+ if (cp < 0xf7)
+ return true;
+ return false;
+ }
+ if (cp < 0x1bb)
+ return true;
+ if (cp === 0x1bb)
+ return true;
+ if (cp < 0x1bc)
+ return false;
+ if (cp < 0x1c0)
+ return true;
+ if (cp < 0x1c0)
+ return false;
+ if (cp < 0x1c4)
+ return true;
+ if (cp < 0x1c4)
+ return false;
+ if (cp < 0x294)
+ return true;
+ return false;
+ }
+ if (cp < 0x2ec) {
+ if (cp === 0x294)
+ return true;
+ if (cp < 0x295)
+ return false;
+ if (cp < 0x2b0)
+ return true;
+ if (cp < 0x2b0)
+ return false;
+ if (cp < 0x2c2)
+ return true;
+ if (cp < 0x2c6)
+ return false;
+ if (cp < 0x2d2)
+ return true;
+ if (cp < 0x2e0)
+ return false;
+ if (cp < 0x2e5)
+ return true;
+ return false;
+ }
+ if (cp === 0x2ec)
+ return true;
+ if (cp === 0x2ee)
+ return true;
+ if (cp < 0x370)
+ return false;
+ if (cp < 0x374)
+ return true;
+ if (cp === 0x374)
+ return true;
+ if (cp < 0x376)
+ return false;
+ if (cp < 0x378)
+ return true;
+ return false;
+ }
+ if (cp < 0x531) {
+ if (cp < 0x38c) {
+ if (cp === 0x37a)
+ return true;
+ if (cp < 0x37b)
+ return false;
+ if (cp < 0x37e)
+ return true;
+ if (cp === 0x37f)
+ return true;
+ if (cp === 0x386)
+ return true;
+ if (cp < 0x388)
+ return false;
+ if (cp < 0x38b)
+ return true;
+ return false;
+ }
+ if (cp === 0x38c)
+ return true;
+ if (cp < 0x38e)
+ return false;
+ if (cp < 0x3a2)
+ return true;
+ if (cp < 0x3a3)
+ return false;
+ if (cp < 0x3f6)
+ return true;
+ if (cp < 0x3f7)
+ return false;
+ if (cp < 0x482)
+ return true;
+ if (cp < 0x48a)
+ return false;
+ if (cp < 0x530)
+ return true;
+ return false;
+ }
+ if (cp < 0x620) {
+ if (cp < 0x531)
+ return false;
+ if (cp < 0x557)
+ return true;
+ if (cp === 0x559)
+ return true;
+ if (cp < 0x561)
+ return false;
+ if (cp < 0x588)
+ return true;
+ if (cp < 0x5d0)
+ return false;
+ if (cp < 0x5eb)
+ return true;
+ if (cp < 0x5f0)
+ return false;
+ if (cp < 0x5f3)
+ return true;
+ return false;
+ }
+ if (cp < 0x640)
+ return true;
+ if (cp === 0x640)
+ return true;
+ if (cp < 0x641)
+ return false;
+ if (cp < 0x64b)
+ return true;
+ if (cp < 0x66e)
+ return false;
+ if (cp < 0x670)
+ return true;
+ if (cp < 0x671)
+ return false;
+ if (cp < 0x6d4)
+ return true;
+ return false;
+ }
+ if (cp < 0x904) {
+ if (cp < 0x7f4) {
+ if (cp < 0x710) {
+ if (cp === 0x6d5)
+ return true;
+ if (cp < 0x6e5)
+ return false;
+ if (cp < 0x6e7)
+ return true;
+ if (cp < 0x6ee)
+ return false;
+ if (cp < 0x6f0)
+ return true;
+ if (cp < 0x6fa)
+ return false;
+ if (cp < 0x6fd)
+ return true;
+ if (cp === 0x6ff)
+ return true;
+ return false;
+ }
+ if (cp === 0x710)
+ return true;
+ if (cp < 0x712)
+ return false;
+ if (cp < 0x730)
+ return true;
+ if (cp < 0x74d)
+ return false;
+ if (cp < 0x7a6)
+ return true;
+ if (cp === 0x7b1)
+ return true;
+ if (cp < 0x7ca)
+ return false;
+ if (cp < 0x7eb)
+ return true;
+ return false;
+ }
+ if (cp < 0x828) {
+ if (cp < 0x7f4)
+ return false;
+ if (cp < 0x7f6)
+ return true;
+ if (cp === 0x7fa)
+ return true;
+ if (cp < 0x800)
+ return false;
+ if (cp < 0x816)
+ return true;
+ if (cp === 0x81a)
+ return true;
+ if (cp === 0x824)
+ return true;
+ return false;
+ }
+ if (cp === 0x828)
+ return true;
+ if (cp < 0x840)
+ return false;
+ if (cp < 0x859)
+ return true;
+ if (cp < 0x860)
+ return false;
+ if (cp < 0x86b)
+ return true;
+ if (cp < 0x8a0)
+ return false;
+ if (cp < 0x8b5)
+ return true;
+ if (cp < 0x8b6)
+ return false;
+ if (cp < 0x8be)
+ return true;
+ return false;
+ }
+ if (cp < 0x9b2) {
+ if (cp < 0x972) {
+ if (cp < 0x904)
+ return false;
+ if (cp < 0x93a)
+ return true;
+ if (cp === 0x93d)
+ return true;
+ if (cp === 0x950)
+ return true;
+ if (cp < 0x958)
+ return false;
+ if (cp < 0x962)
+ return true;
+ if (cp === 0x971)
+ return true;
+ return false;
+ }
+ if (cp < 0x981)
+ return true;
+ if (cp < 0x985)
+ return false;
+ if (cp < 0x98d)
+ return true;
+ if (cp < 0x98f)
+ return false;
+ if (cp < 0x991)
+ return true;
+ if (cp < 0x993)
+ return false;
+ if (cp < 0x9a9)
+ return true;
+ if (cp < 0x9aa)
+ return false;
+ if (cp < 0x9b1)
+ return true;
+ return false;
+ }
+ if (cp < 0x9df) {
+ if (cp === 0x9b2)
+ return true;
+ if (cp < 0x9b6)
+ return false;
+ if (cp < 0x9ba)
+ return true;
+ if (cp === 0x9bd)
+ return true;
+ if (cp === 0x9ce)
+ return true;
+ if (cp < 0x9dc)
+ return false;
+ if (cp < 0x9de)
+ return true;
+ return false;
+ }
+ if (cp < 0x9e2)
+ return true;
+ if (cp < 0x9f0)
+ return false;
+ if (cp < 0x9f2)
+ return true;
+ if (cp === 0x9fc)
+ return true;
+ if (cp < 0xa05)
+ return false;
+ if (cp < 0xa0b)
+ return true;
+ if (cp < 0xa0f)
+ return false;
+ if (cp < 0xa11)
+ return true;
+ if (cp < 0xa13)
+ return false;
+ if (cp < 0xa29)
+ return true;
+ return false;
+ }
+ if (cp < 0xc2a) {
+ if (cp < 0xb2a) {
+ if (cp < 0xaaa) {
+ if (cp < 0xa5e) {
+ if (cp < 0xa2a)
+ return false;
+ if (cp < 0xa31)
+ return true;
+ if (cp < 0xa32)
+ return false;
+ if (cp < 0xa34)
+ return true;
+ if (cp < 0xa35)
+ return false;
+ if (cp < 0xa37)
+ return true;
+ if (cp < 0xa38)
+ return false;
+ if (cp < 0xa3a)
+ return true;
+ if (cp < 0xa59)
+ return false;
+ if (cp < 0xa5d)
+ return true;
+ return false;
+ }
+ if (cp === 0xa5e)
+ return true;
+ if (cp < 0xa72)
+ return false;
+ if (cp < 0xa75)
+ return true;
+ if (cp < 0xa85)
+ return false;
+ if (cp < 0xa8e)
+ return true;
+ if (cp < 0xa8f)
+ return false;
+ if (cp < 0xa92)
+ return true;
+ if (cp < 0xa93)
+ return false;
+ if (cp < 0xaa9)
+ return true;
+ return false;
+ }
+ if (cp < 0xae0) {
+ if (cp < 0xaaa)
+ return false;
+ if (cp < 0xab1)
+ return true;
+ if (cp < 0xab2)
+ return false;
+ if (cp < 0xab4)
+ return true;
+ if (cp < 0xab5)
+ return false;
+ if (cp < 0xaba)
+ return true;
+ if (cp === 0xabd)
+ return true;
+ if (cp === 0xad0)
+ return true;
+ return false;
+ }
+ if (cp < 0xae2)
+ return true;
+ if (cp === 0xaf9)
+ return true;
+ if (cp < 0xb05)
+ return false;
+ if (cp < 0xb0d)
+ return true;
+ if (cp < 0xb0f)
+ return false;
+ if (cp < 0xb11)
+ return true;
+ if (cp < 0xb13)
+ return false;
+ if (cp < 0xb29)
+ return true;
+ return false;
+ }
+ if (cp < 0xb92) {
+ if (cp < 0xb5f) {
+ if (cp < 0xb2a)
+ return false;
+ if (cp < 0xb31)
+ return true;
+ if (cp < 0xb32)
+ return false;
+ if (cp < 0xb34)
+ return true;
+ if (cp < 0xb35)
+ return false;
+ if (cp < 0xb3a)
+ return true;
+ if (cp === 0xb3d)
+ return true;
+ if (cp < 0xb5c)
+ return false;
+ if (cp < 0xb5e)
+ return true;
+ return false;
+ }
+ if (cp < 0xb62)
+ return true;
+ if (cp === 0xb71)
+ return true;
+ if (cp === 0xb83)
+ return true;
+ if (cp < 0xb85)
+ return false;
+ if (cp < 0xb8b)
+ return true;
+ if (cp < 0xb8e)
+ return false;
+ if (cp < 0xb91)
+ return true;
+ return false;
+ }
+ if (cp < 0xba8) {
+ if (cp < 0xb92)
+ return false;
+ if (cp < 0xb96)
+ return true;
+ if (cp < 0xb99)
+ return false;
+ if (cp < 0xb9b)
+ return true;
+ if (cp === 0xb9c)
+ return true;
+ if (cp < 0xb9e)
+ return false;
+ if (cp < 0xba0)
+ return true;
+ if (cp < 0xba3)
+ return false;
+ if (cp < 0xba5)
+ return true;
+ return false;
+ }
+ if (cp < 0xbab)
+ return true;
+ if (cp < 0xbae)
+ return false;
+ if (cp < 0xbba)
+ return true;
+ if (cp === 0xbd0)
+ return true;
+ if (cp < 0xc05)
+ return false;
+ if (cp < 0xc0d)
+ return true;
+ if (cp < 0xc0e)
+ return false;
+ if (cp < 0xc11)
+ return true;
+ if (cp < 0xc12)
+ return false;
+ if (cp < 0xc29)
+ return true;
+ return false;
+ }
+ if (cp < 0xd5f) {
+ if (cp < 0xcbd) {
+ if (cp < 0xc85) {
+ if (cp < 0xc2a)
+ return false;
+ if (cp < 0xc3a)
+ return true;
+ if (cp === 0xc3d)
+ return true;
+ if (cp < 0xc58)
+ return false;
+ if (cp < 0xc5b)
+ return true;
+ if (cp < 0xc60)
+ return false;
+ if (cp < 0xc62)
+ return true;
+ if (cp === 0xc80)
+ return true;
+ return false;
+ }
+ if (cp < 0xc8d)
+ return true;
+ if (cp < 0xc8e)
+ return false;
+ if (cp < 0xc91)
+ return true;
+ if (cp < 0xc92)
+ return false;
+ if (cp < 0xca9)
+ return true;
+ if (cp < 0xcaa)
+ return false;
+ if (cp < 0xcb4)
+ return true;
+ if (cp < 0xcb5)
+ return false;
+ if (cp < 0xcba)
+ return true;
+ return false;
+ }
+ if (cp < 0xd0e) {
+ if (cp === 0xcbd)
+ return true;
+ if (cp === 0xcde)
+ return true;
+ if (cp < 0xce0)
+ return false;
+ if (cp < 0xce2)
+ return true;
+ if (cp < 0xcf1)
+ return false;
+ if (cp < 0xcf3)
+ return true;
+ if (cp < 0xd05)
+ return false;
+ if (cp < 0xd0d)
+ return true;
+ return false;
+ }
+ if (cp < 0xd11)
+ return true;
+ if (cp < 0xd12)
+ return false;
+ if (cp < 0xd3b)
+ return true;
+ if (cp === 0xd3d)
+ return true;
+ if (cp === 0xd4e)
+ return true;
+ if (cp < 0xd54)
+ return false;
+ if (cp < 0xd57)
+ return true;
+ return false;
+ }
+ if (cp < 0xe46) {
+ if (cp < 0xdbd) {
+ if (cp < 0xd5f)
+ return false;
+ if (cp < 0xd62)
+ return true;
+ if (cp < 0xd7a)
+ return false;
+ if (cp < 0xd80)
+ return true;
+ if (cp < 0xd85)
+ return false;
+ if (cp < 0xd97)
+ return true;
+ if (cp < 0xd9a)
+ return false;
+ if (cp < 0xdb2)
+ return true;
+ if (cp < 0xdb3)
+ return false;
+ if (cp < 0xdbc)
+ return true;
+ return false;
+ }
+ if (cp === 0xdbd)
+ return true;
+ if (cp < 0xdc0)
+ return false;
+ if (cp < 0xdc7)
+ return true;
+ if (cp < 0xe01)
+ return false;
+ if (cp < 0xe31)
+ return true;
+ if (cp < 0xe32)
+ return false;
+ if (cp < 0xe34)
+ return true;
+ if (cp < 0xe40)
+ return false;
+ if (cp < 0xe46)
+ return true;
+ return false;
+ }
+ if (cp < 0xe8d) {
+ if (cp === 0xe46)
+ return true;
+ if (cp < 0xe81)
+ return false;
+ if (cp < 0xe83)
+ return true;
+ if (cp === 0xe84)
+ return true;
+ if (cp < 0xe87)
+ return false;
+ if (cp < 0xe89)
+ return true;
+ if (cp === 0xe8a)
+ return true;
+ return false;
+ }
+ if (cp === 0xe8d)
+ return true;
+ if (cp < 0xe94)
+ return false;
+ if (cp < 0xe98)
+ return true;
+ if (cp < 0xe99)
+ return false;
+ if (cp < 0xea0)
+ return true;
+ if (cp < 0xea1)
+ return false;
+ if (cp < 0xea4)
+ return true;
+ if (cp === 0xea5)
+ return true;
+ if (cp === 0xea7)
+ return true;
+ return false;
+ }
+ if (cp < 0x1c5a) {
+ if (cp < 0x1380) {
+ if (cp < 0x10a0) {
+ if (cp < 0xf88) {
+ if (cp < 0xec6) {
+ if (cp < 0xeaa)
+ return false;
+ if (cp < 0xeac)
+ return true;
+ if (cp < 0xead)
+ return false;
+ if (cp < 0xeb1)
+ return true;
+ if (cp < 0xeb2)
+ return false;
+ if (cp < 0xeb4)
+ return true;
+ if (cp === 0xebd)
+ return true;
+ if (cp < 0xec0)
+ return false;
+ if (cp < 0xec5)
+ return true;
+ return false;
+ }
+ if (cp === 0xec6)
+ return true;
+ if (cp < 0xedc)
+ return false;
+ if (cp < 0xee0)
+ return true;
+ if (cp === 0xf00)
+ return true;
+ if (cp < 0xf40)
+ return false;
+ if (cp < 0xf48)
+ return true;
+ if (cp < 0xf49)
+ return false;
+ if (cp < 0xf6d)
+ return true;
+ return false;
+ }
+ if (cp < 0x1061) {
+ if (cp < 0xf88)
+ return false;
+ if (cp < 0xf8d)
+ return true;
+ if (cp < 0x1000)
+ return false;
+ if (cp < 0x102b)
+ return true;
+ if (cp === 0x103f)
+ return true;
+ if (cp < 0x1050)
+ return false;
+ if (cp < 0x1056)
+ return true;
+ if (cp < 0x105a)
+ return false;
+ if (cp < 0x105e)
+ return true;
+ return false;
+ }
+ if (cp === 0x1061)
+ return true;
+ if (cp < 0x1065)
+ return false;
+ if (cp < 0x1067)
+ return true;
+ if (cp < 0x106e)
+ return false;
+ if (cp < 0x1071)
+ return true;
+ if (cp < 0x1075)
+ return false;
+ if (cp < 0x1082)
+ return true;
+ if (cp === 0x108e)
+ return true;
+ return false;
+ }
+ if (cp < 0x1260) {
+ if (cp < 0x10fd) {
+ if (cp < 0x10a0)
+ return false;
+ if (cp < 0x10c6)
+ return true;
+ if (cp === 0x10c7)
+ return true;
+ if (cp === 0x10cd)
+ return true;
+ if (cp < 0x10d0)
+ return false;
+ if (cp < 0x10fb)
+ return true;
+ if (cp === 0x10fc)
+ return true;
+ return false;
+ }
+ if (cp < 0x1249)
+ return true;
+ if (cp < 0x124a)
+ return false;
+ if (cp < 0x124e)
+ return true;
+ if (cp < 0x1250)
+ return false;
+ if (cp < 0x1257)
+ return true;
+ if (cp === 0x1258)
+ return true;
+ if (cp < 0x125a)
+ return false;
+ if (cp < 0x125e)
+ return true;
+ return false;
+ }
+ if (cp < 0x12c0) {
+ if (cp < 0x1260)
+ return false;
+ if (cp < 0x1289)
+ return true;
+ if (cp < 0x128a)
+ return false;
+ if (cp < 0x128e)
+ return true;
+ if (cp < 0x1290)
+ return false;
+ if (cp < 0x12b1)
+ return true;
+ if (cp < 0x12b2)
+ return false;
+ if (cp < 0x12b6)
+ return true;
+ if (cp < 0x12b8)
+ return false;
+ if (cp < 0x12bf)
+ return true;
+ return false;
+ }
+ if (cp === 0x12c0)
+ return true;
+ if (cp < 0x12c2)
+ return false;
+ if (cp < 0x12c6)
+ return true;
+ if (cp < 0x12c8)
+ return false;
+ if (cp < 0x12d7)
+ return true;
+ if (cp < 0x12d8)
+ return false;
+ if (cp < 0x1311)
+ return true;
+ if (cp < 0x1312)
+ return false;
+ if (cp < 0x1316)
+ return true;
+ if (cp < 0x1318)
+ return false;
+ if (cp < 0x135b)
+ return true;
+ return false;
+ }
+ if (cp < 0x1844) {
+ if (cp < 0x170e) {
+ if (cp < 0x1681) {
+ if (cp < 0x1380)
+ return false;
+ if (cp < 0x1390)
+ return true;
+ if (cp < 0x13a0)
+ return false;
+ if (cp < 0x13f6)
+ return true;
+ if (cp < 0x13f8)
+ return false;
+ if (cp < 0x13fe)
+ return true;
+ if (cp < 0x1401)
+ return false;
+ if (cp < 0x166d)
+ return true;
+ if (cp < 0x166f)
+ return false;
+ if (cp < 0x1680)
+ return true;
+ return false;
+ }
+ if (cp < 0x169b)
+ return true;
+ if (cp < 0x16a0)
+ return false;
+ if (cp < 0x16eb)
+ return true;
+ if (cp < 0x16ee)
+ return false;
+ if (cp < 0x16f1)
+ return true;
+ if (cp < 0x16f1)
+ return false;
+ if (cp < 0x16f9)
+ return true;
+ if (cp < 0x1700)
+ return false;
+ if (cp < 0x170d)
+ return true;
+ return false;
+ }
+ if (cp < 0x1780) {
+ if (cp < 0x170e)
+ return false;
+ if (cp < 0x1712)
+ return true;
+ if (cp < 0x1720)
+ return false;
+ if (cp < 0x1732)
+ return true;
+ if (cp < 0x1740)
+ return false;
+ if (cp < 0x1752)
+ return true;
+ if (cp < 0x1760)
+ return false;
+ if (cp < 0x176d)
+ return true;
+ if (cp < 0x176e)
+ return false;
+ if (cp < 0x1771)
+ return true;
+ return false;
+ }
+ if (cp < 0x17b4)
+ return true;
+ if (cp === 0x17d7)
+ return true;
+ if (cp === 0x17dc)
+ return true;
+ if (cp < 0x1820)
+ return false;
+ if (cp < 0x1843)
+ return true;
+ if (cp === 0x1843)
+ return true;
+ return false;
+ }
+ if (cp < 0x19b0) {
+ if (cp < 0x18b0) {
+ if (cp < 0x1844)
+ return false;
+ if (cp < 0x1878)
+ return true;
+ if (cp < 0x1880)
+ return false;
+ if (cp < 0x1885)
+ return true;
+ if (cp < 0x1885)
+ return false;
+ if (cp < 0x1887)
+ return true;
+ if (cp < 0x1887)
+ return false;
+ if (cp < 0x18a9)
+ return true;
+ if (cp === 0x18aa)
+ return true;
+ return false;
+ }
+ if (cp < 0x18f6)
+ return true;
+ if (cp < 0x1900)
+ return false;
+ if (cp < 0x191f)
+ return true;
+ if (cp < 0x1950)
+ return false;
+ if (cp < 0x196e)
+ return true;
+ if (cp < 0x1970)
+ return false;
+ if (cp < 0x1975)
+ return true;
+ if (cp < 0x1980)
+ return false;
+ if (cp < 0x19ac)
+ return true;
+ return false;
+ }
+ if (cp < 0x1b45) {
+ if (cp < 0x19b0)
+ return false;
+ if (cp < 0x19ca)
+ return true;
+ if (cp < 0x1a00)
+ return false;
+ if (cp < 0x1a17)
+ return true;
+ if (cp < 0x1a20)
+ return false;
+ if (cp < 0x1a55)
+ return true;
+ if (cp === 0x1aa7)
+ return true;
+ if (cp < 0x1b05)
+ return false;
+ if (cp < 0x1b34)
+ return true;
+ return false;
+ }
+ if (cp < 0x1b4c)
+ return true;
+ if (cp < 0x1b83)
+ return false;
+ if (cp < 0x1ba1)
+ return true;
+ if (cp < 0x1bae)
+ return false;
+ if (cp < 0x1bb0)
+ return true;
+ if (cp < 0x1bba)
+ return false;
+ if (cp < 0x1be6)
+ return true;
+ if (cp < 0x1c00)
+ return false;
+ if (cp < 0x1c24)
+ return true;
+ if (cp < 0x1c4d)
+ return false;
+ if (cp < 0x1c50)
+ return true;
+ return false;
+ }
+ if (cp < 0x2126) {
+ if (cp < 0x1f5f) {
+ if (cp < 0x1d79) {
+ if (cp < 0x1cf5) {
+ if (cp < 0x1c5a)
+ return false;
+ if (cp < 0x1c78)
+ return true;
+ if (cp < 0x1c78)
+ return false;
+ if (cp < 0x1c7e)
+ return true;
+ if (cp < 0x1c80)
+ return false;
+ if (cp < 0x1c89)
+ return true;
+ if (cp < 0x1ce9)
+ return false;
+ if (cp < 0x1ced)
+ return true;
+ if (cp < 0x1cee)
+ return false;
+ if (cp < 0x1cf2)
+ return true;
+ return false;
+ }
+ if (cp < 0x1cf7)
+ return true;
+ if (cp < 0x1d00)
+ return false;
+ if (cp < 0x1d2c)
+ return true;
+ if (cp < 0x1d2c)
+ return false;
+ if (cp < 0x1d6b)
+ return true;
+ if (cp < 0x1d6b)
+ return false;
+ if (cp < 0x1d78)
+ return true;
+ if (cp === 0x1d78)
+ return true;
+ return false;
+ }
+ if (cp < 0x1f48) {
+ if (cp < 0x1d79)
+ return false;
+ if (cp < 0x1d9b)
+ return true;
+ if (cp < 0x1d9b)
+ return false;
+ if (cp < 0x1dc0)
+ return true;
+ if (cp < 0x1e00)
+ return false;
+ if (cp < 0x1f16)
+ return true;
+ if (cp < 0x1f18)
+ return false;
+ if (cp < 0x1f1e)
+ return true;
+ if (cp < 0x1f20)
+ return false;
+ if (cp < 0x1f46)
+ return true;
+ return false;
+ }
+ if (cp < 0x1f4e)
+ return true;
+ if (cp < 0x1f50)
+ return false;
+ if (cp < 0x1f58)
+ return true;
+ if (cp === 0x1f59)
+ return true;
+ if (cp === 0x1f5b)
+ return true;
+ if (cp === 0x1f5d)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ff6) {
+ if (cp < 0x1fc6) {
+ if (cp < 0x1f5f)
+ return false;
+ if (cp < 0x1f7e)
+ return true;
+ if (cp < 0x1f80)
+ return false;
+ if (cp < 0x1fb5)
+ return true;
+ if (cp < 0x1fb6)
+ return false;
+ if (cp < 0x1fbd)
+ return true;
+ if (cp === 0x1fbe)
+ return true;
+ if (cp < 0x1fc2)
+ return false;
+ if (cp < 0x1fc5)
+ return true;
+ return false;
+ }
+ if (cp < 0x1fcd)
+ return true;
+ if (cp < 0x1fd0)
+ return false;
+ if (cp < 0x1fd4)
+ return true;
+ if (cp < 0x1fd6)
+ return false;
+ if (cp < 0x1fdc)
+ return true;
+ if (cp < 0x1fe0)
+ return false;
+ if (cp < 0x1fed)
+ return true;
+ if (cp < 0x1ff2)
+ return false;
+ if (cp < 0x1ff5)
+ return true;
+ return false;
+ }
+ if (cp < 0x2107) {
+ if (cp < 0x1ff6)
+ return false;
+ if (cp < 0x1ffd)
+ return true;
+ if (cp === 0x2071)
+ return true;
+ if (cp === 0x207f)
+ return true;
+ if (cp < 0x2090)
+ return false;
+ if (cp < 0x209d)
+ return true;
+ if (cp === 0x2102)
+ return true;
+ return false;
+ }
+ if (cp === 0x2107)
+ return true;
+ if (cp < 0x210a)
+ return false;
+ if (cp < 0x2114)
+ return true;
+ if (cp === 0x2115)
+ return true;
+ if (cp === 0x2118)
+ return true;
+ if (cp < 0x2119)
+ return false;
+ if (cp < 0x211e)
+ return true;
+ if (cp === 0x2124)
+ return true;
+ return false;
+ }
+ if (cp < 0x2d00) {
+ if (cp < 0x2160) {
+ if (cp < 0x2135) {
+ if (cp === 0x2126)
+ return true;
+ if (cp === 0x2128)
+ return true;
+ if (cp < 0x212a)
+ return false;
+ if (cp < 0x212e)
+ return true;
+ if (cp === 0x212e)
+ return true;
+ if (cp < 0x212f)
+ return false;
+ if (cp < 0x2135)
+ return true;
+ return false;
+ }
+ if (cp < 0x2139)
+ return true;
+ if (cp === 0x2139)
+ return true;
+ if (cp < 0x213c)
+ return false;
+ if (cp < 0x2140)
+ return true;
+ if (cp < 0x2145)
+ return false;
+ if (cp < 0x214a)
+ return true;
+ if (cp === 0x214e)
+ return true;
+ return false;
+ }
+ if (cp < 0x2c60) {
+ if (cp < 0x2160)
+ return false;
+ if (cp < 0x2183)
+ return true;
+ if (cp < 0x2183)
+ return false;
+ if (cp < 0x2185)
+ return true;
+ if (cp < 0x2185)
+ return false;
+ if (cp < 0x2189)
+ return true;
+ if (cp < 0x2c00)
+ return false;
+ if (cp < 0x2c2f)
+ return true;
+ if (cp < 0x2c30)
+ return false;
+ if (cp < 0x2c5f)
+ return true;
+ return false;
+ }
+ if (cp < 0x2c7c)
+ return true;
+ if (cp < 0x2c7c)
+ return false;
+ if (cp < 0x2c7e)
+ return true;
+ if (cp < 0x2c7e)
+ return false;
+ if (cp < 0x2ce5)
+ return true;
+ if (cp < 0x2ceb)
+ return false;
+ if (cp < 0x2cef)
+ return true;
+ if (cp < 0x2cf2)
+ return false;
+ if (cp < 0x2cf4)
+ return true;
+ return false;
+ }
+ if (cp < 0x2dc0) {
+ if (cp < 0x2d80) {
+ if (cp < 0x2d00)
+ return false;
+ if (cp < 0x2d26)
+ return true;
+ if (cp === 0x2d27)
+ return true;
+ if (cp === 0x2d2d)
+ return true;
+ if (cp < 0x2d30)
+ return false;
+ if (cp < 0x2d68)
+ return true;
+ if (cp === 0x2d6f)
+ return true;
+ return false;
+ }
+ if (cp < 0x2d97)
+ return true;
+ if (cp < 0x2da0)
+ return false;
+ if (cp < 0x2da7)
+ return true;
+ if (cp < 0x2da8)
+ return false;
+ if (cp < 0x2daf)
+ return true;
+ if (cp < 0x2db0)
+ return false;
+ if (cp < 0x2db7)
+ return true;
+ if (cp < 0x2db8)
+ return false;
+ if (cp < 0x2dbf)
+ return true;
+ return false;
+ }
+ if (cp < 0x3006) {
+ if (cp < 0x2dc0)
+ return false;
+ if (cp < 0x2dc7)
+ return true;
+ if (cp < 0x2dc8)
+ return false;
+ if (cp < 0x2dcf)
+ return true;
+ if (cp < 0x2dd0)
+ return false;
+ if (cp < 0x2dd7)
+ return true;
+ if (cp < 0x2dd8)
+ return false;
+ if (cp < 0x2ddf)
+ return true;
+ if (cp === 0x3005)
+ return true;
+ return false;
+ }
+ if (cp === 0x3006)
+ return true;
+ if (cp === 0x3007)
+ return true;
+ if (cp < 0x3021)
+ return false;
+ if (cp < 0x302a)
+ return true;
+ if (cp < 0x3031)
+ return false;
+ if (cp < 0x3036)
+ return true;
+ if (cp < 0x3038)
+ return false;
+ if (cp < 0x303b)
+ return true;
+ if (cp === 0x303b)
+ return true;
+ return false;
+ }
+ if (cp < 0x10a10) {
+ if (cp < 0xab28) {
+ if (cp < 0xa7fa) {
+ if (cp < 0xa60c) {
+ if (cp < 0x31a0) {
+ if (cp < 0x30a1) {
+ if (cp === 0x303c)
+ return true;
+ if (cp < 0x3041)
+ return false;
+ if (cp < 0x3097)
+ return true;
+ if (cp < 0x309b)
+ return false;
+ if (cp < 0x309d)
+ return true;
+ if (cp < 0x309d)
+ return false;
+ if (cp < 0x309f)
+ return true;
+ if (cp === 0x309f)
+ return true;
+ return false;
+ }
+ if (cp < 0x30fb)
+ return true;
+ if (cp < 0x30fc)
+ return false;
+ if (cp < 0x30ff)
+ return true;
+ if (cp === 0x30ff)
+ return true;
+ if (cp < 0x3105)
+ return false;
+ if (cp < 0x312f)
+ return true;
+ if (cp < 0x3131)
+ return false;
+ if (cp < 0x318f)
+ return true;
+ return false;
+ }
+ if (cp < 0xa015) {
+ if (cp < 0x31a0)
+ return false;
+ if (cp < 0x31bb)
+ return true;
+ if (cp < 0x31f0)
+ return false;
+ if (cp < 0x3200)
+ return true;
+ if (cp < 0x3400)
+ return false;
+ if (cp < 0x4db6)
+ return true;
+ if (cp < 0x4e00)
+ return false;
+ if (cp < 0x9feb)
+ return true;
+ if (cp < 0xa000)
+ return false;
+ if (cp < 0xa015)
+ return true;
+ return false;
+ }
+ if (cp === 0xa015)
+ return true;
+ if (cp < 0xa016)
+ return false;
+ if (cp < 0xa48d)
+ return true;
+ if (cp < 0xa4d0)
+ return false;
+ if (cp < 0xa4f8)
+ return true;
+ if (cp < 0xa4f8)
+ return false;
+ if (cp < 0xa4fe)
+ return true;
+ if (cp < 0xa500)
+ return false;
+ if (cp < 0xa60c)
+ return true;
+ return false;
+ }
+ if (cp < 0xa717) {
+ if (cp < 0xa67f) {
+ if (cp === 0xa60c)
+ return true;
+ if (cp < 0xa610)
+ return false;
+ if (cp < 0xa620)
+ return true;
+ if (cp < 0xa62a)
+ return false;
+ if (cp < 0xa62c)
+ return true;
+ if (cp < 0xa640)
+ return false;
+ if (cp < 0xa66e)
+ return true;
+ if (cp === 0xa66e)
+ return true;
+ return false;
+ }
+ if (cp === 0xa67f)
+ return true;
+ if (cp < 0xa680)
+ return false;
+ if (cp < 0xa69c)
+ return true;
+ if (cp < 0xa69c)
+ return false;
+ if (cp < 0xa69e)
+ return true;
+ if (cp < 0xa6a0)
+ return false;
+ if (cp < 0xa6e6)
+ return true;
+ if (cp < 0xa6e6)
+ return false;
+ if (cp < 0xa6f0)
+ return true;
+ return false;
+ }
+ if (cp < 0xa78b) {
+ if (cp < 0xa717)
+ return false;
+ if (cp < 0xa720)
+ return true;
+ if (cp < 0xa722)
+ return false;
+ if (cp < 0xa770)
+ return true;
+ if (cp === 0xa770)
+ return true;
+ if (cp < 0xa771)
+ return false;
+ if (cp < 0xa788)
+ return true;
+ if (cp === 0xa788)
+ return true;
+ return false;
+ }
+ if (cp < 0xa78f)
+ return true;
+ if (cp === 0xa78f)
+ return true;
+ if (cp < 0xa790)
+ return false;
+ if (cp < 0xa7af)
+ return true;
+ if (cp < 0xa7b0)
+ return false;
+ if (cp < 0xa7b8)
+ return true;
+ if (cp === 0xa7f7)
+ return true;
+ if (cp < 0xa7f8)
+ return false;
+ if (cp < 0xa7fa)
+ return true;
+ return false;
+ }
+ if (cp < 0xaa40) {
+ if (cp < 0xa90a) {
+ if (cp < 0xa840) {
+ if (cp === 0xa7fa)
+ return true;
+ if (cp < 0xa7fb)
+ return false;
+ if (cp < 0xa802)
+ return true;
+ if (cp < 0xa803)
+ return false;
+ if (cp < 0xa806)
+ return true;
+ if (cp < 0xa807)
+ return false;
+ if (cp < 0xa80b)
+ return true;
+ if (cp < 0xa80c)
+ return false;
+ if (cp < 0xa823)
+ return true;
+ return false;
+ }
+ if (cp < 0xa874)
+ return true;
+ if (cp < 0xa882)
+ return false;
+ if (cp < 0xa8b4)
+ return true;
+ if (cp < 0xa8f2)
+ return false;
+ if (cp < 0xa8f8)
+ return true;
+ if (cp === 0xa8fb)
+ return true;
+ if (cp === 0xa8fd)
+ return true;
+ return false;
+ }
+ if (cp < 0xa9e0) {
+ if (cp < 0xa90a)
+ return false;
+ if (cp < 0xa926)
+ return true;
+ if (cp < 0xa930)
+ return false;
+ if (cp < 0xa947)
+ return true;
+ if (cp < 0xa960)
+ return false;
+ if (cp < 0xa97d)
+ return true;
+ if (cp < 0xa984)
+ return false;
+ if (cp < 0xa9b3)
+ return true;
+ if (cp === 0xa9cf)
+ return true;
+ return false;
+ }
+ if (cp < 0xa9e5)
+ return true;
+ if (cp === 0xa9e6)
+ return true;
+ if (cp < 0xa9e7)
+ return false;
+ if (cp < 0xa9f0)
+ return true;
+ if (cp < 0xa9fa)
+ return false;
+ if (cp < 0xa9ff)
+ return true;
+ if (cp < 0xaa00)
+ return false;
+ if (cp < 0xaa29)
+ return true;
+ return false;
+ }
+ if (cp < 0xaac0) {
+ if (cp < 0xaa7a) {
+ if (cp < 0xaa40)
+ return false;
+ if (cp < 0xaa43)
+ return true;
+ if (cp < 0xaa44)
+ return false;
+ if (cp < 0xaa4c)
+ return true;
+ if (cp < 0xaa60)
+ return false;
+ if (cp < 0xaa70)
+ return true;
+ if (cp === 0xaa70)
+ return true;
+ if (cp < 0xaa71)
+ return false;
+ if (cp < 0xaa77)
+ return true;
+ return false;
+ }
+ if (cp === 0xaa7a)
+ return true;
+ if (cp < 0xaa7e)
+ return false;
+ if (cp < 0xaab0)
+ return true;
+ if (cp === 0xaab1)
+ return true;
+ if (cp < 0xaab5)
+ return false;
+ if (cp < 0xaab7)
+ return true;
+ if (cp < 0xaab9)
+ return false;
+ if (cp < 0xaabe)
+ return true;
+ return false;
+ }
+ if (cp < 0xaaf2) {
+ if (cp === 0xaac0)
+ return true;
+ if (cp === 0xaac2)
+ return true;
+ if (cp < 0xaadb)
+ return false;
+ if (cp < 0xaadd)
+ return true;
+ if (cp === 0xaadd)
+ return true;
+ if (cp < 0xaae0)
+ return false;
+ if (cp < 0xaaeb)
+ return true;
+ return false;
+ }
+ if (cp === 0xaaf2)
+ return true;
+ if (cp < 0xaaf3)
+ return false;
+ if (cp < 0xaaf5)
+ return true;
+ if (cp < 0xab01)
+ return false;
+ if (cp < 0xab07)
+ return true;
+ if (cp < 0xab09)
+ return false;
+ if (cp < 0xab0f)
+ return true;
+ if (cp < 0xab11)
+ return false;
+ if (cp < 0xab17)
+ return true;
+ if (cp < 0xab20)
+ return false;
+ if (cp < 0xab27)
+ return true;
+ return false;
+ }
+ if (cp < 0x1003c) {
+ if (cp < 0xfb46) {
+ if (cp < 0xfa70) {
+ if (cp < 0xabc0) {
+ if (cp < 0xab28)
+ return false;
+ if (cp < 0xab2f)
+ return true;
+ if (cp < 0xab30)
+ return false;
+ if (cp < 0xab5b)
+ return true;
+ if (cp < 0xab5c)
+ return false;
+ if (cp < 0xab60)
+ return true;
+ if (cp < 0xab60)
+ return false;
+ if (cp < 0xab66)
+ return true;
+ if (cp < 0xab70)
+ return false;
+ if (cp < 0xabc0)
+ return true;
+ return false;
+ }
+ if (cp < 0xabe3)
+ return true;
+ if (cp < 0xac00)
+ return false;
+ if (cp < 0xd7a4)
+ return true;
+ if (cp < 0xd7b0)
+ return false;
+ if (cp < 0xd7c7)
+ return true;
+ if (cp < 0xd7cb)
+ return false;
+ if (cp < 0xd7fc)
+ return true;
+ if (cp < 0xf900)
+ return false;
+ if (cp < 0xfa6e)
+ return true;
+ return false;
+ }
+ if (cp < 0xfb2a) {
+ if (cp < 0xfa70)
+ return false;
+ if (cp < 0xfada)
+ return true;
+ if (cp < 0xfb00)
+ return false;
+ if (cp < 0xfb07)
+ return true;
+ if (cp < 0xfb13)
+ return false;
+ if (cp < 0xfb18)
+ return true;
+ if (cp === 0xfb1d)
+ return true;
+ if (cp < 0xfb1f)
+ return false;
+ if (cp < 0xfb29)
+ return true;
+ return false;
+ }
+ if (cp < 0xfb37)
+ return true;
+ if (cp < 0xfb38)
+ return false;
+ if (cp < 0xfb3d)
+ return true;
+ if (cp === 0xfb3e)
+ return true;
+ if (cp < 0xfb40)
+ return false;
+ if (cp < 0xfb42)
+ return true;
+ if (cp < 0xfb43)
+ return false;
+ if (cp < 0xfb45)
+ return true;
+ return false;
+ }
+ if (cp < 0xff70) {
+ if (cp < 0xfe70) {
+ if (cp < 0xfb46)
+ return false;
+ if (cp < 0xfbb2)
+ return true;
+ if (cp < 0xfbd3)
+ return false;
+ if (cp < 0xfd3e)
+ return true;
+ if (cp < 0xfd50)
+ return false;
+ if (cp < 0xfd90)
+ return true;
+ if (cp < 0xfd92)
+ return false;
+ if (cp < 0xfdc8)
+ return true;
+ if (cp < 0xfdf0)
+ return false;
+ if (cp < 0xfdfc)
+ return true;
+ return false;
+ }
+ if (cp < 0xfe75)
+ return true;
+ if (cp < 0xfe76)
+ return false;
+ if (cp < 0xfefd)
+ return true;
+ if (cp < 0xff21)
+ return false;
+ if (cp < 0xff3b)
+ return true;
+ if (cp < 0xff41)
+ return false;
+ if (cp < 0xff5b)
+ return true;
+ if (cp < 0xff66)
+ return false;
+ if (cp < 0xff70)
+ return true;
+ return false;
+ }
+ if (cp < 0xffca) {
+ if (cp === 0xff70)
+ return true;
+ if (cp < 0xff71)
+ return false;
+ if (cp < 0xff9e)
+ return true;
+ if (cp < 0xff9e)
+ return false;
+ if (cp < 0xffa0)
+ return true;
+ if (cp < 0xffa0)
+ return false;
+ if (cp < 0xffbf)
+ return true;
+ if (cp < 0xffc2)
+ return false;
+ if (cp < 0xffc8)
+ return true;
+ return false;
+ }
+ if (cp < 0xffd0)
+ return true;
+ if (cp < 0xffd2)
+ return false;
+ if (cp < 0xffd8)
+ return true;
+ if (cp < 0xffda)
+ return false;
+ if (cp < 0xffdd)
+ return true;
+ if (cp < 0x10000)
+ return false;
+ if (cp < 0x1000c)
+ return true;
+ if (cp < 0x1000d)
+ return false;
+ if (cp < 0x10027)
+ return true;
+ if (cp < 0x10028)
+ return false;
+ if (cp < 0x1003b)
+ return true;
+ return false;
+ }
+ if (cp < 0x104d8) {
+ if (cp < 0x10342) {
+ if (cp < 0x10280) {
+ if (cp < 0x1003c)
+ return false;
+ if (cp < 0x1003e)
+ return true;
+ if (cp < 0x1003f)
+ return false;
+ if (cp < 0x1004e)
+ return true;
+ if (cp < 0x10050)
+ return false;
+ if (cp < 0x1005e)
+ return true;
+ if (cp < 0x10080)
+ return false;
+ if (cp < 0x100fb)
+ return true;
+ if (cp < 0x10140)
+ return false;
+ if (cp < 0x10175)
+ return true;
+ return false;
+ }
+ if (cp < 0x1029d)
+ return true;
+ if (cp < 0x102a0)
+ return false;
+ if (cp < 0x102d1)
+ return true;
+ if (cp < 0x10300)
+ return false;
+ if (cp < 0x10320)
+ return true;
+ if (cp < 0x1032d)
+ return false;
+ if (cp < 0x10341)
+ return true;
+ if (cp === 0x10341)
+ return true;
+ return false;
+ }
+ if (cp < 0x103c8) {
+ if (cp < 0x10342)
+ return false;
+ if (cp < 0x1034a)
+ return true;
+ if (cp === 0x1034a)
+ return true;
+ if (cp < 0x10350)
+ return false;
+ if (cp < 0x10376)
+ return true;
+ if (cp < 0x10380)
+ return false;
+ if (cp < 0x1039e)
+ return true;
+ if (cp < 0x103a0)
+ return false;
+ if (cp < 0x103c4)
+ return true;
+ return false;
+ }
+ if (cp < 0x103d0)
+ return true;
+ if (cp < 0x103d1)
+ return false;
+ if (cp < 0x103d6)
+ return true;
+ if (cp < 0x10400)
+ return false;
+ if (cp < 0x10450)
+ return true;
+ if (cp < 0x10450)
+ return false;
+ if (cp < 0x1049e)
+ return true;
+ if (cp < 0x104b0)
+ return false;
+ if (cp < 0x104d4)
+ return true;
+ return false;
+ }
+ if (cp < 0x1083c) {
+ if (cp < 0x10760) {
+ if (cp < 0x104d8)
+ return false;
+ if (cp < 0x104fc)
+ return true;
+ if (cp < 0x10500)
+ return false;
+ if (cp < 0x10528)
+ return true;
+ if (cp < 0x10530)
+ return false;
+ if (cp < 0x10564)
+ return true;
+ if (cp < 0x10600)
+ return false;
+ if (cp < 0x10737)
+ return true;
+ if (cp < 0x10740)
+ return false;
+ if (cp < 0x10756)
+ return true;
+ return false;
+ }
+ if (cp < 0x10768)
+ return true;
+ if (cp < 0x10800)
+ return false;
+ if (cp < 0x10806)
+ return true;
+ if (cp === 0x10808)
+ return true;
+ if (cp < 0x1080a)
+ return false;
+ if (cp < 0x10836)
+ return true;
+ if (cp < 0x10837)
+ return false;
+ if (cp < 0x10839)
+ return true;
+ return false;
+ }
+ if (cp < 0x108f4) {
+ if (cp === 0x1083c)
+ return true;
+ if (cp < 0x1083f)
+ return false;
+ if (cp < 0x10856)
+ return true;
+ if (cp < 0x10860)
+ return false;
+ if (cp < 0x10877)
+ return true;
+ if (cp < 0x10880)
+ return false;
+ if (cp < 0x1089f)
+ return true;
+ if (cp < 0x108e0)
+ return false;
+ if (cp < 0x108f3)
+ return true;
+ return false;
+ }
+ if (cp < 0x108f6)
+ return true;
+ if (cp < 0x10900)
+ return false;
+ if (cp < 0x10916)
+ return true;
+ if (cp < 0x10920)
+ return false;
+ if (cp < 0x1093a)
+ return true;
+ if (cp < 0x10980)
+ return false;
+ if (cp < 0x109b8)
+ return true;
+ if (cp < 0x109be)
+ return false;
+ if (cp < 0x109c0)
+ return true;
+ if (cp === 0x10a00)
+ return true;
+ return false;
+ }
+ if (cp < 0x16f50) {
+ if (cp < 0x11400) {
+ if (cp < 0x11183) {
+ if (cp < 0x10b80) {
+ if (cp < 0x10ac0) {
+ if (cp < 0x10a10)
+ return false;
+ if (cp < 0x10a14)
+ return true;
+ if (cp < 0x10a15)
+ return false;
+ if (cp < 0x10a18)
+ return true;
+ if (cp < 0x10a19)
+ return false;
+ if (cp < 0x10a34)
+ return true;
+ if (cp < 0x10a60)
+ return false;
+ if (cp < 0x10a7d)
+ return true;
+ if (cp < 0x10a80)
+ return false;
+ if (cp < 0x10a9d)
+ return true;
+ return false;
+ }
+ if (cp < 0x10ac8)
+ return true;
+ if (cp < 0x10ac9)
+ return false;
+ if (cp < 0x10ae5)
+ return true;
+ if (cp < 0x10b00)
+ return false;
+ if (cp < 0x10b36)
+ return true;
+ if (cp < 0x10b40)
+ return false;
+ if (cp < 0x10b56)
+ return true;
+ if (cp < 0x10b60)
+ return false;
+ if (cp < 0x10b73)
+ return true;
+ return false;
+ }
+ if (cp < 0x11083) {
+ if (cp < 0x10b80)
+ return false;
+ if (cp < 0x10b92)
+ return true;
+ if (cp < 0x10c00)
+ return false;
+ if (cp < 0x10c49)
+ return true;
+ if (cp < 0x10c80)
+ return false;
+ if (cp < 0x10cb3)
+ return true;
+ if (cp < 0x10cc0)
+ return false;
+ if (cp < 0x10cf3)
+ return true;
+ if (cp < 0x11003)
+ return false;
+ if (cp < 0x11038)
+ return true;
+ return false;
+ }
+ if (cp < 0x110b0)
+ return true;
+ if (cp < 0x110d0)
+ return false;
+ if (cp < 0x110e9)
+ return true;
+ if (cp < 0x11103)
+ return false;
+ if (cp < 0x11127)
+ return true;
+ if (cp < 0x11150)
+ return false;
+ if (cp < 0x11173)
+ return true;
+ if (cp === 0x11176)
+ return true;
+ return false;
+ }
+ if (cp < 0x1129f) {
+ if (cp < 0x11213) {
+ if (cp < 0x11183)
+ return false;
+ if (cp < 0x111b3)
+ return true;
+ if (cp < 0x111c1)
+ return false;
+ if (cp < 0x111c5)
+ return true;
+ if (cp === 0x111da)
+ return true;
+ if (cp === 0x111dc)
+ return true;
+ if (cp < 0x11200)
+ return false;
+ if (cp < 0x11212)
+ return true;
+ return false;
+ }
+ if (cp < 0x1122c)
+ return true;
+ if (cp < 0x11280)
+ return false;
+ if (cp < 0x11287)
+ return true;
+ if (cp === 0x11288)
+ return true;
+ if (cp < 0x1128a)
+ return false;
+ if (cp < 0x1128e)
+ return true;
+ if (cp < 0x1128f)
+ return false;
+ if (cp < 0x1129e)
+ return true;
+ return false;
+ }
+ if (cp < 0x1132a) {
+ if (cp < 0x1129f)
+ return false;
+ if (cp < 0x112a9)
+ return true;
+ if (cp < 0x112b0)
+ return false;
+ if (cp < 0x112df)
+ return true;
+ if (cp < 0x11305)
+ return false;
+ if (cp < 0x1130d)
+ return true;
+ if (cp < 0x1130f)
+ return false;
+ if (cp < 0x11311)
+ return true;
+ if (cp < 0x11313)
+ return false;
+ if (cp < 0x11329)
+ return true;
+ return false;
+ }
+ if (cp < 0x11331)
+ return true;
+ if (cp < 0x11332)
+ return false;
+ if (cp < 0x11334)
+ return true;
+ if (cp < 0x11335)
+ return false;
+ if (cp < 0x1133a)
+ return true;
+ if (cp === 0x1133d)
+ return true;
+ if (cp === 0x11350)
+ return true;
+ if (cp < 0x1135d)
+ return false;
+ if (cp < 0x11362)
+ return true;
+ return false;
+ }
+ if (cp < 0x11c00) {
+ if (cp < 0x11700) {
+ if (cp < 0x11580) {
+ if (cp < 0x11400)
+ return false;
+ if (cp < 0x11435)
+ return true;
+ if (cp < 0x11447)
+ return false;
+ if (cp < 0x1144b)
+ return true;
+ if (cp < 0x11480)
+ return false;
+ if (cp < 0x114b0)
+ return true;
+ if (cp < 0x114c4)
+ return false;
+ if (cp < 0x114c6)
+ return true;
+ if (cp === 0x114c7)
+ return true;
+ return false;
+ }
+ if (cp < 0x115af)
+ return true;
+ if (cp < 0x115d8)
+ return false;
+ if (cp < 0x115dc)
+ return true;
+ if (cp < 0x11600)
+ return false;
+ if (cp < 0x11630)
+ return true;
+ if (cp === 0x11644)
+ return true;
+ if (cp < 0x11680)
+ return false;
+ if (cp < 0x116ab)
+ return true;
+ return false;
+ }
+ if (cp < 0x11a3a) {
+ if (cp < 0x11700)
+ return false;
+ if (cp < 0x1171a)
+ return true;
+ if (cp < 0x118a0)
+ return false;
+ if (cp < 0x118e0)
+ return true;
+ if (cp === 0x118ff)
+ return true;
+ if (cp === 0x11a00)
+ return true;
+ if (cp < 0x11a0b)
+ return false;
+ if (cp < 0x11a33)
+ return true;
+ return false;
+ }
+ if (cp === 0x11a3a)
+ return true;
+ if (cp === 0x11a50)
+ return true;
+ if (cp < 0x11a5c)
+ return false;
+ if (cp < 0x11a84)
+ return true;
+ if (cp < 0x11a86)
+ return false;
+ if (cp < 0x11a8a)
+ return true;
+ if (cp < 0x11ac0)
+ return false;
+ if (cp < 0x11af9)
+ return true;
+ return false;
+ }
+ if (cp < 0x12480) {
+ if (cp < 0x11d08) {
+ if (cp < 0x11c00)
+ return false;
+ if (cp < 0x11c09)
+ return true;
+ if (cp < 0x11c0a)
+ return false;
+ if (cp < 0x11c2f)
+ return true;
+ if (cp === 0x11c40)
+ return true;
+ if (cp < 0x11c72)
+ return false;
+ if (cp < 0x11c90)
+ return true;
+ if (cp < 0x11d00)
+ return false;
+ if (cp < 0x11d07)
+ return true;
+ return false;
+ }
+ if (cp < 0x11d0a)
+ return true;
+ if (cp < 0x11d0b)
+ return false;
+ if (cp < 0x11d31)
+ return true;
+ if (cp === 0x11d46)
+ return true;
+ if (cp < 0x12000)
+ return false;
+ if (cp < 0x1239a)
+ return true;
+ if (cp < 0x12400)
+ return false;
+ if (cp < 0x1246f)
+ return true;
+ return false;
+ }
+ if (cp < 0x16ad0) {
+ if (cp < 0x12480)
+ return false;
+ if (cp < 0x12544)
+ return true;
+ if (cp < 0x13000)
+ return false;
+ if (cp < 0x1342f)
+ return true;
+ if (cp < 0x14400)
+ return false;
+ if (cp < 0x14647)
+ return true;
+ if (cp < 0x16800)
+ return false;
+ if (cp < 0x16a39)
+ return true;
+ if (cp < 0x16a40)
+ return false;
+ if (cp < 0x16a5f)
+ return true;
+ return false;
+ }
+ if (cp < 0x16aee)
+ return true;
+ if (cp < 0x16b00)
+ return false;
+ if (cp < 0x16b30)
+ return true;
+ if (cp < 0x16b40)
+ return false;
+ if (cp < 0x16b44)
+ return true;
+ if (cp < 0x16b63)
+ return false;
+ if (cp < 0x16b78)
+ return true;
+ if (cp < 0x16b7d)
+ return false;
+ if (cp < 0x16b90)
+ return true;
+ if (cp < 0x16f00)
+ return false;
+ if (cp < 0x16f45)
+ return true;
+ return false;
+ }
+ if (cp < 0x1e800) {
+ if (cp < 0x1d4c5) {
+ if (cp < 0x1bc90) {
+ if (cp < 0x1b000) {
+ if (cp === 0x16f50)
+ return true;
+ if (cp < 0x16f93)
+ return false;
+ if (cp < 0x16fa0)
+ return true;
+ if (cp < 0x16fe0)
+ return false;
+ if (cp < 0x16fe2)
+ return true;
+ if (cp < 0x17000)
+ return false;
+ if (cp < 0x187ed)
+ return true;
+ if (cp < 0x18800)
+ return false;
+ if (cp < 0x18af3)
+ return true;
+ return false;
+ }
+ if (cp < 0x1b11f)
+ return true;
+ if (cp < 0x1b170)
+ return false;
+ if (cp < 0x1b2fc)
+ return true;
+ if (cp < 0x1bc00)
+ return false;
+ if (cp < 0x1bc6b)
+ return true;
+ if (cp < 0x1bc70)
+ return false;
+ if (cp < 0x1bc7d)
+ return true;
+ if (cp < 0x1bc80)
+ return false;
+ if (cp < 0x1bc89)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d4a5) {
+ if (cp < 0x1bc90)
+ return false;
+ if (cp < 0x1bc9a)
+ return true;
+ if (cp < 0x1d400)
+ return false;
+ if (cp < 0x1d455)
+ return true;
+ if (cp < 0x1d456)
+ return false;
+ if (cp < 0x1d49d)
+ return true;
+ if (cp < 0x1d49e)
+ return false;
+ if (cp < 0x1d4a0)
+ return true;
+ if (cp === 0x1d4a2)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d4a7)
+ return true;
+ if (cp < 0x1d4a9)
+ return false;
+ if (cp < 0x1d4ad)
+ return true;
+ if (cp < 0x1d4ae)
+ return false;
+ if (cp < 0x1d4ba)
+ return true;
+ if (cp === 0x1d4bb)
+ return true;
+ if (cp < 0x1d4bd)
+ return false;
+ if (cp < 0x1d4c4)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d6a8) {
+ if (cp < 0x1d53b) {
+ if (cp < 0x1d4c5)
+ return false;
+ if (cp < 0x1d506)
+ return true;
+ if (cp < 0x1d507)
+ return false;
+ if (cp < 0x1d50b)
+ return true;
+ if (cp < 0x1d50d)
+ return false;
+ if (cp < 0x1d515)
+ return true;
+ if (cp < 0x1d516)
+ return false;
+ if (cp < 0x1d51d)
+ return true;
+ if (cp < 0x1d51e)
+ return false;
+ if (cp < 0x1d53a)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d53f)
+ return true;
+ if (cp < 0x1d540)
+ return false;
+ if (cp < 0x1d545)
+ return true;
+ if (cp === 0x1d546)
+ return true;
+ if (cp < 0x1d54a)
+ return false;
+ if (cp < 0x1d551)
+ return true;
+ if (cp < 0x1d552)
+ return false;
+ if (cp < 0x1d6a6)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d736) {
+ if (cp < 0x1d6a8)
+ return false;
+ if (cp < 0x1d6c1)
+ return true;
+ if (cp < 0x1d6c2)
+ return false;
+ if (cp < 0x1d6db)
+ return true;
+ if (cp < 0x1d6dc)
+ return false;
+ if (cp < 0x1d6fb)
+ return true;
+ if (cp < 0x1d6fc)
+ return false;
+ if (cp < 0x1d715)
+ return true;
+ if (cp < 0x1d716)
+ return false;
+ if (cp < 0x1d735)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d74f)
+ return true;
+ if (cp < 0x1d750)
+ return false;
+ if (cp < 0x1d76f)
+ return true;
+ if (cp < 0x1d770)
+ return false;
+ if (cp < 0x1d789)
+ return true;
+ if (cp < 0x1d78a)
+ return false;
+ if (cp < 0x1d7a9)
+ return true;
+ if (cp < 0x1d7aa)
+ return false;
+ if (cp < 0x1d7c3)
+ return true;
+ if (cp < 0x1d7c4)
+ return false;
+ if (cp < 0x1d7cc)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ee5b) {
+ if (cp < 0x1ee3b) {
+ if (cp < 0x1ee24) {
+ if (cp < 0x1e800)
+ return false;
+ if (cp < 0x1e8c5)
+ return true;
+ if (cp < 0x1e900)
+ return false;
+ if (cp < 0x1e944)
+ return true;
+ if (cp < 0x1ee00)
+ return false;
+ if (cp < 0x1ee04)
+ return true;
+ if (cp < 0x1ee05)
+ return false;
+ if (cp < 0x1ee20)
+ return true;
+ if (cp < 0x1ee21)
+ return false;
+ if (cp < 0x1ee23)
+ return true;
+ return false;
+ }
+ if (cp === 0x1ee24)
+ return true;
+ if (cp === 0x1ee27)
+ return true;
+ if (cp < 0x1ee29)
+ return false;
+ if (cp < 0x1ee33)
+ return true;
+ if (cp < 0x1ee34)
+ return false;
+ if (cp < 0x1ee38)
+ return true;
+ if (cp === 0x1ee39)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ee4d) {
+ if (cp === 0x1ee3b)
+ return true;
+ if (cp === 0x1ee42)
+ return true;
+ if (cp === 0x1ee47)
+ return true;
+ if (cp === 0x1ee49)
+ return true;
+ if (cp === 0x1ee4b)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ee50)
+ return true;
+ if (cp < 0x1ee51)
+ return false;
+ if (cp < 0x1ee53)
+ return true;
+ if (cp === 0x1ee54)
+ return true;
+ if (cp === 0x1ee57)
+ return true;
+ if (cp === 0x1ee59)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ee80) {
+ if (cp < 0x1ee67) {
+ if (cp === 0x1ee5b)
+ return true;
+ if (cp === 0x1ee5d)
+ return true;
+ if (cp === 0x1ee5f)
+ return true;
+ if (cp < 0x1ee61)
+ return false;
+ if (cp < 0x1ee63)
+ return true;
+ if (cp === 0x1ee64)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ee6b)
+ return true;
+ if (cp < 0x1ee6c)
+ return false;
+ if (cp < 0x1ee73)
+ return true;
+ if (cp < 0x1ee74)
+ return false;
+ if (cp < 0x1ee78)
+ return true;
+ if (cp < 0x1ee79)
+ return false;
+ if (cp < 0x1ee7d)
+ return true;
+ if (cp === 0x1ee7e)
+ return true;
+ return false;
+ }
+ if (cp < 0x20000) {
+ if (cp < 0x1ee80)
+ return false;
+ if (cp < 0x1ee8a)
+ return true;
+ if (cp < 0x1ee8b)
+ return false;
+ if (cp < 0x1ee9c)
+ return true;
+ if (cp < 0x1eea1)
+ return false;
+ if (cp < 0x1eea4)
+ return true;
+ if (cp < 0x1eea5)
+ return false;
+ if (cp < 0x1eeaa)
+ return true;
+ if (cp < 0x1eeab)
+ return false;
+ if (cp < 0x1eebc)
+ return true;
+ return false;
+ }
+ if (cp < 0x2a6d7)
+ return true;
+ if (cp < 0x2a700)
+ return false;
+ if (cp < 0x2b735)
+ return true;
+ if (cp < 0x2b740)
+ return false;
+ if (cp < 0x2b81e)
+ return true;
+ if (cp < 0x2b820)
+ return false;
+ if (cp < 0x2cea2)
+ return true;
+ if (cp < 0x2ceb0)
+ return false;
+ if (cp < 0x2ebe1)
+ return true;
+ if (cp < 0x2f800)
+ return false;
+ if (cp < 0x2fa1e)
+ return true;
+ return false;
+}
+function isLargeIdContinue(cp) {
+ if (cp < 0x1bf2) {
+ if (cp < 0xd62) {
+ if (cp < 0xa83) {
+ if (cp < 0x93b) {
+ if (cp < 0x6ea) {
+ if (cp < 0x5c7) {
+ if (cp === 0xb7)
+ return true;
+ if (cp < 0x300)
+ return false;
+ if (cp < 0x370)
+ return true;
+ if (cp === 0x387)
+ return true;
+ if (cp < 0x483)
+ return false;
+ if (cp < 0x488)
+ return true;
+ if (cp < 0x591)
+ return false;
+ if (cp < 0x5be)
+ return true;
+ if (cp === 0x5bf)
+ return true;
+ if (cp < 0x5c1)
+ return false;
+ if (cp < 0x5c3)
+ return true;
+ if (cp < 0x5c4)
+ return false;
+ if (cp < 0x5c6)
+ return true;
+ return false;
+ }
+ if (cp === 0x5c7)
+ return true;
+ if (cp < 0x610)
+ return false;
+ if (cp < 0x61b)
+ return true;
+ if (cp < 0x64b)
+ return false;
+ if (cp < 0x660)
+ return true;
+ if (cp < 0x660)
+ return false;
+ if (cp < 0x66a)
+ return true;
+ if (cp === 0x670)
+ return true;
+ if (cp < 0x6d6)
+ return false;
+ if (cp < 0x6dd)
+ return true;
+ if (cp < 0x6df)
+ return false;
+ if (cp < 0x6e5)
+ return true;
+ if (cp < 0x6e7)
+ return false;
+ if (cp < 0x6e9)
+ return true;
+ return false;
+ }
+ if (cp < 0x81b) {
+ if (cp < 0x6ea)
+ return false;
+ if (cp < 0x6ee)
+ return true;
+ if (cp < 0x6f0)
+ return false;
+ if (cp < 0x6fa)
+ return true;
+ if (cp === 0x711)
+ return true;
+ if (cp < 0x730)
+ return false;
+ if (cp < 0x74b)
+ return true;
+ if (cp < 0x7a6)
+ return false;
+ if (cp < 0x7b1)
+ return true;
+ if (cp < 0x7c0)
+ return false;
+ if (cp < 0x7ca)
+ return true;
+ if (cp < 0x7eb)
+ return false;
+ if (cp < 0x7f4)
+ return true;
+ if (cp < 0x816)
+ return false;
+ if (cp < 0x81a)
+ return true;
+ return false;
+ }
+ if (cp < 0x824)
+ return true;
+ if (cp < 0x825)
+ return false;
+ if (cp < 0x828)
+ return true;
+ if (cp < 0x829)
+ return false;
+ if (cp < 0x82e)
+ return true;
+ if (cp < 0x859)
+ return false;
+ if (cp < 0x85c)
+ return true;
+ if (cp < 0x8d4)
+ return false;
+ if (cp < 0x8e2)
+ return true;
+ if (cp < 0x8e3)
+ return false;
+ if (cp < 0x903)
+ return true;
+ if (cp === 0x903)
+ return true;
+ if (cp === 0x93a)
+ return true;
+ return false;
+ }
+ if (cp < 0x9cb) {
+ if (cp < 0x962) {
+ if (cp === 0x93b)
+ return true;
+ if (cp === 0x93c)
+ return true;
+ if (cp < 0x93e)
+ return false;
+ if (cp < 0x941)
+ return true;
+ if (cp < 0x941)
+ return false;
+ if (cp < 0x949)
+ return true;
+ if (cp < 0x949)
+ return false;
+ if (cp < 0x94d)
+ return true;
+ if (cp === 0x94d)
+ return true;
+ if (cp < 0x94e)
+ return false;
+ if (cp < 0x950)
+ return true;
+ if (cp < 0x951)
+ return false;
+ if (cp < 0x958)
+ return true;
+ return false;
+ }
+ if (cp < 0x964)
+ return true;
+ if (cp < 0x966)
+ return false;
+ if (cp < 0x970)
+ return true;
+ if (cp === 0x981)
+ return true;
+ if (cp < 0x982)
+ return false;
+ if (cp < 0x984)
+ return true;
+ if (cp === 0x9bc)
+ return true;
+ if (cp < 0x9be)
+ return false;
+ if (cp < 0x9c1)
+ return true;
+ if (cp < 0x9c1)
+ return false;
+ if (cp < 0x9c5)
+ return true;
+ if (cp < 0x9c7)
+ return false;
+ if (cp < 0x9c9)
+ return true;
+ return false;
+ }
+ if (cp < 0xa3e) {
+ if (cp < 0x9cb)
+ return false;
+ if (cp < 0x9cd)
+ return true;
+ if (cp === 0x9cd)
+ return true;
+ if (cp === 0x9d7)
+ return true;
+ if (cp < 0x9e2)
+ return false;
+ if (cp < 0x9e4)
+ return true;
+ if (cp < 0x9e6)
+ return false;
+ if (cp < 0x9f0)
+ return true;
+ if (cp < 0xa01)
+ return false;
+ if (cp < 0xa03)
+ return true;
+ if (cp === 0xa03)
+ return true;
+ if (cp === 0xa3c)
+ return true;
+ return false;
+ }
+ if (cp < 0xa41)
+ return true;
+ if (cp < 0xa41)
+ return false;
+ if (cp < 0xa43)
+ return true;
+ if (cp < 0xa47)
+ return false;
+ if (cp < 0xa49)
+ return true;
+ if (cp < 0xa4b)
+ return false;
+ if (cp < 0xa4e)
+ return true;
+ if (cp === 0xa51)
+ return true;
+ if (cp < 0xa66)
+ return false;
+ if (cp < 0xa70)
+ return true;
+ if (cp < 0xa70)
+ return false;
+ if (cp < 0xa72)
+ return true;
+ if (cp === 0xa75)
+ return true;
+ if (cp < 0xa81)
+ return false;
+ if (cp < 0xa83)
+ return true;
+ return false;
+ }
+ if (cp < 0xbd7) {
+ if (cp < 0xb40) {
+ if (cp < 0xae2) {
+ if (cp === 0xa83)
+ return true;
+ if (cp === 0xabc)
+ return true;
+ if (cp < 0xabe)
+ return false;
+ if (cp < 0xac1)
+ return true;
+ if (cp < 0xac1)
+ return false;
+ if (cp < 0xac6)
+ return true;
+ if (cp < 0xac7)
+ return false;
+ if (cp < 0xac9)
+ return true;
+ if (cp === 0xac9)
+ return true;
+ if (cp < 0xacb)
+ return false;
+ if (cp < 0xacd)
+ return true;
+ if (cp === 0xacd)
+ return true;
+ return false;
+ }
+ if (cp < 0xae4)
+ return true;
+ if (cp < 0xae6)
+ return false;
+ if (cp < 0xaf0)
+ return true;
+ if (cp < 0xafa)
+ return false;
+ if (cp < 0xb00)
+ return true;
+ if (cp === 0xb01)
+ return true;
+ if (cp < 0xb02)
+ return false;
+ if (cp < 0xb04)
+ return true;
+ if (cp === 0xb3c)
+ return true;
+ if (cp === 0xb3e)
+ return true;
+ if (cp === 0xb3f)
+ return true;
+ return false;
+ }
+ if (cp < 0xb66) {
+ if (cp === 0xb40)
+ return true;
+ if (cp < 0xb41)
+ return false;
+ if (cp < 0xb45)
+ return true;
+ if (cp < 0xb47)
+ return false;
+ if (cp < 0xb49)
+ return true;
+ if (cp < 0xb4b)
+ return false;
+ if (cp < 0xb4d)
+ return true;
+ if (cp === 0xb4d)
+ return true;
+ if (cp === 0xb56)
+ return true;
+ if (cp === 0xb57)
+ return true;
+ if (cp < 0xb62)
+ return false;
+ if (cp < 0xb64)
+ return true;
+ return false;
+ }
+ if (cp < 0xb70)
+ return true;
+ if (cp === 0xb82)
+ return true;
+ if (cp < 0xbbe)
+ return false;
+ if (cp < 0xbc0)
+ return true;
+ if (cp === 0xbc0)
+ return true;
+ if (cp < 0xbc1)
+ return false;
+ if (cp < 0xbc3)
+ return true;
+ if (cp < 0xbc6)
+ return false;
+ if (cp < 0xbc9)
+ return true;
+ if (cp < 0xbca)
+ return false;
+ if (cp < 0xbcd)
+ return true;
+ if (cp === 0xbcd)
+ return true;
+ return false;
+ }
+ if (cp < 0xcc0) {
+ if (cp < 0xc55) {
+ if (cp === 0xbd7)
+ return true;
+ if (cp < 0xbe6)
+ return false;
+ if (cp < 0xbf0)
+ return true;
+ if (cp === 0xc00)
+ return true;
+ if (cp < 0xc01)
+ return false;
+ if (cp < 0xc04)
+ return true;
+ if (cp < 0xc3e)
+ return false;
+ if (cp < 0xc41)
+ return true;
+ if (cp < 0xc41)
+ return false;
+ if (cp < 0xc45)
+ return true;
+ if (cp < 0xc46)
+ return false;
+ if (cp < 0xc49)
+ return true;
+ if (cp < 0xc4a)
+ return false;
+ if (cp < 0xc4e)
+ return true;
+ return false;
+ }
+ if (cp < 0xc57)
+ return true;
+ if (cp < 0xc62)
+ return false;
+ if (cp < 0xc64)
+ return true;
+ if (cp < 0xc66)
+ return false;
+ if (cp < 0xc70)
+ return true;
+ if (cp === 0xc81)
+ return true;
+ if (cp < 0xc82)
+ return false;
+ if (cp < 0xc84)
+ return true;
+ if (cp === 0xcbc)
+ return true;
+ if (cp === 0xcbe)
+ return true;
+ if (cp === 0xcbf)
+ return true;
+ return false;
+ }
+ if (cp < 0xd00) {
+ if (cp < 0xcc0)
+ return false;
+ if (cp < 0xcc5)
+ return true;
+ if (cp === 0xcc6)
+ return true;
+ if (cp < 0xcc7)
+ return false;
+ if (cp < 0xcc9)
+ return true;
+ if (cp < 0xcca)
+ return false;
+ if (cp < 0xccc)
+ return true;
+ if (cp < 0xccc)
+ return false;
+ if (cp < 0xcce)
+ return true;
+ if (cp < 0xcd5)
+ return false;
+ if (cp < 0xcd7)
+ return true;
+ if (cp < 0xce2)
+ return false;
+ if (cp < 0xce4)
+ return true;
+ if (cp < 0xce6)
+ return false;
+ if (cp < 0xcf0)
+ return true;
+ return false;
+ }
+ if (cp < 0xd02)
+ return true;
+ if (cp < 0xd02)
+ return false;
+ if (cp < 0xd04)
+ return true;
+ if (cp < 0xd3b)
+ return false;
+ if (cp < 0xd3d)
+ return true;
+ if (cp < 0xd3e)
+ return false;
+ if (cp < 0xd41)
+ return true;
+ if (cp < 0xd41)
+ return false;
+ if (cp < 0xd45)
+ return true;
+ if (cp < 0xd46)
+ return false;
+ if (cp < 0xd49)
+ return true;
+ if (cp < 0xd4a)
+ return false;
+ if (cp < 0xd4d)
+ return true;
+ if (cp === 0xd4d)
+ return true;
+ if (cp === 0xd57)
+ return true;
+ return false;
+ }
+ if (cp < 0x17be) {
+ if (cp < 0x102b) {
+ if (cp < 0xebb) {
+ if (cp < 0xde6) {
+ if (cp < 0xd62)
+ return false;
+ if (cp < 0xd64)
+ return true;
+ if (cp < 0xd66)
+ return false;
+ if (cp < 0xd70)
+ return true;
+ if (cp < 0xd82)
+ return false;
+ if (cp < 0xd84)
+ return true;
+ if (cp === 0xdca)
+ return true;
+ if (cp < 0xdcf)
+ return false;
+ if (cp < 0xdd2)
+ return true;
+ if (cp < 0xdd2)
+ return false;
+ if (cp < 0xdd5)
+ return true;
+ if (cp === 0xdd6)
+ return true;
+ if (cp < 0xdd8)
+ return false;
+ if (cp < 0xde0)
+ return true;
+ return false;
+ }
+ if (cp < 0xdf0)
+ return true;
+ if (cp < 0xdf2)
+ return false;
+ if (cp < 0xdf4)
+ return true;
+ if (cp === 0xe31)
+ return true;
+ if (cp < 0xe34)
+ return false;
+ if (cp < 0xe3b)
+ return true;
+ if (cp < 0xe47)
+ return false;
+ if (cp < 0xe4f)
+ return true;
+ if (cp < 0xe50)
+ return false;
+ if (cp < 0xe5a)
+ return true;
+ if (cp === 0xeb1)
+ return true;
+ if (cp < 0xeb4)
+ return false;
+ if (cp < 0xeba)
+ return true;
+ return false;
+ }
+ if (cp < 0xf3e) {
+ if (cp < 0xebb)
+ return false;
+ if (cp < 0xebd)
+ return true;
+ if (cp < 0xec8)
+ return false;
+ if (cp < 0xece)
+ return true;
+ if (cp < 0xed0)
+ return false;
+ if (cp < 0xeda)
+ return true;
+ if (cp < 0xf18)
+ return false;
+ if (cp < 0xf1a)
+ return true;
+ if (cp < 0xf20)
+ return false;
+ if (cp < 0xf2a)
+ return true;
+ if (cp === 0xf35)
+ return true;
+ if (cp === 0xf37)
+ return true;
+ if (cp === 0xf39)
+ return true;
+ return false;
+ }
+ if (cp < 0xf40)
+ return true;
+ if (cp < 0xf71)
+ return false;
+ if (cp < 0xf7f)
+ return true;
+ if (cp === 0xf7f)
+ return true;
+ if (cp < 0xf80)
+ return false;
+ if (cp < 0xf85)
+ return true;
+ if (cp < 0xf86)
+ return false;
+ if (cp < 0xf88)
+ return true;
+ if (cp < 0xf8d)
+ return false;
+ if (cp < 0xf98)
+ return true;
+ if (cp < 0xf99)
+ return false;
+ if (cp < 0xfbd)
+ return true;
+ if (cp === 0xfc6)
+ return true;
+ return false;
+ }
+ if (cp < 0x1083) {
+ if (cp < 0x1040) {
+ if (cp < 0x102b)
+ return false;
+ if (cp < 0x102d)
+ return true;
+ if (cp < 0x102d)
+ return false;
+ if (cp < 0x1031)
+ return true;
+ if (cp === 0x1031)
+ return true;
+ if (cp < 0x1032)
+ return false;
+ if (cp < 0x1038)
+ return true;
+ if (cp === 0x1038)
+ return true;
+ if (cp < 0x1039)
+ return false;
+ if (cp < 0x103b)
+ return true;
+ if (cp < 0x103b)
+ return false;
+ if (cp < 0x103d)
+ return true;
+ if (cp < 0x103d)
+ return false;
+ if (cp < 0x103f)
+ return true;
+ return false;
+ }
+ if (cp < 0x104a)
+ return true;
+ if (cp < 0x1056)
+ return false;
+ if (cp < 0x1058)
+ return true;
+ if (cp < 0x1058)
+ return false;
+ if (cp < 0x105a)
+ return true;
+ if (cp < 0x105e)
+ return false;
+ if (cp < 0x1061)
+ return true;
+ if (cp < 0x1062)
+ return false;
+ if (cp < 0x1065)
+ return true;
+ if (cp < 0x1067)
+ return false;
+ if (cp < 0x106e)
+ return true;
+ if (cp < 0x1071)
+ return false;
+ if (cp < 0x1075)
+ return true;
+ if (cp === 0x1082)
+ return true;
+ return false;
+ }
+ if (cp < 0x135d) {
+ if (cp < 0x1083)
+ return false;
+ if (cp < 0x1085)
+ return true;
+ if (cp < 0x1085)
+ return false;
+ if (cp < 0x1087)
+ return true;
+ if (cp < 0x1087)
+ return false;
+ if (cp < 0x108d)
+ return true;
+ if (cp === 0x108d)
+ return true;
+ if (cp === 0x108f)
+ return true;
+ if (cp < 0x1090)
+ return false;
+ if (cp < 0x109a)
+ return true;
+ if (cp < 0x109a)
+ return false;
+ if (cp < 0x109d)
+ return true;
+ if (cp === 0x109d)
+ return true;
+ return false;
+ }
+ if (cp < 0x1360)
+ return true;
+ if (cp < 0x1369)
+ return false;
+ if (cp < 0x1372)
+ return true;
+ if (cp < 0x1712)
+ return false;
+ if (cp < 0x1715)
+ return true;
+ if (cp < 0x1732)
+ return false;
+ if (cp < 0x1735)
+ return true;
+ if (cp < 0x1752)
+ return false;
+ if (cp < 0x1754)
+ return true;
+ if (cp < 0x1772)
+ return false;
+ if (cp < 0x1774)
+ return true;
+ if (cp < 0x17b4)
+ return false;
+ if (cp < 0x17b6)
+ return true;
+ if (cp === 0x17b6)
+ return true;
+ if (cp < 0x17b7)
+ return false;
+ if (cp < 0x17be)
+ return true;
+ return false;
+ }
+ if (cp < 0x1a73) {
+ if (cp < 0x1939) {
+ if (cp < 0x18a9) {
+ if (cp < 0x17be)
+ return false;
+ if (cp < 0x17c6)
+ return true;
+ if (cp === 0x17c6)
+ return true;
+ if (cp < 0x17c7)
+ return false;
+ if (cp < 0x17c9)
+ return true;
+ if (cp < 0x17c9)
+ return false;
+ if (cp < 0x17d4)
+ return true;
+ if (cp === 0x17dd)
+ return true;
+ if (cp < 0x17e0)
+ return false;
+ if (cp < 0x17ea)
+ return true;
+ if (cp < 0x180b)
+ return false;
+ if (cp < 0x180e)
+ return true;
+ if (cp < 0x1810)
+ return false;
+ if (cp < 0x181a)
+ return true;
+ return false;
+ }
+ if (cp === 0x18a9)
+ return true;
+ if (cp < 0x1920)
+ return false;
+ if (cp < 0x1923)
+ return true;
+ if (cp < 0x1923)
+ return false;
+ if (cp < 0x1927)
+ return true;
+ if (cp < 0x1927)
+ return false;
+ if (cp < 0x1929)
+ return true;
+ if (cp < 0x1929)
+ return false;
+ if (cp < 0x192c)
+ return true;
+ if (cp < 0x1930)
+ return false;
+ if (cp < 0x1932)
+ return true;
+ if (cp === 0x1932)
+ return true;
+ if (cp < 0x1933)
+ return false;
+ if (cp < 0x1939)
+ return true;
+ return false;
+ }
+ if (cp < 0x1a56) {
+ if (cp < 0x1939)
+ return false;
+ if (cp < 0x193c)
+ return true;
+ if (cp < 0x1946)
+ return false;
+ if (cp < 0x1950)
+ return true;
+ if (cp < 0x19d0)
+ return false;
+ if (cp < 0x19da)
+ return true;
+ if (cp === 0x19da)
+ return true;
+ if (cp < 0x1a17)
+ return false;
+ if (cp < 0x1a19)
+ return true;
+ if (cp < 0x1a19)
+ return false;
+ if (cp < 0x1a1b)
+ return true;
+ if (cp === 0x1a1b)
+ return true;
+ if (cp === 0x1a55)
+ return true;
+ return false;
+ }
+ if (cp === 0x1a56)
+ return true;
+ if (cp === 0x1a57)
+ return true;
+ if (cp < 0x1a58)
+ return false;
+ if (cp < 0x1a5f)
+ return true;
+ if (cp === 0x1a60)
+ return true;
+ if (cp === 0x1a61)
+ return true;
+ if (cp === 0x1a62)
+ return true;
+ if (cp < 0x1a63)
+ return false;
+ if (cp < 0x1a65)
+ return true;
+ if (cp < 0x1a65)
+ return false;
+ if (cp < 0x1a6d)
+ return true;
+ if (cp < 0x1a6d)
+ return false;
+ if (cp < 0x1a73)
+ return true;
+ return false;
+ }
+ if (cp < 0x1b6b) {
+ if (cp < 0x1b35) {
+ if (cp < 0x1a73)
+ return false;
+ if (cp < 0x1a7d)
+ return true;
+ if (cp === 0x1a7f)
+ return true;
+ if (cp < 0x1a80)
+ return false;
+ if (cp < 0x1a8a)
+ return true;
+ if (cp < 0x1a90)
+ return false;
+ if (cp < 0x1a9a)
+ return true;
+ if (cp < 0x1ab0)
+ return false;
+ if (cp < 0x1abe)
+ return true;
+ if (cp < 0x1b00)
+ return false;
+ if (cp < 0x1b04)
+ return true;
+ if (cp === 0x1b04)
+ return true;
+ if (cp === 0x1b34)
+ return true;
+ return false;
+ }
+ if (cp === 0x1b35)
+ return true;
+ if (cp < 0x1b36)
+ return false;
+ if (cp < 0x1b3b)
+ return true;
+ if (cp === 0x1b3b)
+ return true;
+ if (cp === 0x1b3c)
+ return true;
+ if (cp < 0x1b3d)
+ return false;
+ if (cp < 0x1b42)
+ return true;
+ if (cp === 0x1b42)
+ return true;
+ if (cp < 0x1b43)
+ return false;
+ if (cp < 0x1b45)
+ return true;
+ if (cp < 0x1b50)
+ return false;
+ if (cp < 0x1b5a)
+ return true;
+ return false;
+ }
+ if (cp < 0x1bab) {
+ if (cp < 0x1b6b)
+ return false;
+ if (cp < 0x1b74)
+ return true;
+ if (cp < 0x1b80)
+ return false;
+ if (cp < 0x1b82)
+ return true;
+ if (cp === 0x1b82)
+ return true;
+ if (cp === 0x1ba1)
+ return true;
+ if (cp < 0x1ba2)
+ return false;
+ if (cp < 0x1ba6)
+ return true;
+ if (cp < 0x1ba6)
+ return false;
+ if (cp < 0x1ba8)
+ return true;
+ if (cp < 0x1ba8)
+ return false;
+ if (cp < 0x1baa)
+ return true;
+ if (cp === 0x1baa)
+ return true;
+ return false;
+ }
+ if (cp < 0x1bae)
+ return true;
+ if (cp < 0x1bb0)
+ return false;
+ if (cp < 0x1bba)
+ return true;
+ if (cp === 0x1be6)
+ return true;
+ if (cp === 0x1be7)
+ return true;
+ if (cp < 0x1be8)
+ return false;
+ if (cp < 0x1bea)
+ return true;
+ if (cp < 0x1bea)
+ return false;
+ if (cp < 0x1bed)
+ return true;
+ if (cp === 0x1bed)
+ return true;
+ if (cp === 0x1bee)
+ return true;
+ if (cp < 0x1bef)
+ return false;
+ if (cp < 0x1bf2)
+ return true;
+ return false;
+ }
+ if (cp < 0x111d0) {
+ if (cp < 0xaa43) {
+ if (cp < 0xa69e) {
+ if (cp < 0x1dc0) {
+ if (cp < 0x1cd4) {
+ if (cp < 0x1bf2)
+ return false;
+ if (cp < 0x1bf4)
+ return true;
+ if (cp < 0x1c24)
+ return false;
+ if (cp < 0x1c2c)
+ return true;
+ if (cp < 0x1c2c)
+ return false;
+ if (cp < 0x1c34)
+ return true;
+ if (cp < 0x1c34)
+ return false;
+ if (cp < 0x1c36)
+ return true;
+ if (cp < 0x1c36)
+ return false;
+ if (cp < 0x1c38)
+ return true;
+ if (cp < 0x1c40)
+ return false;
+ if (cp < 0x1c4a)
+ return true;
+ if (cp < 0x1c50)
+ return false;
+ if (cp < 0x1c5a)
+ return true;
+ if (cp < 0x1cd0)
+ return false;
+ if (cp < 0x1cd3)
+ return true;
+ return false;
+ }
+ if (cp < 0x1ce1)
+ return true;
+ if (cp === 0x1ce1)
+ return true;
+ if (cp < 0x1ce2)
+ return false;
+ if (cp < 0x1ce9)
+ return true;
+ if (cp === 0x1ced)
+ return true;
+ if (cp < 0x1cf2)
+ return false;
+ if (cp < 0x1cf4)
+ return true;
+ if (cp === 0x1cf4)
+ return true;
+ if (cp === 0x1cf7)
+ return true;
+ if (cp < 0x1cf8)
+ return false;
+ if (cp < 0x1cfa)
+ return true;
+ return false;
+ }
+ if (cp < 0x2d7f) {
+ if (cp < 0x1dc0)
+ return false;
+ if (cp < 0x1dfa)
+ return true;
+ if (cp < 0x1dfb)
+ return false;
+ if (cp < 0x1e00)
+ return true;
+ if (cp < 0x203f)
+ return false;
+ if (cp < 0x2041)
+ return true;
+ if (cp === 0x2054)
+ return true;
+ if (cp < 0x20d0)
+ return false;
+ if (cp < 0x20dd)
+ return true;
+ if (cp === 0x20e1)
+ return true;
+ if (cp < 0x20e5)
+ return false;
+ if (cp < 0x20f1)
+ return true;
+ if (cp < 0x2cef)
+ return false;
+ if (cp < 0x2cf2)
+ return true;
+ return false;
+ }
+ if (cp === 0x2d7f)
+ return true;
+ if (cp < 0x2de0)
+ return false;
+ if (cp < 0x2e00)
+ return true;
+ if (cp < 0x302a)
+ return false;
+ if (cp < 0x302e)
+ return true;
+ if (cp < 0x302e)
+ return false;
+ if (cp < 0x3030)
+ return true;
+ if (cp < 0x3099)
+ return false;
+ if (cp < 0x309b)
+ return true;
+ if (cp < 0xa620)
+ return false;
+ if (cp < 0xa62a)
+ return true;
+ if (cp === 0xa66f)
+ return true;
+ if (cp < 0xa674)
+ return false;
+ if (cp < 0xa67e)
+ return true;
+ return false;
+ }
+ if (cp < 0xa952) {
+ if (cp < 0xa880) {
+ if (cp < 0xa69e)
+ return false;
+ if (cp < 0xa6a0)
+ return true;
+ if (cp < 0xa6f0)
+ return false;
+ if (cp < 0xa6f2)
+ return true;
+ if (cp === 0xa802)
+ return true;
+ if (cp === 0xa806)
+ return true;
+ if (cp === 0xa80b)
+ return true;
+ if (cp < 0xa823)
+ return false;
+ if (cp < 0xa825)
+ return true;
+ if (cp < 0xa825)
+ return false;
+ if (cp < 0xa827)
+ return true;
+ if (cp === 0xa827)
+ return true;
+ return false;
+ }
+ if (cp < 0xa882)
+ return true;
+ if (cp < 0xa8b4)
+ return false;
+ if (cp < 0xa8c4)
+ return true;
+ if (cp < 0xa8c4)
+ return false;
+ if (cp < 0xa8c6)
+ return true;
+ if (cp < 0xa8d0)
+ return false;
+ if (cp < 0xa8da)
+ return true;
+ if (cp < 0xa8e0)
+ return false;
+ if (cp < 0xa8f2)
+ return true;
+ if (cp < 0xa900)
+ return false;
+ if (cp < 0xa90a)
+ return true;
+ if (cp < 0xa926)
+ return false;
+ if (cp < 0xa92e)
+ return true;
+ if (cp < 0xa947)
+ return false;
+ if (cp < 0xa952)
+ return true;
+ return false;
+ }
+ if (cp < 0xa9bd) {
+ if (cp < 0xa952)
+ return false;
+ if (cp < 0xa954)
+ return true;
+ if (cp < 0xa980)
+ return false;
+ if (cp < 0xa983)
+ return true;
+ if (cp === 0xa983)
+ return true;
+ if (cp === 0xa9b3)
+ return true;
+ if (cp < 0xa9b4)
+ return false;
+ if (cp < 0xa9b6)
+ return true;
+ if (cp < 0xa9b6)
+ return false;
+ if (cp < 0xa9ba)
+ return true;
+ if (cp < 0xa9ba)
+ return false;
+ if (cp < 0xa9bc)
+ return true;
+ if (cp === 0xa9bc)
+ return true;
+ return false;
+ }
+ if (cp < 0xa9c1)
+ return true;
+ if (cp < 0xa9d0)
+ return false;
+ if (cp < 0xa9da)
+ return true;
+ if (cp === 0xa9e5)
+ return true;
+ if (cp < 0xa9f0)
+ return false;
+ if (cp < 0xa9fa)
+ return true;
+ if (cp < 0xaa29)
+ return false;
+ if (cp < 0xaa2f)
+ return true;
+ if (cp < 0xaa2f)
+ return false;
+ if (cp < 0xaa31)
+ return true;
+ if (cp < 0xaa31)
+ return false;
+ if (cp < 0xaa33)
+ return true;
+ if (cp < 0xaa33)
+ return false;
+ if (cp < 0xaa35)
+ return true;
+ if (cp < 0xaa35)
+ return false;
+ if (cp < 0xaa37)
+ return true;
+ return false;
+ }
+ if (cp < 0x102e0) {
+ if (cp < 0xaaf6) {
+ if (cp < 0xaab2) {
+ if (cp === 0xaa43)
+ return true;
+ if (cp === 0xaa4c)
+ return true;
+ if (cp === 0xaa4d)
+ return true;
+ if (cp < 0xaa50)
+ return false;
+ if (cp < 0xaa5a)
+ return true;
+ if (cp === 0xaa7b)
+ return true;
+ if (cp === 0xaa7c)
+ return true;
+ if (cp === 0xaa7d)
+ return true;
+ if (cp === 0xaab0)
+ return true;
+ return false;
+ }
+ if (cp < 0xaab5)
+ return true;
+ if (cp < 0xaab7)
+ return false;
+ if (cp < 0xaab9)
+ return true;
+ if (cp < 0xaabe)
+ return false;
+ if (cp < 0xaac0)
+ return true;
+ if (cp === 0xaac1)
+ return true;
+ if (cp === 0xaaeb)
+ return true;
+ if (cp < 0xaaec)
+ return false;
+ if (cp < 0xaaee)
+ return true;
+ if (cp < 0xaaee)
+ return false;
+ if (cp < 0xaaf0)
+ return true;
+ if (cp === 0xaaf5)
+ return true;
+ return false;
+ }
+ if (cp < 0xabf0) {
+ if (cp === 0xaaf6)
+ return true;
+ if (cp < 0xabe3)
+ return false;
+ if (cp < 0xabe5)
+ return true;
+ if (cp === 0xabe5)
+ return true;
+ if (cp < 0xabe6)
+ return false;
+ if (cp < 0xabe8)
+ return true;
+ if (cp === 0xabe8)
+ return true;
+ if (cp < 0xabe9)
+ return false;
+ if (cp < 0xabeb)
+ return true;
+ if (cp === 0xabec)
+ return true;
+ if (cp === 0xabed)
+ return true;
+ return false;
+ }
+ if (cp < 0xabfa)
+ return true;
+ if (cp === 0xfb1e)
+ return true;
+ if (cp < 0xfe00)
+ return false;
+ if (cp < 0xfe10)
+ return true;
+ if (cp < 0xfe20)
+ return false;
+ if (cp < 0xfe30)
+ return true;
+ if (cp < 0xfe33)
+ return false;
+ if (cp < 0xfe35)
+ return true;
+ if (cp < 0xfe4d)
+ return false;
+ if (cp < 0xfe50)
+ return true;
+ if (cp < 0xff10)
+ return false;
+ if (cp < 0xff1a)
+ return true;
+ if (cp === 0xff3f)
+ return true;
+ if (cp === 0x101fd)
+ return true;
+ return false;
+ }
+ if (cp < 0x110b0) {
+ if (cp < 0x10ae5) {
+ if (cp === 0x102e0)
+ return true;
+ if (cp < 0x10376)
+ return false;
+ if (cp < 0x1037b)
+ return true;
+ if (cp < 0x104a0)
+ return false;
+ if (cp < 0x104aa)
+ return true;
+ if (cp < 0x10a01)
+ return false;
+ if (cp < 0x10a04)
+ return true;
+ if (cp < 0x10a05)
+ return false;
+ if (cp < 0x10a07)
+ return true;
+ if (cp < 0x10a0c)
+ return false;
+ if (cp < 0x10a10)
+ return true;
+ if (cp < 0x10a38)
+ return false;
+ if (cp < 0x10a3b)
+ return true;
+ if (cp === 0x10a3f)
+ return true;
+ return false;
+ }
+ if (cp < 0x10ae7)
+ return true;
+ if (cp === 0x11000)
+ return true;
+ if (cp === 0x11001)
+ return true;
+ if (cp === 0x11002)
+ return true;
+ if (cp < 0x11038)
+ return false;
+ if (cp < 0x11047)
+ return true;
+ if (cp < 0x11066)
+ return false;
+ if (cp < 0x11070)
+ return true;
+ if (cp < 0x1107f)
+ return false;
+ if (cp < 0x11082)
+ return true;
+ if (cp === 0x11082)
+ return true;
+ return false;
+ }
+ if (cp < 0x1112d) {
+ if (cp < 0x110b0)
+ return false;
+ if (cp < 0x110b3)
+ return true;
+ if (cp < 0x110b3)
+ return false;
+ if (cp < 0x110b7)
+ return true;
+ if (cp < 0x110b7)
+ return false;
+ if (cp < 0x110b9)
+ return true;
+ if (cp < 0x110b9)
+ return false;
+ if (cp < 0x110bb)
+ return true;
+ if (cp < 0x110f0)
+ return false;
+ if (cp < 0x110fa)
+ return true;
+ if (cp < 0x11100)
+ return false;
+ if (cp < 0x11103)
+ return true;
+ if (cp < 0x11127)
+ return false;
+ if (cp < 0x1112c)
+ return true;
+ if (cp === 0x1112c)
+ return true;
+ return false;
+ }
+ if (cp < 0x11135)
+ return true;
+ if (cp < 0x11136)
+ return false;
+ if (cp < 0x11140)
+ return true;
+ if (cp === 0x11173)
+ return true;
+ if (cp < 0x11180)
+ return false;
+ if (cp < 0x11182)
+ return true;
+ if (cp === 0x11182)
+ return true;
+ if (cp < 0x111b3)
+ return false;
+ if (cp < 0x111b6)
+ return true;
+ if (cp < 0x111b6)
+ return false;
+ if (cp < 0x111bf)
+ return true;
+ if (cp < 0x111bf)
+ return false;
+ if (cp < 0x111c1)
+ return true;
+ if (cp < 0x111ca)
+ return false;
+ if (cp < 0x111cd)
+ return true;
+ return false;
+ }
+ if (cp < 0x11726) {
+ if (cp < 0x114b3) {
+ if (cp < 0x11340) {
+ if (cp < 0x112df) {
+ if (cp < 0x111d0)
+ return false;
+ if (cp < 0x111da)
+ return true;
+ if (cp < 0x1122c)
+ return false;
+ if (cp < 0x1122f)
+ return true;
+ if (cp < 0x1122f)
+ return false;
+ if (cp < 0x11232)
+ return true;
+ if (cp < 0x11232)
+ return false;
+ if (cp < 0x11234)
+ return true;
+ if (cp === 0x11234)
+ return true;
+ if (cp === 0x11235)
+ return true;
+ if (cp < 0x11236)
+ return false;
+ if (cp < 0x11238)
+ return true;
+ if (cp === 0x1123e)
+ return true;
+ return false;
+ }
+ if (cp === 0x112df)
+ return true;
+ if (cp < 0x112e0)
+ return false;
+ if (cp < 0x112e3)
+ return true;
+ if (cp < 0x112e3)
+ return false;
+ if (cp < 0x112eb)
+ return true;
+ if (cp < 0x112f0)
+ return false;
+ if (cp < 0x112fa)
+ return true;
+ if (cp < 0x11300)
+ return false;
+ if (cp < 0x11302)
+ return true;
+ if (cp < 0x11302)
+ return false;
+ if (cp < 0x11304)
+ return true;
+ if (cp === 0x1133c)
+ return true;
+ if (cp < 0x1133e)
+ return false;
+ if (cp < 0x11340)
+ return true;
+ return false;
+ }
+ if (cp < 0x11435) {
+ if (cp === 0x11340)
+ return true;
+ if (cp < 0x11341)
+ return false;
+ if (cp < 0x11345)
+ return true;
+ if (cp < 0x11347)
+ return false;
+ if (cp < 0x11349)
+ return true;
+ if (cp < 0x1134b)
+ return false;
+ if (cp < 0x1134e)
+ return true;
+ if (cp === 0x11357)
+ return true;
+ if (cp < 0x11362)
+ return false;
+ if (cp < 0x11364)
+ return true;
+ if (cp < 0x11366)
+ return false;
+ if (cp < 0x1136d)
+ return true;
+ if (cp < 0x11370)
+ return false;
+ if (cp < 0x11375)
+ return true;
+ return false;
+ }
+ if (cp < 0x11438)
+ return true;
+ if (cp < 0x11438)
+ return false;
+ if (cp < 0x11440)
+ return true;
+ if (cp < 0x11440)
+ return false;
+ if (cp < 0x11442)
+ return true;
+ if (cp < 0x11442)
+ return false;
+ if (cp < 0x11445)
+ return true;
+ if (cp === 0x11445)
+ return true;
+ if (cp === 0x11446)
+ return true;
+ if (cp < 0x11450)
+ return false;
+ if (cp < 0x1145a)
+ return true;
+ if (cp < 0x114b0)
+ return false;
+ if (cp < 0x114b3)
+ return true;
+ return false;
+ }
+ if (cp < 0x11633) {
+ if (cp < 0x115af) {
+ if (cp < 0x114b3)
+ return false;
+ if (cp < 0x114b9)
+ return true;
+ if (cp === 0x114b9)
+ return true;
+ if (cp === 0x114ba)
+ return true;
+ if (cp < 0x114bb)
+ return false;
+ if (cp < 0x114bf)
+ return true;
+ if (cp < 0x114bf)
+ return false;
+ if (cp < 0x114c1)
+ return true;
+ if (cp === 0x114c1)
+ return true;
+ if (cp < 0x114c2)
+ return false;
+ if (cp < 0x114c4)
+ return true;
+ if (cp < 0x114d0)
+ return false;
+ if (cp < 0x114da)
+ return true;
+ return false;
+ }
+ if (cp < 0x115b2)
+ return true;
+ if (cp < 0x115b2)
+ return false;
+ if (cp < 0x115b6)
+ return true;
+ if (cp < 0x115b8)
+ return false;
+ if (cp < 0x115bc)
+ return true;
+ if (cp < 0x115bc)
+ return false;
+ if (cp < 0x115be)
+ return true;
+ if (cp === 0x115be)
+ return true;
+ if (cp < 0x115bf)
+ return false;
+ if (cp < 0x115c1)
+ return true;
+ if (cp < 0x115dc)
+ return false;
+ if (cp < 0x115de)
+ return true;
+ if (cp < 0x11630)
+ return false;
+ if (cp < 0x11633)
+ return true;
+ return false;
+ }
+ if (cp < 0x116ad) {
+ if (cp < 0x11633)
+ return false;
+ if (cp < 0x1163b)
+ return true;
+ if (cp < 0x1163b)
+ return false;
+ if (cp < 0x1163d)
+ return true;
+ if (cp === 0x1163d)
+ return true;
+ if (cp === 0x1163e)
+ return true;
+ if (cp < 0x1163f)
+ return false;
+ if (cp < 0x11641)
+ return true;
+ if (cp < 0x11650)
+ return false;
+ if (cp < 0x1165a)
+ return true;
+ if (cp === 0x116ab)
+ return true;
+ if (cp === 0x116ac)
+ return true;
+ return false;
+ }
+ if (cp === 0x116ad)
+ return true;
+ if (cp < 0x116ae)
+ return false;
+ if (cp < 0x116b0)
+ return true;
+ if (cp < 0x116b0)
+ return false;
+ if (cp < 0x116b6)
+ return true;
+ if (cp === 0x116b6)
+ return true;
+ if (cp === 0x116b7)
+ return true;
+ if (cp < 0x116c0)
+ return false;
+ if (cp < 0x116ca)
+ return true;
+ if (cp < 0x1171d)
+ return false;
+ if (cp < 0x11720)
+ return true;
+ if (cp < 0x11720)
+ return false;
+ if (cp < 0x11722)
+ return true;
+ if (cp < 0x11722)
+ return false;
+ if (cp < 0x11726)
+ return true;
+ return false;
+ }
+ if (cp < 0x11d3f) {
+ if (cp < 0x11a98) {
+ if (cp < 0x11a39) {
+ if (cp === 0x11726)
+ return true;
+ if (cp < 0x11727)
+ return false;
+ if (cp < 0x1172c)
+ return true;
+ if (cp < 0x11730)
+ return false;
+ if (cp < 0x1173a)
+ return true;
+ if (cp < 0x118e0)
+ return false;
+ if (cp < 0x118ea)
+ return true;
+ if (cp < 0x11a01)
+ return false;
+ if (cp < 0x11a07)
+ return true;
+ if (cp < 0x11a07)
+ return false;
+ if (cp < 0x11a09)
+ return true;
+ if (cp < 0x11a09)
+ return false;
+ if (cp < 0x11a0b)
+ return true;
+ if (cp < 0x11a33)
+ return false;
+ if (cp < 0x11a39)
+ return true;
+ return false;
+ }
+ if (cp === 0x11a39)
+ return true;
+ if (cp < 0x11a3b)
+ return false;
+ if (cp < 0x11a3f)
+ return true;
+ if (cp === 0x11a47)
+ return true;
+ if (cp < 0x11a51)
+ return false;
+ if (cp < 0x11a57)
+ return true;
+ if (cp < 0x11a57)
+ return false;
+ if (cp < 0x11a59)
+ return true;
+ if (cp < 0x11a59)
+ return false;
+ if (cp < 0x11a5c)
+ return true;
+ if (cp < 0x11a8a)
+ return false;
+ if (cp < 0x11a97)
+ return true;
+ if (cp === 0x11a97)
+ return true;
+ return false;
+ }
+ if (cp < 0x11ca9) {
+ if (cp < 0x11a98)
+ return false;
+ if (cp < 0x11a9a)
+ return true;
+ if (cp === 0x11c2f)
+ return true;
+ if (cp < 0x11c30)
+ return false;
+ if (cp < 0x11c37)
+ return true;
+ if (cp < 0x11c38)
+ return false;
+ if (cp < 0x11c3e)
+ return true;
+ if (cp === 0x11c3e)
+ return true;
+ if (cp === 0x11c3f)
+ return true;
+ if (cp < 0x11c50)
+ return false;
+ if (cp < 0x11c5a)
+ return true;
+ if (cp < 0x11c92)
+ return false;
+ if (cp < 0x11ca8)
+ return true;
+ return false;
+ }
+ if (cp === 0x11ca9)
+ return true;
+ if (cp < 0x11caa)
+ return false;
+ if (cp < 0x11cb1)
+ return true;
+ if (cp === 0x11cb1)
+ return true;
+ if (cp < 0x11cb2)
+ return false;
+ if (cp < 0x11cb4)
+ return true;
+ if (cp === 0x11cb4)
+ return true;
+ if (cp < 0x11cb5)
+ return false;
+ if (cp < 0x11cb7)
+ return true;
+ if (cp < 0x11d31)
+ return false;
+ if (cp < 0x11d37)
+ return true;
+ if (cp === 0x11d3a)
+ return true;
+ if (cp < 0x11d3c)
+ return false;
+ if (cp < 0x11d3e)
+ return true;
+ return false;
+ }
+ if (cp < 0x1d242) {
+ if (cp < 0x16f8f) {
+ if (cp < 0x11d3f)
+ return false;
+ if (cp < 0x11d46)
+ return true;
+ if (cp === 0x11d47)
+ return true;
+ if (cp < 0x11d50)
+ return false;
+ if (cp < 0x11d5a)
+ return true;
+ if (cp < 0x16a60)
+ return false;
+ if (cp < 0x16a6a)
+ return true;
+ if (cp < 0x16af0)
+ return false;
+ if (cp < 0x16af5)
+ return true;
+ if (cp < 0x16b30)
+ return false;
+ if (cp < 0x16b37)
+ return true;
+ if (cp < 0x16b50)
+ return false;
+ if (cp < 0x16b5a)
+ return true;
+ if (cp < 0x16f51)
+ return false;
+ if (cp < 0x16f7f)
+ return true;
+ return false;
+ }
+ if (cp < 0x16f93)
+ return true;
+ if (cp < 0x1bc9d)
+ return false;
+ if (cp < 0x1bc9f)
+ return true;
+ if (cp < 0x1d165)
+ return false;
+ if (cp < 0x1d167)
+ return true;
+ if (cp < 0x1d167)
+ return false;
+ if (cp < 0x1d16a)
+ return true;
+ if (cp < 0x1d16d)
+ return false;
+ if (cp < 0x1d173)
+ return true;
+ if (cp < 0x1d17b)
+ return false;
+ if (cp < 0x1d183)
+ return true;
+ if (cp < 0x1d185)
+ return false;
+ if (cp < 0x1d18c)
+ return true;
+ if (cp < 0x1d1aa)
+ return false;
+ if (cp < 0x1d1ae)
+ return true;
+ return false;
+ }
+ if (cp < 0x1e000) {
+ if (cp < 0x1d242)
+ return false;
+ if (cp < 0x1d245)
+ return true;
+ if (cp < 0x1d7ce)
+ return false;
+ if (cp < 0x1d800)
+ return true;
+ if (cp < 0x1da00)
+ return false;
+ if (cp < 0x1da37)
+ return true;
+ if (cp < 0x1da3b)
+ return false;
+ if (cp < 0x1da6d)
+ return true;
+ if (cp === 0x1da75)
+ return true;
+ if (cp === 0x1da84)
+ return true;
+ if (cp < 0x1da9b)
+ return false;
+ if (cp < 0x1daa0)
+ return true;
+ if (cp < 0x1daa1)
+ return false;
+ if (cp < 0x1dab0)
+ return true;
+ return false;
+ }
+ if (cp < 0x1e007)
+ return true;
+ if (cp < 0x1e008)
+ return false;
+ if (cp < 0x1e019)
+ return true;
+ if (cp < 0x1e01b)
+ return false;
+ if (cp < 0x1e022)
+ return true;
+ if (cp < 0x1e023)
+ return false;
+ if (cp < 0x1e025)
+ return true;
+ if (cp < 0x1e026)
+ return false;
+ if (cp < 0x1e02b)
+ return true;
+ if (cp < 0x1e8d0)
+ return false;
+ if (cp < 0x1e8d7)
+ return true;
+ if (cp < 0x1e944)
+ return false;
+ if (cp < 0x1e94b)
+ return true;
+ if (cp < 0x1e950)
+ return false;
+ if (cp < 0x1e95a)
+ return true;
+ if (cp < 0xe0100)
+ return false;
+ if (cp < 0xe01f0)
+ return true;
+ return false;
+}
+
+var PropertyData = {
+ $LONE: new Set([
+ "ASCII",
+ "ASCII_Hex_Digit",
+ "AHex",
+ "Alphabetic",
+ "Alpha",
+ "Any",
+ "Assigned",
+ "Bidi_Control",
+ "Bidi_C",
+ "Bidi_Mirrored",
+ "Bidi_M",
+ "Case_Ignorable",
+ "CI",
+ "Cased",
+ "Changes_When_Casefolded",
+ "CWCF",
+ "Changes_When_Casemapped",
+ "CWCM",
+ "Changes_When_Lowercased",
+ "CWL",
+ "Changes_When_NFKC_Casefolded",
+ "CWKCF",
+ "Changes_When_Titlecased",
+ "CWT",
+ "Changes_When_Uppercased",
+ "CWU",
+ "Dash",
+ "Default_Ignorable_Code_Point",
+ "DI",
+ "Deprecated",
+ "Dep",
+ "Diacritic",
+ "Dia",
+ "Emoji",
+ "Emoji_Component",
+ "Emoji_Modifier",
+ "Emoji_Modifier_Base",
+ "Emoji_Presentation",
+ "Extender",
+ "Ext",
+ "Grapheme_Base",
+ "Gr_Base",
+ "Grapheme_Extend",
+ "Gr_Ext",
+ "Hex_Digit",
+ "Hex",
+ "IDS_Binary_Operator",
+ "IDSB",
+ "IDS_Trinary_Operator",
+ "IDST",
+ "ID_Continue",
+ "IDC",
+ "ID_Start",
+ "IDS",
+ "Ideographic",
+ "Ideo",
+ "Join_Control",
+ "Join_C",
+ "Logical_Order_Exception",
+ "LOE",
+ "Lowercase",
+ "Lower",
+ "Math",
+ "Noncharacter_Code_Point",
+ "NChar",
+ "Pattern_Syntax",
+ "Pat_Syn",
+ "Pattern_White_Space",
+ "Pat_WS",
+ "Quotation_Mark",
+ "QMark",
+ "Radical",
+ "Regional_Indicator",
+ "RI",
+ "Sentence_Terminal",
+ "STerm",
+ "Soft_Dotted",
+ "SD",
+ "Terminal_Punctuation",
+ "Term",
+ "Unified_Ideograph",
+ "UIdeo",
+ "Uppercase",
+ "Upper",
+ "Variation_Selector",
+ "VS",
+ "White_Space",
+ "space",
+ "XID_Continue",
+ "XIDC",
+ "XID_Start",
+ "XIDS",
+ ]),
+ General_Category: new Set([
+ "Cased_Letter",
+ "LC",
+ "Close_Punctuation",
+ "Pe",
+ "Connector_Punctuation",
+ "Pc",
+ "Control",
+ "Cc",
+ "cntrl",
+ "Currency_Symbol",
+ "Sc",
+ "Dash_Punctuation",
+ "Pd",
+ "Decimal_Number",
+ "Nd",
+ "digit",
+ "Enclosing_Mark",
+ "Me",
+ "Final_Punctuation",
+ "Pf",
+ "Format",
+ "Cf",
+ "Initial_Punctuation",
+ "Pi",
+ "Letter",
+ "L",
+ "Letter_Number",
+ "Nl",
+ "Line_Separator",
+ "Zl",
+ "Lowercase_Letter",
+ "Ll",
+ "Mark",
+ "M",
+ "Combining_Mark",
+ "Math_Symbol",
+ "Sm",
+ "Modifier_Letter",
+ "Lm",
+ "Modifier_Symbol",
+ "Sk",
+ "Nonspacing_Mark",
+ "Mn",
+ "Number",
+ "N",
+ "Open_Punctuation",
+ "Ps",
+ "Other",
+ "C",
+ "Other_Letter",
+ "Lo",
+ "Other_Number",
+ "No",
+ "Other_Punctuation",
+ "Po",
+ "Other_Symbol",
+ "So",
+ "Paragraph_Separator",
+ "Zp",
+ "Private_Use",
+ "Co",
+ "Punctuation",
+ "P",
+ "punct",
+ "Separator",
+ "Z",
+ "Space_Separator",
+ "Zs",
+ "Spacing_Mark",
+ "Mc",
+ "Surrogate",
+ "Cs",
+ "Symbol",
+ "S",
+ "Titlecase_Letter",
+ "Lt",
+ "Unassigned",
+ "Cn",
+ "Uppercase_Letter",
+ "Lu",
+ ]),
+ Script: new Set([
+ "Adlam",
+ "Adlm",
+ "Ahom",
+ "Anatolian_Hieroglyphs",
+ "Hluw",
+ "Arabic",
+ "Arab",
+ "Armenian",
+ "Armn",
+ "Avestan",
+ "Avst",
+ "Balinese",
+ "Bali",
+ "Bamum",
+ "Bamu",
+ "Bassa_Vah",
+ "Bass",
+ "Batak",
+ "Batk",
+ "Bengali",
+ "Beng",
+ "Bhaiksuki",
+ "Bhks",
+ "Bopomofo",
+ "Bopo",
+ "Brahmi",
+ "Brah",
+ "Braille",
+ "Brai",
+ "Buginese",
+ "Bugi",
+ "Buhid",
+ "Buhd",
+ "Canadian_Aboriginal",
+ "Cans",
+ "Carian",
+ "Cari",
+ "Caucasian_Albanian",
+ "Aghb",
+ "Chakma",
+ "Cakm",
+ "Cham",
+ "Cherokee",
+ "Cher",
+ "Common",
+ "Zyyy",
+ "Coptic",
+ "Copt",
+ "Qaac",
+ "Cuneiform",
+ "Xsux",
+ "Cypriot",
+ "Cprt",
+ "Cyrillic",
+ "Cyrl",
+ "Deseret",
+ "Dsrt",
+ "Devanagari",
+ "Deva",
+ "Duployan",
+ "Dupl",
+ "Egyptian_Hieroglyphs",
+ "Egyp",
+ "Elbasan",
+ "Elba",
+ "Ethiopic",
+ "Ethi",
+ "Georgian",
+ "Geor",
+ "Glagolitic",
+ "Glag",
+ "Gothic",
+ "Goth",
+ "Grantha",
+ "Gran",
+ "Greek",
+ "Grek",
+ "Gujarati",
+ "Gujr",
+ "Gurmukhi",
+ "Guru",
+ "Han",
+ "Hani",
+ "Hangul",
+ "Hang",
+ "Hanunoo",
+ "Hano",
+ "Hatran",
+ "Hatr",
+ "Hebrew",
+ "Hebr",
+ "Hiragana",
+ "Hira",
+ "Imperial_Aramaic",
+ "Armi",
+ "Inherited",
+ "Zinh",
+ "Qaai",
+ "Inscriptional_Pahlavi",
+ "Phli",
+ "Inscriptional_Parthian",
+ "Prti",
+ "Javanese",
+ "Java",
+ "Kaithi",
+ "Kthi",
+ "Kannada",
+ "Knda",
+ "Katakana",
+ "Kana",
+ "Kayah_Li",
+ "Kali",
+ "Kharoshthi",
+ "Khar",
+ "Khmer",
+ "Khmr",
+ "Khojki",
+ "Khoj",
+ "Khudawadi",
+ "Sind",
+ "Lao",
+ "Laoo",
+ "Latin",
+ "Latn",
+ "Lepcha",
+ "Lepc",
+ "Limbu",
+ "Limb",
+ "Linear_A",
+ "Lina",
+ "Linear_B",
+ "Linb",
+ "Lisu",
+ "Lycian",
+ "Lyci",
+ "Lydian",
+ "Lydi",
+ "Mahajani",
+ "Mahj",
+ "Malayalam",
+ "Mlym",
+ "Mandaic",
+ "Mand",
+ "Manichaean",
+ "Mani",
+ "Marchen",
+ "Marc",
+ "Masaram_Gondi",
+ "Gonm",
+ "Meetei_Mayek",
+ "Mtei",
+ "Mende_Kikakui",
+ "Mend",
+ "Meroitic_Cursive",
+ "Merc",
+ "Meroitic_Hieroglyphs",
+ "Mero",
+ "Miao",
+ "Plrd",
+ "Modi",
+ "Mongolian",
+ "Mong",
+ "Mro",
+ "Mroo",
+ "Multani",
+ "Mult",
+ "Myanmar",
+ "Mymr",
+ "Nabataean",
+ "Nbat",
+ "New_Tai_Lue",
+ "Talu",
+ "Newa",
+ "Nko",
+ "Nkoo",
+ "Nushu",
+ "Nshu",
+ "Ogham",
+ "Ogam",
+ "Ol_Chiki",
+ "Olck",
+ "Old_Hungarian",
+ "Hung",
+ "Old_Italic",
+ "Ital",
+ "Old_North_Arabian",
+ "Narb",
+ "Old_Permic",
+ "Perm",
+ "Old_Persian",
+ "Xpeo",
+ "Old_South_Arabian",
+ "Sarb",
+ "Old_Turkic",
+ "Orkh",
+ "Oriya",
+ "Orya",
+ "Osage",
+ "Osge",
+ "Osmanya",
+ "Osma",
+ "Pahawh_Hmong",
+ "Hmng",
+ "Palmyrene",
+ "Palm",
+ "Pau_Cin_Hau",
+ "Pauc",
+ "Phags_Pa",
+ "Phag",
+ "Phoenician",
+ "Phnx",
+ "Psalter_Pahlavi",
+ "Phlp",
+ "Rejang",
+ "Rjng",
+ "Runic",
+ "Runr",
+ "Samaritan",
+ "Samr",
+ "Saurashtra",
+ "Saur",
+ "Sharada",
+ "Shrd",
+ "Shavian",
+ "Shaw",
+ "Siddham",
+ "Sidd",
+ "SignWriting",
+ "Sgnw",
+ "Sinhala",
+ "Sinh",
+ "Sora_Sompeng",
+ "Sora",
+ "Soyombo",
+ "Soyo",
+ "Sundanese",
+ "Sund",
+ "Syloti_Nagri",
+ "Sylo",
+ "Syriac",
+ "Syrc",
+ "Tagalog",
+ "Tglg",
+ "Tagbanwa",
+ "Tagb",
+ "Tai_Le",
+ "Tale",
+ "Tai_Tham",
+ "Lana",
+ "Tai_Viet",
+ "Tavt",
+ "Takri",
+ "Takr",
+ "Tamil",
+ "Taml",
+ "Tangut",
+ "Tang",
+ "Telugu",
+ "Telu",
+ "Thaana",
+ "Thaa",
+ "Thai",
+ "Tibetan",
+ "Tibt",
+ "Tifinagh",
+ "Tfng",
+ "Tirhuta",
+ "Tirh",
+ "Ugaritic",
+ "Ugar",
+ "Vai",
+ "Vaii",
+ "Warang_Citi",
+ "Wara",
+ "Yi",
+ "Yiii",
+ "Zanabazar_Square",
+ "Zanb",
+ ]),
+};
+PropertyData.gc = PropertyData.General_Category;
+PropertyData.sc = PropertyData.Script_Extensions = PropertyData.scx =
+ PropertyData.Script;
+
+var Backspace = 0x08;
+var CharacterTabulation = 0x09;
+var LineFeed = 0x0a;
+var LineTabulation = 0x0b;
+var FormFeed = 0x0c;
+var CarriageReturn = 0x0d;
+var ExclamationMark = 0x21;
+var DollarSign = 0x24;
+var LeftParenthesis = 0x28;
+var RightParenthesis = 0x29;
+var Asterisk = 0x2a;
+var PlusSign = 0x2b;
+var Comma = 0x2c;
+var HyphenMinus = 0x2d;
+var FullStop = 0x2e;
+var Solidus = 0x2f;
+var DigitZero = 0x30;
+var DigitOne = 0x31;
+var DigitSeven = 0x37;
+var DigitNine = 0x39;
+var Colon = 0x3a;
+var LessThanSign = 0x3c;
+var EqualsSign = 0x3d;
+var GreaterThanSign = 0x3e;
+var QuestionMark = 0x3f;
+var LatinCapitalLetterA = 0x41;
+var LatinCapitalLetterB = 0x42;
+var LatinCapitalLetterD = 0x44;
+var LatinCapitalLetterF = 0x46;
+var LatinCapitalLetterP = 0x50;
+var LatinCapitalLetterS = 0x53;
+var LatinCapitalLetterW = 0x57;
+var LatinCapitalLetterZ = 0x5a;
+var LowLine = 0x5f;
+var LatinSmallLetterA = 0x61;
+var LatinSmallLetterB = 0x62;
+var LatinSmallLetterC = 0x63;
+var LatinSmallLetterD = 0x64;
+var LatinSmallLetterF = 0x66;
+var LatinSmallLetterG = 0x67;
+var LatinSmallLetterI = 0x69;
+var LatinSmallLetterK = 0x6b;
+var LatinSmallLetterM = 0x6d;
+var LatinSmallLetterN = 0x6e;
+var LatinSmallLetterP = 0x70;
+var LatinSmallLetterR = 0x72;
+var LatinSmallLetterS = 0x73;
+var LatinSmallLetterT = 0x74;
+var LatinSmallLetterU = 0x75;
+var LatinSmallLetterV = 0x76;
+var LatinSmallLetterW = 0x77;
+var LatinSmallLetterX = 0x78;
+var LatinSmallLetterY = 0x79;
+var LatinSmallLetterZ = 0x7a;
+var LeftSquareBracket = 0x5b;
+var ReverseSolidus = 0x5c;
+var RightSquareBracket = 0x5d;
+var CircumflexAccent = 0x5e;
+var LeftCurlyBracket = 0x7b;
+var VerticalLine = 0x7c;
+var RightCurlyBracket = 0x7d;
+var ZeroWidthNonJoiner = 0x200c;
+var ZeroWidthJoiner = 0x200d;
+var LineSeparator = 0x2028;
+var ParagraphSeparator = 0x2029;
+var MinCodePoint = 0x00;
+var MaxCodePoint = 0x10ffff;
+function isLatinLetter(code) {
+ return ((code >= LatinCapitalLetterA && code <= LatinCapitalLetterZ) ||
+ (code >= LatinSmallLetterA && code <= LatinSmallLetterZ));
+}
+function isDecimalDigit(code) {
+ return code >= DigitZero && code <= DigitNine;
+}
+function isOctalDigit(code) {
+ return code >= DigitZero && code <= DigitSeven;
+}
+function isHexDigit(code) {
+ return ((code >= DigitZero && code <= DigitNine) ||
+ (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) ||
+ (code >= LatinSmallLetterA && code <= LatinSmallLetterF));
+}
+function isLineTerminator(code) {
+ return (code === LineFeed ||
+ code === CarriageReturn ||
+ code === LineSeparator ||
+ code === ParagraphSeparator);
+}
+function isValidUnicode(code) {
+ return code >= MinCodePoint && code <= MaxCodePoint;
+}
+function digitToInt(code) {
+ if (code >= LatinSmallLetterA && code <= LatinSmallLetterF) {
+ return code - LatinSmallLetterA + 10;
+ }
+ if (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) {
+ return code - LatinCapitalLetterA + 10;
+ }
+ return code - DigitZero;
+}
+
+function isSyntaxCharacter(cp) {
+ return (cp === CircumflexAccent ||
+ cp === DollarSign ||
+ cp === ReverseSolidus ||
+ cp === FullStop ||
+ cp === Asterisk ||
+ cp === PlusSign ||
+ cp === QuestionMark ||
+ cp === LeftParenthesis ||
+ cp === RightParenthesis ||
+ cp === LeftSquareBracket ||
+ cp === RightSquareBracket ||
+ cp === LeftCurlyBracket ||
+ cp === RightCurlyBracket ||
+ cp === VerticalLine);
+}
+function isRegExpIdentifierStart(cp) {
+ return isIdStart(cp) || cp === DollarSign || cp === LowLine;
+}
+function isRegExpIdentifierPart(cp) {
+ return (isIdContinue(cp) ||
+ cp === DollarSign ||
+ cp === LowLine ||
+ cp === ZeroWidthNonJoiner ||
+ cp === ZeroWidthJoiner);
+}
+function isUnicodePropertyNameCharacter(cp) {
+ return isLatinLetter(cp) || cp === LowLine;
+}
+function isUnicodePropertyValueCharacter(cp) {
+ return isUnicodePropertyNameCharacter(cp) || isDecimalDigit(cp);
+}
+function isValidUnicodeProperty(name, value) {
+ return PropertyData.hasOwnProperty(name) && PropertyData[name].has(value);
+}
+function isValidUnicodePropertyName(name) {
+ return PropertyData.$LONE.has(name);
+}
+var RegExpValidator = (function () {
+ function RegExpValidator(options) {
+ this._reader = new Reader();
+ this._uFlag = false;
+ this._nFlag = false;
+ this._lastIntValue = 0;
+ this._lastMinValue = 0;
+ this._lastMaxValue = 0;
+ this._lastStrValue = "";
+ this._lastKeyValue = "";
+ this._lastValValue = "";
+ this._lastAssertionIsQuantifiable = false;
+ this._numCapturingParens = 0;
+ this._groupNames = new Set();
+ this._backreferenceNames = new Set();
+ this._options = options || {};
+ }
+ RegExpValidator.prototype.validateLiteral = function (source, start, end) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ this._uFlag = this._nFlag = false;
+ this.reset(source, start, end);
+ this.onLiteralEnter(start);
+ if (this.eat(Solidus) && this.eatRegExpBody() && this.eat(Solidus)) {
+ var flagStart = this.index;
+ var uFlag = source.indexOf("u", flagStart) !== -1;
+ this.validateFlags(source, flagStart, end);
+ this.validatePattern(source, start + 1, flagStart - 1, uFlag);
+ }
+ else if (start >= end) {
+ this.raise("Empty");
+ }
+ else {
+ var c = String.fromCodePoint(this.currentCodePoint);
+ this.raise("Unexpected character '" + c + "'");
+ }
+ this.onLiteralLeave(start, end);
+ };
+ RegExpValidator.prototype.validateFlags = function (source, start, end) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ var existingFlags = new Set();
+ var global = false;
+ var ignoreCase = false;
+ var multiline = false;
+ var sticky = false;
+ var unicode = false;
+ var dotAll = false;
+ for (var i = start; i < end; ++i) {
+ var flag = source.charCodeAt(i);
+ if (existingFlags.has(flag)) {
+ this.raise("Duplicated flag '" + source[i] + "'");
+ }
+ existingFlags.add(flag);
+ if (flag === LatinSmallLetterG) {
+ global = true;
+ }
+ else if (flag === LatinSmallLetterI) {
+ ignoreCase = true;
+ }
+ else if (flag === LatinSmallLetterM) {
+ multiline = true;
+ }
+ else if (flag === LatinSmallLetterU && this.ecmaVersion >= 2015) {
+ unicode = true;
+ }
+ else if (flag === LatinSmallLetterY && this.ecmaVersion >= 2015) {
+ sticky = true;
+ }
+ else if (flag === LatinSmallLetterS && this.ecmaVersion >= 2018) {
+ dotAll = true;
+ }
+ else {
+ this.raise("Invalid flag '" + source[i] + "'");
+ }
+ }
+ this.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll);
+ };
+ RegExpValidator.prototype.validatePattern = function (source, start, end, uFlag) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ if (uFlag === void 0) { uFlag = false; }
+ this._uFlag = uFlag && this.ecmaVersion >= 2015;
+ this._nFlag = uFlag && this.ecmaVersion >= 2018;
+ this.reset(source, start, end);
+ this.pattern();
+ if (!this._nFlag &&
+ this.ecmaVersion >= 2018 &&
+ this._groupNames.size > 0) {
+ this._nFlag = true;
+ this.rewind(start);
+ this.pattern();
+ }
+ };
+ Object.defineProperty(RegExpValidator.prototype, "strict", {
+ get: function () {
+ return Boolean(this._options.strict || this._uFlag);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "ecmaVersion", {
+ get: function () {
+ return this._options.ecmaVersion || 2018;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ RegExpValidator.prototype.onLiteralEnter = function (start) {
+ if (this._options.onLiteralEnter) {
+ this._options.onLiteralEnter(start);
+ }
+ };
+ RegExpValidator.prototype.onLiteralLeave = function (start, end) {
+ if (this._options.onLiteralLeave) {
+ this._options.onLiteralLeave(start, end);
+ }
+ };
+ RegExpValidator.prototype.onFlags = function (start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) {
+ if (this._options.onFlags) {
+ this._options.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll);
+ }
+ };
+ RegExpValidator.prototype.onPatternEnter = function (start) {
+ if (this._options.onPatternEnter) {
+ this._options.onPatternEnter(start);
+ }
+ };
+ RegExpValidator.prototype.onPatternLeave = function (start, end) {
+ if (this._options.onPatternLeave) {
+ this._options.onPatternLeave(start, end);
+ }
+ };
+ RegExpValidator.prototype.onDisjunctionEnter = function (start) {
+ if (this._options.onDisjunctionEnter) {
+ this._options.onDisjunctionEnter(start);
+ }
+ };
+ RegExpValidator.prototype.onDisjunctionLeave = function (start, end) {
+ if (this._options.onDisjunctionLeave) {
+ this._options.onDisjunctionLeave(start, end);
+ }
+ };
+ RegExpValidator.prototype.onAlternativeEnter = function (start, index) {
+ if (this._options.onAlternativeEnter) {
+ this._options.onAlternativeEnter(start, index);
+ }
+ };
+ RegExpValidator.prototype.onAlternativeLeave = function (start, end, index) {
+ if (this._options.onAlternativeLeave) {
+ this._options.onAlternativeLeave(start, end, index);
+ }
+ };
+ RegExpValidator.prototype.onGroupEnter = function (start) {
+ if (this._options.onGroupEnter) {
+ this._options.onGroupEnter(start);
+ }
+ };
+ RegExpValidator.prototype.onGroupLeave = function (start, end) {
+ if (this._options.onGroupLeave) {
+ this._options.onGroupLeave(start, end);
+ }
+ };
+ RegExpValidator.prototype.onCapturingGroupEnter = function (start, name) {
+ if (this._options.onCapturingGroupEnter) {
+ this._options.onCapturingGroupEnter(start, name);
+ }
+ };
+ RegExpValidator.prototype.onCapturingGroupLeave = function (start, end, name) {
+ if (this._options.onCapturingGroupLeave) {
+ this._options.onCapturingGroupLeave(start, end, name);
+ }
+ };
+ RegExpValidator.prototype.onQuantifier = function (start, end, min, max, greedy) {
+ if (this._options.onQuantifier) {
+ this._options.onQuantifier(start, end, min, max, greedy);
+ }
+ };
+ RegExpValidator.prototype.onLookaroundAssertionEnter = function (start, kind, negate) {
+ if (this._options.onLookaroundAssertionEnter) {
+ this._options.onLookaroundAssertionEnter(start, kind, negate);
+ }
+ };
+ RegExpValidator.prototype.onLookaroundAssertionLeave = function (start, end, kind, negate) {
+ if (this._options.onLookaroundAssertionLeave) {
+ this._options.onLookaroundAssertionLeave(start, end, kind, negate);
+ }
+ };
+ RegExpValidator.prototype.onEdgeAssertion = function (start, end, kind) {
+ if (this._options.onEdgeAssertion) {
+ this._options.onEdgeAssertion(start, end, kind);
+ }
+ };
+ RegExpValidator.prototype.onWordBoundaryAssertion = function (start, end, kind, negate) {
+ if (this._options.onWordBoundaryAssertion) {
+ this._options.onWordBoundaryAssertion(start, end, kind, negate);
+ }
+ };
+ RegExpValidator.prototype.onAnyCharacterSet = function (start, end, kind) {
+ if (this._options.onAnyCharacterSet) {
+ this._options.onAnyCharacterSet(start, end, kind);
+ }
+ };
+ RegExpValidator.prototype.onEscapeCharacterSet = function (start, end, kind, negate) {
+ if (this._options.onEscapeCharacterSet) {
+ this._options.onEscapeCharacterSet(start, end, kind, negate);
+ }
+ };
+ RegExpValidator.prototype.onUnicodePropertyCharacterSet = function (start, end, kind, key, value, negate) {
+ if (this._options.onUnicodePropertyCharacterSet) {
+ this._options.onUnicodePropertyCharacterSet(start, end, kind, key, value, negate);
+ }
+ };
+ RegExpValidator.prototype.onCharacter = function (start, end, value) {
+ if (this._options.onCharacter) {
+ this._options.onCharacter(start, end, value);
+ }
+ };
+ RegExpValidator.prototype.onBackreference = function (start, end, ref) {
+ if (this._options.onBackreference) {
+ this._options.onBackreference(start, end, ref);
+ }
+ };
+ RegExpValidator.prototype.onCharacterClassEnter = function (start, negate) {
+ if (this._options.onCharacterClassEnter) {
+ this._options.onCharacterClassEnter(start, negate);
+ }
+ };
+ RegExpValidator.prototype.onCharacterClassLeave = function (start, end, negate) {
+ if (this._options.onCharacterClassLeave) {
+ this._options.onCharacterClassLeave(start, end, negate);
+ }
+ };
+ RegExpValidator.prototype.onCharacterClassRange = function (start, end, min, max) {
+ if (this._options.onCharacterClassRange) {
+ this._options.onCharacterClassRange(start, end, min, max);
+ }
+ };
+ Object.defineProperty(RegExpValidator.prototype, "source", {
+ get: function () {
+ return this._reader.source;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "index", {
+ get: function () {
+ return this._reader.index;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "currentCodePoint", {
+ get: function () {
+ return this._reader.currentCodePoint;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "nextCodePoint", {
+ get: function () {
+ return this._reader.nextCodePoint;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "nextCodePoint2", {
+ get: function () {
+ return this._reader.nextCodePoint2;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpValidator.prototype, "nextCodePoint3", {
+ get: function () {
+ return this._reader.nextCodePoint3;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ RegExpValidator.prototype.reset = function (source, start, end) {
+ this._reader.reset(source, start, end, this._uFlag);
+ };
+ RegExpValidator.prototype.rewind = function (index) {
+ this._reader.rewind(index);
+ };
+ RegExpValidator.prototype.advance = function () {
+ this._reader.advance();
+ };
+ RegExpValidator.prototype.eat = function (cp) {
+ return this._reader.eat(cp);
+ };
+ RegExpValidator.prototype.eat2 = function (cp1, cp2) {
+ return this._reader.eat2(cp1, cp2);
+ };
+ RegExpValidator.prototype.eat3 = function (cp1, cp2, cp3) {
+ return this._reader.eat3(cp1, cp2, cp3);
+ };
+ RegExpValidator.prototype.raise = function (message) {
+ throw new RegExpSyntaxError(this.source, this._uFlag, this.index, message);
+ };
+ RegExpValidator.prototype.eatRegExpBody = function () {
+ var start = this.index;
+ var inClass = false;
+ var escaped = false;
+ for (;;) {
+ var cp = this.currentCodePoint;
+ if (cp === -1 || isLineTerminator(cp)) {
+ var kind = inClass ? "character class" : "regular expression";
+ this.raise("Unterminated " + kind);
+ }
+ if (escaped) {
+ escaped = false;
+ }
+ else if (cp === ReverseSolidus) {
+ escaped = true;
+ }
+ else if (cp === LeftSquareBracket) {
+ inClass = true;
+ }
+ else if (cp === RightSquareBracket) {
+ inClass = false;
+ }
+ else if ((cp === Solidus && !inClass) ||
+ (cp === Asterisk && this.index === start)) {
+ break;
+ }
+ this.advance();
+ }
+ return this.index !== start;
+ };
+ RegExpValidator.prototype.pattern = function () {
+ var _this = this;
+ var start = this.index;
+ this._numCapturingParens = this.countCapturingParens();
+ this._groupNames.clear();
+ this._backreferenceNames.clear();
+ this.onPatternEnter(start);
+ this.disjunction();
+ var cp = this.currentCodePoint;
+ if (this.currentCodePoint !== -1) {
+ if (cp === RightParenthesis) {
+ this.raise("Unmatched ')'");
+ }
+ if (cp === RightSquareBracket || cp === RightCurlyBracket) {
+ this.raise("Lone quantifier brackets");
+ }
+ var c = String.fromCodePoint(cp);
+ this.raise("Unexpected character '" + c + "'");
+ }
+ this._backreferenceNames.forEach(function (name) {
+ if (!_this._groupNames.has(name)) {
+ _this.raise("Invalid named capture referenced");
+ }
+ });
+ this.onPatternLeave(start, this.index);
+ };
+ RegExpValidator.prototype.countCapturingParens = function () {
+ var start = this.index;
+ var inClass = false;
+ var escaped = false;
+ var count = 0;
+ var cp = 0;
+ while ((cp = this.currentCodePoint) !== -1) {
+ if (escaped) {
+ escaped = false;
+ }
+ else if (cp === ReverseSolidus) {
+ escaped = true;
+ }
+ else if (cp === LeftSquareBracket) {
+ inClass = true;
+ }
+ else if (cp === RightSquareBracket) {
+ inClass = false;
+ }
+ else if (cp === LeftParenthesis &&
+ !inClass &&
+ (this.nextCodePoint !== QuestionMark ||
+ (this.nextCodePoint2 === LessThanSign &&
+ this.nextCodePoint3 !== EqualsSign &&
+ this.nextCodePoint3 !== ExclamationMark))) {
+ count += 1;
+ }
+ this.advance();
+ }
+ this.rewind(start);
+ return count;
+ };
+ RegExpValidator.prototype.disjunction = function () {
+ var start = this.index;
+ var i = 0;
+ this.onDisjunctionEnter(start);
+ this.alternative(i++);
+ while (this.eat(VerticalLine)) {
+ this.alternative(i++);
+ }
+ if (this.eatQuantifier(true)) {
+ this.raise("Nothing to repeat");
+ }
+ if (this.eat(LeftCurlyBracket)) {
+ this.raise("Lone quantifier brackets");
+ }
+ this.onDisjunctionLeave(start, this.index);
+ };
+ RegExpValidator.prototype.alternative = function (i) {
+ var start = this.index;
+ this.onAlternativeEnter(start, i);
+ while (this.currentCodePoint !== -1 && this.eatTerm())
+ ;
+ this.onAlternativeLeave(start, this.index, i);
+ };
+ RegExpValidator.prototype.eatTerm = function () {
+ if (this.eatAssertion()) {
+ if (this._lastAssertionIsQuantifiable) {
+ this.eatQuantifier();
+ }
+ return true;
+ }
+ if (this.strict ? this.eatAtom() : this.eatExtendedAtom()) {
+ this.eatQuantifier();
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatAssertion = function () {
+ var start = this.index;
+ this._lastAssertionIsQuantifiable = false;
+ if (this.eat(CircumflexAccent)) {
+ this.onEdgeAssertion(start, this.index, "start");
+ return true;
+ }
+ if (this.eat(DollarSign)) {
+ this.onEdgeAssertion(start, this.index, "end");
+ return true;
+ }
+ if (this.eat2(ReverseSolidus, LatinCapitalLetterB)) {
+ this.onWordBoundaryAssertion(start, this.index, "word", true);
+ return true;
+ }
+ if (this.eat2(ReverseSolidus, LatinSmallLetterB)) {
+ this.onWordBoundaryAssertion(start, this.index, "word", false);
+ return true;
+ }
+ if (this.eat2(LeftParenthesis, QuestionMark)) {
+ var lookbehind = this.ecmaVersion >= 2018 && this.eat(LessThanSign);
+ var negate = false;
+ if (this.eat(EqualsSign) || (negate = this.eat(ExclamationMark))) {
+ var kind = lookbehind ? "lookbehind" : "lookahead";
+ this.onLookaroundAssertionEnter(start, kind, negate);
+ this.disjunction();
+ if (!this.eat(RightParenthesis)) {
+ this.raise("Unterminated group");
+ }
+ this._lastAssertionIsQuantifiable = !lookbehind && !this.strict;
+ this.onLookaroundAssertionLeave(start, this.index, kind, negate);
+ return true;
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatQuantifier = function (noError) {
+ if (noError === void 0) { noError = false; }
+ var start = this.index;
+ var min = 0;
+ var max = 0;
+ var greedy = false;
+ if (this.eat(Asterisk)) {
+ min = 0;
+ max = Number.POSITIVE_INFINITY;
+ }
+ else if (this.eat(PlusSign)) {
+ min = 1;
+ max = Number.POSITIVE_INFINITY;
+ }
+ else if (this.eat(QuestionMark)) {
+ min = 0;
+ max = 1;
+ }
+ else if (this.eatBracedQuantifier(noError)) {
+ min = this._lastMinValue;
+ max = this._lastMaxValue;
+ }
+ else {
+ return false;
+ }
+ greedy = !this.eat(QuestionMark);
+ if (!noError) {
+ this.onQuantifier(start, this.index, min, max, greedy);
+ }
+ return true;
+ };
+ RegExpValidator.prototype.eatBracedQuantifier = function (noError) {
+ var start = this.index;
+ if (this.eat(LeftCurlyBracket)) {
+ this._lastMinValue = 0;
+ this._lastMaxValue = Number.POSITIVE_INFINITY;
+ if (this.eatDecimalDigits()) {
+ this._lastMinValue = this._lastMaxValue = this._lastIntValue;
+ if (this.eat(Comma)) {
+ this._lastMaxValue = this.eatDecimalDigits()
+ ? this._lastIntValue
+ : Number.POSITIVE_INFINITY;
+ }
+ if (this.eat(RightCurlyBracket)) {
+ if (!noError && this._lastMaxValue < this._lastMinValue) {
+ this.raise("numbers out of order in {} quantifier");
+ }
+ return true;
+ }
+ }
+ if (!noError && this.strict) {
+ this.raise("Incomplete quantifier");
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatAtom = function () {
+ return (this.eatPatternCharacter() ||
+ this.eatDot() ||
+ this.eatReverseSolidusAtomEscape() ||
+ this.eatCharacterClass() ||
+ this.eatUncapturingGroup() ||
+ this.eatCapturingGroup());
+ };
+ RegExpValidator.prototype.eatDot = function () {
+ if (this.eat(FullStop)) {
+ this.onAnyCharacterSet(this.index - 1, this.index, "any");
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatReverseSolidusAtomEscape = function () {
+ var start = this.index;
+ if (this.eat(ReverseSolidus)) {
+ if (this.eatAtomEscape()) {
+ return true;
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatUncapturingGroup = function () {
+ var start = this.index;
+ if (this.eat3(LeftParenthesis, QuestionMark, Colon)) {
+ this.onGroupEnter(start);
+ this.disjunction();
+ if (!this.eat(RightParenthesis)) {
+ this.raise("Unterminated group");
+ }
+ this.onGroupLeave(start, this.index);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatCapturingGroup = function () {
+ var start = this.index;
+ if (this.eat(LeftParenthesis)) {
+ this._lastStrValue = "";
+ if (this.ecmaVersion >= 2018) {
+ this.groupSpecifier();
+ }
+ else if (this.currentCodePoint === QuestionMark) {
+ this.raise("Invalid group");
+ }
+ var name = this._lastStrValue || null;
+ this.onCapturingGroupEnter(start, name);
+ this.disjunction();
+ if (!this.eat(RightParenthesis)) {
+ this.raise("Unterminated group");
+ }
+ this.onCapturingGroupLeave(start, this.index, name);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatExtendedAtom = function () {
+ return (this.eatDot() ||
+ this.eatReverseSolidusAtomEscape() ||
+ this.eatCharacterClass() ||
+ this.eatUncapturingGroup() ||
+ this.eatCapturingGroup() ||
+ this.eatInvalidBracedQuantifier() ||
+ this.eatExtendedPatternCharacter());
+ };
+ RegExpValidator.prototype.eatInvalidBracedQuantifier = function () {
+ if (this.eatBracedQuantifier(true)) {
+ this.raise("Nothing to repeat");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatSyntaxCharacter = function () {
+ if (isSyntaxCharacter(this.currentCodePoint)) {
+ this._lastIntValue = this.currentCodePoint;
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatPatternCharacter = function () {
+ var start = this.index;
+ var cp = this.currentCodePoint;
+ if (cp !== -1 && !isSyntaxCharacter(cp)) {
+ this.advance();
+ this.onCharacter(start, this.index, cp);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatExtendedPatternCharacter = function () {
+ var start = this.index;
+ var cp = this.currentCodePoint;
+ if (cp !== -1 &&
+ cp !== CircumflexAccent &&
+ cp !== DollarSign &&
+ cp !== FullStop &&
+ cp !== Asterisk &&
+ cp !== PlusSign &&
+ cp !== QuestionMark &&
+ cp !== LeftParenthesis &&
+ cp !== RightParenthesis &&
+ cp !== LeftSquareBracket &&
+ cp !== VerticalLine) {
+ this.advance();
+ this.onCharacter(start, this.index, cp);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.groupSpecifier = function () {
+ this._lastStrValue = "";
+ if (this.eat(QuestionMark)) {
+ if (this.eatGroupName()) {
+ if (!this._groupNames.has(this._lastStrValue)) {
+ this._groupNames.add(this._lastStrValue);
+ return;
+ }
+ this.raise("Duplicate capture group name");
+ }
+ this.raise("Invalid group");
+ }
+ };
+ RegExpValidator.prototype.eatGroupName = function () {
+ this._lastStrValue = "";
+ if (this.eat(LessThanSign)) {
+ if (this.eatRegExpIdentifierName() && this.eat(GreaterThanSign)) {
+ return true;
+ }
+ this.raise("Invalid capture group name");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatRegExpIdentifierName = function () {
+ this._lastStrValue = "";
+ if (this.eatRegExpIdentifierStart()) {
+ this._lastStrValue += String.fromCodePoint(this._lastIntValue);
+ while (this.eatRegExpIdentifierPart()) {
+ this._lastStrValue += String.fromCodePoint(this._lastIntValue);
+ }
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatRegExpIdentifierStart = function () {
+ var start = this.index;
+ var cp = this.currentCodePoint;
+ this.advance();
+ if (cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence()) {
+ cp = this._lastIntValue;
+ }
+ if (isRegExpIdentifierStart(cp)) {
+ this._lastIntValue = cp;
+ return true;
+ }
+ if (this.index !== start) {
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatRegExpIdentifierPart = function () {
+ var start = this.index;
+ var cp = this.currentCodePoint;
+ this.advance();
+ if (cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence()) {
+ cp = this._lastIntValue;
+ }
+ if (isRegExpIdentifierPart(cp)) {
+ this._lastIntValue = cp;
+ return true;
+ }
+ if (this.index !== start) {
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatAtomEscape = function () {
+ if (this.eatBackreference() ||
+ this.eatCharacterClassEscape() ||
+ this.eatCharacterEscape() ||
+ (this._nFlag && this.eatKGroupName())) {
+ return true;
+ }
+ if (this.strict || this._uFlag) {
+ this.raise("Invalid escape");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatBackreference = function () {
+ var start = this.index;
+ if (this.eatDecimalEscape()) {
+ var n = this._lastIntValue;
+ if (n <= this._numCapturingParens) {
+ this.onBackreference(start - 1, this.index, n);
+ return true;
+ }
+ if (this.strict) {
+ this.raise("Invalid escape");
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatKGroupName = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterK)) {
+ if (this.eatGroupName()) {
+ var groupName = this._lastStrValue;
+ this._backreferenceNames.add(groupName);
+ this.onBackreference(start - 1, this.index, groupName);
+ return true;
+ }
+ this.raise("Invalid named reference");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatCharacterEscape = function () {
+ var start = this.index;
+ if (this.eatControlEscape() ||
+ this.eatCControlLetter() ||
+ this.eatZero() ||
+ this.eatHexEscapeSequence() ||
+ this.eatRegExpUnicodeEscapeSequence() ||
+ (!this.strict && this.eatLegacyOctalEscapeSequence()) ||
+ this.eatIdentityEscape()) {
+ this.onCharacter(start - 1, this.index, this._lastIntValue);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatCControlLetter = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterC)) {
+ if (this.eatControlLetter()) {
+ return true;
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatZero = function () {
+ if (this.currentCodePoint === DigitZero &&
+ !isDecimalDigit(this.nextCodePoint)) {
+ this._lastIntValue = 0;
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatControlEscape = function () {
+ if (this.eat(LatinSmallLetterT)) {
+ this._lastIntValue = CharacterTabulation;
+ return true;
+ }
+ if (this.eat(LatinSmallLetterN)) {
+ this._lastIntValue = LineFeed;
+ return true;
+ }
+ if (this.eat(LatinSmallLetterV)) {
+ this._lastIntValue = LineTabulation;
+ return true;
+ }
+ if (this.eat(LatinSmallLetterF)) {
+ this._lastIntValue = FormFeed;
+ return true;
+ }
+ if (this.eat(LatinSmallLetterR)) {
+ this._lastIntValue = CarriageReturn;
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatControlLetter = function () {
+ var cp = this.currentCodePoint;
+ if (isLatinLetter(cp)) {
+ this.advance();
+ this._lastIntValue = cp % 0x20;
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatRegExpUnicodeEscapeSequence = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterU)) {
+ if (this.eatFixedHexDigits(4)) {
+ var lead = this._lastIntValue;
+ if (this._uFlag && lead >= 0xd800 && lead <= 0xdbff) {
+ var leadSurrogateEnd = this.index;
+ if (this.eat(ReverseSolidus) &&
+ this.eat(LatinSmallLetterU) &&
+ this.eatFixedHexDigits(4)) {
+ var trail = this._lastIntValue;
+ if (trail >= 0xdc00 && trail <= 0xdfff) {
+ this._lastIntValue =
+ (lead - 0xd800) * 0x400 +
+ (trail - 0xdc00) +
+ 0x10000;
+ return true;
+ }
+ }
+ this.rewind(leadSurrogateEnd);
+ this._lastIntValue = lead;
+ }
+ return true;
+ }
+ if (this._uFlag &&
+ this.eat(LeftCurlyBracket) &&
+ this.eatHexDigits() &&
+ this.eat(RightCurlyBracket) &&
+ isValidUnicode(this._lastIntValue)) {
+ return true;
+ }
+ if (this.strict || this._uFlag) {
+ this.raise("Invalid unicode escape");
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatIdentityEscape = function () {
+ if (this._uFlag) {
+ if (this.eatSyntaxCharacter()) {
+ return true;
+ }
+ if (this.eat(Solidus)) {
+ this._lastIntValue = Solidus;
+ return true;
+ }
+ return false;
+ }
+ if (this.isValidIdentityEscape(this.currentCodePoint)) {
+ this._lastIntValue = this.currentCodePoint;
+ this.advance();
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.isValidIdentityEscape = function (cp) {
+ if (cp === -1) {
+ return false;
+ }
+ if (this.strict) {
+ return !isIdContinue(cp);
+ }
+ return (cp !== LatinSmallLetterC &&
+ (!this._nFlag || cp !== LatinSmallLetterK));
+ };
+ RegExpValidator.prototype.eatDecimalEscape = function () {
+ this._lastIntValue = 0;
+ var cp = this.currentCodePoint;
+ if (cp >= DigitOne && cp <= DigitNine) {
+ do {
+ this._lastIntValue = 10 * this._lastIntValue + (cp - DigitZero);
+ this.advance();
+ } while ((cp = this.currentCodePoint) >= DigitZero &&
+ cp <= DigitNine);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatCharacterClassEscape = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterD)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "digit", false);
+ return true;
+ }
+ if (this.eat(LatinCapitalLetterD)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "digit", true);
+ return true;
+ }
+ if (this.eat(LatinSmallLetterS)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "space", false);
+ return true;
+ }
+ if (this.eat(LatinCapitalLetterS)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "space", true);
+ return true;
+ }
+ if (this.eat(LatinSmallLetterW)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "word", false);
+ return true;
+ }
+ if (this.eat(LatinCapitalLetterW)) {
+ this._lastIntValue = -1;
+ this.onEscapeCharacterSet(start - 1, this.index, "word", true);
+ return true;
+ }
+ var negate = false;
+ if (this._uFlag &&
+ this.ecmaVersion >= 2018 &&
+ (this.eat(LatinSmallLetterP) ||
+ (negate = this.eat(LatinCapitalLetterP)))) {
+ this._lastIntValue = -1;
+ if (this.eat(LeftCurlyBracket) &&
+ this.eatUnicodePropertyValueExpression() &&
+ this.eat(RightCurlyBracket)) {
+ this.onUnicodePropertyCharacterSet(start - 1, this.index, "property", this._lastKeyValue, this._lastValValue || null, negate);
+ return true;
+ }
+ this.raise("Invalid property name");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatUnicodePropertyValueExpression = function () {
+ var start = this.index;
+ if (this.eatUnicodePropertyName() && this.eat(EqualsSign)) {
+ this._lastKeyValue = this._lastStrValue;
+ if (this.eatUnicodePropertyValue()) {
+ this._lastValValue = this._lastStrValue;
+ if (isValidUnicodeProperty(this._lastKeyValue, this._lastValValue)) {
+ return true;
+ }
+ this.raise("Invalid property name");
+ }
+ }
+ this.rewind(start);
+ if (this.eatLoneUnicodePropertyNameOrValue()) {
+ var nameOrValue = this._lastStrValue;
+ if (isValidUnicodeProperty("General_Category", nameOrValue)) {
+ this._lastKeyValue = "General_Category";
+ this._lastValValue = nameOrValue;
+ return true;
+ }
+ if (isValidUnicodePropertyName(nameOrValue)) {
+ this._lastKeyValue = nameOrValue;
+ this._lastValValue = "";
+ return true;
+ }
+ this.raise("Invalid property name");
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatUnicodePropertyName = function () {
+ this._lastStrValue = "";
+ while (isUnicodePropertyNameCharacter(this.currentCodePoint)) {
+ this._lastStrValue += String.fromCodePoint(this.currentCodePoint);
+ this.advance();
+ }
+ return this._lastStrValue !== "";
+ };
+ RegExpValidator.prototype.eatUnicodePropertyValue = function () {
+ this._lastStrValue = "";
+ while (isUnicodePropertyValueCharacter(this.currentCodePoint)) {
+ this._lastStrValue += String.fromCodePoint(this.currentCodePoint);
+ this.advance();
+ }
+ return this._lastStrValue !== "";
+ };
+ RegExpValidator.prototype.eatLoneUnicodePropertyNameOrValue = function () {
+ return this.eatUnicodePropertyValue();
+ };
+ RegExpValidator.prototype.eatCharacterClass = function () {
+ var start = this.index;
+ if (this.eat(LeftSquareBracket)) {
+ var negate = this.eat(CircumflexAccent);
+ this.onCharacterClassEnter(start, negate);
+ this.classRanges();
+ if (!this.eat(RightSquareBracket)) {
+ this.raise("Unterminated character class");
+ }
+ this.onCharacterClassLeave(start, this.index, negate);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.classRanges = function () {
+ var start = this.index;
+ while (this.eatClassAtom()) {
+ var left = this._lastIntValue;
+ var hyphenStart = this.index;
+ if (this.eat(HyphenMinus)) {
+ this.onCharacter(hyphenStart, this.index, HyphenMinus);
+ if (this.eatClassAtom()) {
+ var right = this._lastIntValue;
+ if (left === -1 || right === -1) {
+ if (this.strict) {
+ this.raise("Invalid character class");
+ }
+ }
+ else if (left > right) {
+ this.raise("Range out of order in character class");
+ }
+ else {
+ this.onCharacterClassRange(start, this.index, left, right);
+ }
+ }
+ }
+ start = this.index;
+ }
+ };
+ RegExpValidator.prototype.eatClassAtom = function () {
+ var start = this.index;
+ if (this.eat(ReverseSolidus)) {
+ if (this.eatClassEscape()) {
+ return true;
+ }
+ if (this._uFlag) {
+ this.raise("Invalid escape");
+ }
+ this.rewind(start);
+ }
+ var cp = this.currentCodePoint;
+ if (cp !== -1 && cp !== RightSquareBracket) {
+ this.advance();
+ this._lastIntValue = cp;
+ this.onCharacter(start, this.index, cp);
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatClassEscape = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterB)) {
+ this._lastIntValue = Backspace;
+ this.onCharacter(start - 1, this.index, Backspace);
+ return true;
+ }
+ if (this._uFlag && this.eat(HyphenMinus)) {
+ this._lastIntValue = HyphenMinus;
+ this.onCharacter(start - 1, this.index, HyphenMinus);
+ return true;
+ }
+ if (!this._uFlag && this.eat(LatinSmallLetterC)) {
+ if (this.eatClassControlLetter()) {
+ this.onCharacter(start - 1, this.index, this._lastIntValue);
+ return true;
+ }
+ this.rewind(start);
+ }
+ return this.eatCharacterClassEscape() || this.eatCharacterEscape();
+ };
+ RegExpValidator.prototype.eatClassControlLetter = function () {
+ var cp = this.currentCodePoint;
+ if (isDecimalDigit(cp) || cp === LowLine) {
+ this.advance();
+ this._lastIntValue = cp % 0x20;
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatHexEscapeSequence = function () {
+ var start = this.index;
+ if (this.eat(LatinSmallLetterX)) {
+ if (this.eatFixedHexDigits(2)) {
+ return true;
+ }
+ if (this._uFlag) {
+ this.raise("Invalid escape");
+ }
+ this.rewind(start);
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatDecimalDigits = function () {
+ var start = this.index;
+ this._lastIntValue = 0;
+ while (isDecimalDigit(this.currentCodePoint)) {
+ this._lastIntValue =
+ 10 * this._lastIntValue + digitToInt(this.currentCodePoint);
+ this.advance();
+ }
+ return this.index !== start;
+ };
+ RegExpValidator.prototype.eatHexDigits = function () {
+ var start = this.index;
+ this._lastIntValue = 0;
+ while (isHexDigit(this.currentCodePoint)) {
+ this._lastIntValue =
+ 16 * this._lastIntValue + digitToInt(this.currentCodePoint);
+ this.advance();
+ }
+ return this.index !== start;
+ };
+ RegExpValidator.prototype.eatLegacyOctalEscapeSequence = function () {
+ if (this.eatOctalDigit()) {
+ var n1 = this._lastIntValue;
+ if (this.eatOctalDigit()) {
+ var n2 = this._lastIntValue;
+ if (n1 <= 3 && this.eatOctalDigit()) {
+ this._lastIntValue = n1 * 64 + n2 * 8 + this._lastIntValue;
+ }
+ else {
+ this._lastIntValue = n1 * 8 + n2;
+ }
+ }
+ else {
+ this._lastIntValue = n1;
+ }
+ return true;
+ }
+ return false;
+ };
+ RegExpValidator.prototype.eatOctalDigit = function () {
+ var cp = this.currentCodePoint;
+ if (isOctalDigit(cp)) {
+ this.advance();
+ this._lastIntValue = cp - DigitZero;
+ return true;
+ }
+ this._lastIntValue = 0;
+ return false;
+ };
+ RegExpValidator.prototype.eatFixedHexDigits = function (length) {
+ var start = this.index;
+ this._lastIntValue = 0;
+ for (var i = 0; i < length; ++i) {
+ var cp = this.currentCodePoint;
+ if (!isHexDigit(cp)) {
+ this.rewind(start);
+ return false;
+ }
+ this._lastIntValue = 16 * this._lastIntValue + digitToInt(cp);
+ this.advance();
+ }
+ return true;
+ };
+ return RegExpValidator;
+}());
+
+var DummyPattern = {};
+var DummyFlags = {};
+var DummyCapturingGroup = {};
+function elementsToAlternative(elements, parent) {
+ for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
+ var element = elements_1[_i];
+ assert(element.type !== "Disjunction");
+ element.parent = parent;
+ }
+ return elements;
+}
+function addAlternativeElement(parent, node) {
+ if (parent.type === "Disjunction") {
+ last(parent.alternatives).push(node);
+ }
+ else {
+ parent.elements.push(node);
+ }
+}
+function addCommonElement(parent, node) {
+ if (parent.type === "Disjunction") {
+ last(parent.alternatives).push(node);
+ }
+ else if (parent.type === "CharacterClass") {
+ parent.elements.push(node);
+ }
+ else {
+ parent.elements.push(node);
+ }
+}
+var RegExpParserState = (function () {
+ function RegExpParserState(options) {
+ this._node = DummyPattern;
+ this._flags = DummyFlags;
+ this._disjunctionStartStack = [];
+ this._backreferences = [];
+ this._capturingGroups = [];
+ this.source = "";
+ this.strict = Boolean(options && options.strict);
+ this.ecmaVersion = (options && options.ecmaVersion) || 2018;
+ }
+ Object.defineProperty(RegExpParserState.prototype, "pattern", {
+ get: function () {
+ if (this._node.type !== "Pattern") {
+ throw new Error("UnknownError");
+ }
+ return this._node;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RegExpParserState.prototype, "flags", {
+ get: function () {
+ if (this._flags.type !== "Flags") {
+ throw new Error("UnknownError");
+ }
+ return this._flags;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ RegExpParserState.prototype.onFlags = function (start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) {
+ this._flags = {
+ type: "Flags",
+ parent: null,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ global: global,
+ ignoreCase: ignoreCase,
+ multiline: multiline,
+ unicode: unicode,
+ sticky: sticky,
+ dotAll: dotAll,
+ };
+ };
+ RegExpParserState.prototype.onPatternEnter = function (start) {
+ this._node = {
+ type: "Pattern",
+ parent: null,
+ start: start,
+ end: start,
+ raw: "",
+ elements: [],
+ };
+ this._backreferences.length = 0;
+ this._capturingGroups.length = 0;
+ };
+ RegExpParserState.prototype.onPatternLeave = function (start, end) {
+ this._node.end = end;
+ this._node.raw = this.source.slice(start, end);
+ var _loop_1 = function (reference) {
+ var ref = reference.ref;
+ var group = typeof ref === "number"
+ ? this_1._capturingGroups[ref - 1]
+ : this_1._capturingGroups.find(function (g) { return g.name === ref; });
+ reference.resolved = group;
+ group.references.push(reference);
+ };
+ var this_1 = this;
+ for (var _i = 0, _a = this._backreferences; _i < _a.length; _i++) {
+ var reference = _a[_i];
+ _loop_1(reference);
+ }
+ };
+ RegExpParserState.prototype.onDisjunctionEnter = function (start) {
+ this._disjunctionStartStack.push(start);
+ };
+ RegExpParserState.prototype.onDisjunctionLeave = function (start, end) {
+ this._disjunctionStartStack.pop();
+ };
+ RegExpParserState.prototype.onAlternativeEnter = function (start, index) {
+ if (index === 0) {
+ return;
+ }
+ var parentNode = this._node;
+ if (parentNode.type === "Disjunction" ||
+ parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ var prevNode = last(parentNode.elements);
+ if (prevNode != null && prevNode.type === "Disjunction") {
+ this._node = prevNode;
+ prevNode.alternatives.push([]);
+ }
+ else {
+ this._node = {
+ type: "Disjunction",
+ parent: parentNode,
+ start: last(this._disjunctionStartStack),
+ end: start,
+ raw: "",
+ alternatives: [],
+ };
+ var elements = elementsToAlternative(parentNode.elements, this._node);
+ this._node.alternatives.push(elements, []);
+ parentNode.elements = [this._node];
+ }
+ };
+ RegExpParserState.prototype.onAlternativeLeave = function (start, end, index) {
+ if (index === 0) {
+ return;
+ }
+ this._node.end = end;
+ this._node.raw = this.source.slice(this._node.start, end);
+ this._node = this._node.parent;
+ };
+ RegExpParserState.prototype.onGroupEnter = function (start) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ this._node = {
+ type: "Group",
+ parent: parentNode,
+ start: start,
+ end: start,
+ raw: "",
+ elements: [],
+ };
+ addAlternativeElement(parentNode, this._node);
+ };
+ RegExpParserState.prototype.onGroupLeave = function (start, end) {
+ this._node.end = end;
+ this._node.raw = this.source.slice(start, end);
+ this._node = this._node.parent;
+ };
+ RegExpParserState.prototype.onCapturingGroupEnter = function (start, name) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ this._node = {
+ type: "CapturingGroup",
+ parent: parentNode,
+ start: start,
+ end: start,
+ raw: "",
+ name: name,
+ elements: [],
+ references: [],
+ };
+ addAlternativeElement(parentNode, this._node);
+ this._capturingGroups.push(this._node);
+ };
+ RegExpParserState.prototype.onCapturingGroupLeave = function (start, end, name) {
+ this._node.end = end;
+ this._node.raw = this.source.slice(start, end);
+ this._node = this._node.parent;
+ };
+ RegExpParserState.prototype.onQuantifier = function (start, end, min, max, greedy) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ var elements = parentNode.type === "Disjunction"
+ ? last(parentNode.alternatives)
+ : parentNode.elements;
+ var prevNode = elements.pop();
+ var node = {
+ type: "Quantifier",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ min: min,
+ max: max,
+ greedy: greedy,
+ element: prevNode,
+ };
+ elements.push(node);
+ prevNode.parent = node;
+ };
+ RegExpParserState.prototype.onLookaroundAssertionEnter = function (start, kind, negate) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ this._node = {
+ type: "Assertion",
+ parent: parentNode,
+ start: start,
+ end: start,
+ raw: "",
+ kind: kind,
+ negate: negate,
+ elements: [],
+ };
+ addAlternativeElement(parentNode, this._node);
+ };
+ RegExpParserState.prototype.onLookaroundAssertionLeave = function (start, end, kind, negate) {
+ this._node.end = end;
+ this._node.raw = this.source.slice(start, end);
+ this._node = this._node.parent;
+ };
+ RegExpParserState.prototype.onEdgeAssertion = function (start, end, kind) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ addAlternativeElement(parentNode, {
+ type: "Assertion",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ kind: kind,
+ });
+ };
+ RegExpParserState.prototype.onWordBoundaryAssertion = function (start, end, kind, negate) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ addAlternativeElement(parentNode, {
+ type: "Assertion",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ kind: kind,
+ negate: negate,
+ });
+ };
+ RegExpParserState.prototype.onAnyCharacterSet = function (start, end, kind) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ addAlternativeElement(parentNode, {
+ type: "CharacterSet",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ kind: kind,
+ });
+ };
+ RegExpParserState.prototype.onEscapeCharacterSet = function (start, end, kind, negate) {
+ addCommonElement(this._node, {
+ type: "CharacterSet",
+ parent: this._node,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ kind: kind,
+ negate: negate,
+ });
+ };
+ RegExpParserState.prototype.onUnicodePropertyCharacterSet = function (start, end, kind, key, value, negate) {
+ addCommonElement(this._node, {
+ type: "CharacterSet",
+ parent: this._node,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ kind: kind,
+ key: key,
+ value: value,
+ negate: negate,
+ });
+ };
+ RegExpParserState.prototype.onCharacter = function (start, end, value) {
+ addCommonElement(this._node, {
+ type: "Character",
+ parent: this._node,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ value: value,
+ });
+ };
+ RegExpParserState.prototype.onBackreference = function (start, end, ref) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ var node = {
+ type: "Backreference",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ ref: ref,
+ resolved: DummyCapturingGroup,
+ };
+ addAlternativeElement(parentNode, node);
+ this._backreferences.push(node);
+ };
+ RegExpParserState.prototype.onCharacterClassEnter = function (start, negate) {
+ var parentNode = this._node;
+ if (parentNode.type === "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ this._node = {
+ type: "CharacterClass",
+ parent: parentNode,
+ start: start,
+ end: start,
+ raw: "",
+ negate: negate,
+ elements: [],
+ };
+ addAlternativeElement(parentNode, this._node);
+ };
+ RegExpParserState.prototype.onCharacterClassLeave = function (start, end, negate) {
+ this._node.end = end;
+ this._node.raw = this.source.slice(start, end);
+ this._node = this._node.parent;
+ };
+ RegExpParserState.prototype.onCharacterClassRange = function (start, end, min, max) {
+ var parentNode = this._node;
+ if (parentNode.type !== "CharacterClass") {
+ throw new Error("UnknownError");
+ }
+ var elements = parentNode.elements;
+ var rightNode = elements.pop();
+ elements.pop();
+ var leftNode = elements.pop();
+ var node = {
+ type: "CharacterClassRange",
+ parent: parentNode,
+ start: start,
+ end: end,
+ raw: this.source.slice(start, end),
+ min: leftNode,
+ max: rightNode,
+ };
+ assert(leftNode != null && leftNode.type === "Character");
+ assert(rightNode != null && rightNode.type === "Character");
+ leftNode.parent = node;
+ rightNode.parent = node;
+ elements.push(node);
+ };
+ return RegExpParserState;
+}());
+var RegExpParser = (function () {
+ function RegExpParser(options) {
+ this._state = new RegExpParserState(options);
+ this._validator = new RegExpValidator(this._state);
+ }
+ RegExpParser.prototype.parseLiteral = function (source, start, end) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ this._state.source = source;
+ this._validator.validateLiteral(source, start, end);
+ var pattern = this._state.pattern;
+ var flags = this._state.flags;
+ var literal = {
+ type: "RegExpLiteral",
+ parent: null,
+ start: start,
+ end: end,
+ raw: source,
+ pattern: pattern,
+ flags: flags,
+ };
+ pattern.parent = literal;
+ flags.parent = literal;
+ return literal;
+ };
+ RegExpParser.prototype.parseFlags = function (source, start, end) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ this._state.source = source;
+ this._validator.validateFlags(source, start, end);
+ return this._state.flags;
+ };
+ RegExpParser.prototype.parsePattern = function (source, start, end, uFlag) {
+ if (start === void 0) { start = 0; }
+ if (end === void 0) { end = source.length; }
+ if (uFlag === void 0) { uFlag = false; }
+ this._state.source = source;
+ this._validator.validatePattern(source, start, end, uFlag);
+ return this._state.pattern;
+ };
+ return RegExpParser;
+}());
+
+function parseRegExpLiteral(source, options) {
+ return new RegExpParser(options).parseLiteral(source);
+}
+function validateRegExpLiteral(source, options) {
+ return new RegExpValidator(options).validateLiteral(source);
+}
+
+exports.AST = ast;
+exports.RegExpParser = RegExpParser;
+exports.RegExpValidator = RegExpValidator;
+exports.parseRegExpLiteral = parseRegExpLiteral;
+exports.validateRegExpLiteral = validateRegExpLiteral;
+//# sourceMappingURL=index.js.map
diff --git a/tools/node_modules/eslint/node_modules/regexpp/index.js.map b/tools/node_modules/eslint/node_modules/regexpp/index.js.map
new file mode 100644
index 0000000000..83e324f903
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js.map","sources":["src/util.ts","src/reader.ts","src/regexp-syntax-error.ts","src/unicode/ids.ts","src/unicode/property-data.ts","src/unicode/index.ts","src/validator.ts","src/parser.ts","src/index.ts"],"sourcesContent":["export function assert(condition: boolean, message?: string): void {\n if (!condition) {\n throw new Error(message || \"AssertionError\")\n }\n}\n\nexport function last<T>(xs: T[]): T | undefined {\n return xs.length === 0 ? undefined : xs[xs.length - 1]\n}\n","const legacyImpl = {\n at(s: string, end: number, i: number): number {\n return i < end ? s.charCodeAt(i) : -1\n },\n width(c: number): number {\n return 1\n },\n}\nconst unicodeImpl = {\n at(s: string, end: number, i: number): number {\n return i < end ? s.codePointAt(i)! : -1\n },\n width(c: number): number {\n return c > 0xffff ? 2 : 1\n },\n}\n\nexport class Reader {\n private _impl = legacyImpl\n private _s: string = \"\"\n private _i: number = 0\n private _end: number = 0\n private _cp1: number = -1\n private _w1: number = 1\n private _cp2: number = -1\n private _w2: number = 1\n private _cp3: number = -1\n private _w3: number = 1\n private _cp4: number = -1\n\n get source(): string {\n return this._s\n }\n\n get index(): number {\n return this._i\n }\n\n get currentCodePoint(): number {\n return this._cp1\n }\n\n get nextCodePoint(): number {\n return this._cp2\n }\n\n get nextCodePoint2(): number {\n return this._cp3\n }\n\n get nextCodePoint3(): number {\n return this._cp4\n }\n\n reset(source: string, start: number, end: number, uFlag: boolean): void {\n this._impl = uFlag ? unicodeImpl : legacyImpl\n this._s = source\n this._end = end\n this.rewind(start)\n }\n\n rewind(index: number): void {\n const impl = this._impl\n this._i = index\n this._cp1 = impl.at(this._s, this._end, index)\n this._w1 = impl.width(this._cp1)\n this._cp2 = impl.at(this._s, this._end, index + this._w1)\n this._w2 = impl.width(this._cp2)\n this._cp3 = impl.at(this._s, this._end, index + this._w1 + this._w2)\n this._w3 = impl.width(this._cp3)\n this._cp4 = impl.at(\n this._s,\n this._end,\n index + this._w1 + this._w2 + this._w3,\n )\n }\n\n advance(): void {\n if (this._cp1 !== -1) {\n const impl = this._impl\n this._i += this._w1\n this._cp1 = this._cp2\n this._w1 = this._w2\n this._cp2 = this._cp3\n this._w2 = impl.width(this._cp2)\n this._cp3 = this._cp4\n this._w3 = impl.width(this._cp3)\n this._cp4 = impl.at(\n this._s,\n this._end,\n this._i + this._w1 + this._w2 + this._w3,\n )\n }\n }\n\n eat(cp: number): boolean {\n if (this._cp1 === cp) {\n this.advance()\n return true\n }\n return false\n }\n\n eat2(cp1: number, cp2: number): boolean {\n if (this._cp1 === cp1 && this._cp2 === cp2) {\n this.advance()\n this.advance()\n return true\n }\n return false\n }\n\n eat3(cp1: number, cp2: number, cp3: number): boolean {\n if (this._cp1 === cp1 && this._cp2 === cp2 && this._cp3 === cp3) {\n this.advance()\n this.advance()\n this.advance()\n return true\n }\n return false\n }\n}\n","export class RegExpSyntaxError extends SyntaxError {\n public index: number\n constructor(\n source: string,\n uFlag: boolean,\n index: number,\n message: string,\n ) {\n /*eslint-disable no-param-reassign */\n if (source) {\n if (source[0] !== \"/\") {\n source = `/${source}/${uFlag ? \"u\" : \"\"}`\n }\n source = `: ${source}`\n }\n /*eslint-enable no-param-reassign */\n\n super(`Invalid regular expression${source}: ${message}`)\n this.index = index\n }\n}\n","/* Generated from DerivedCoreProperties-10.0.0.txt */\nexport function isIdStart(cp: number): boolean {\n if (cp < 0x41) return false\n if (cp < 0x5b) return true\n if (cp < 0x61) return false\n if (cp < 0x7b) return true\n return isLargeIdStart(cp)\n}\nexport function isIdContinue(cp: number): boolean {\n if (cp < 0x30) return false\n if (cp < 0x3a) return true\n if (cp < 0x41) return false\n if (cp < 0x5b) return true\n if (cp === 0x5f) return true\n if (cp < 0x61) return false\n if (cp < 0x7b) return true\n return isLargeIdStart(cp) || isLargeIdContinue(cp)\n}\n\nfunction isLargeIdStart(cp: number): boolean {\n if (cp < 0x303c) {\n if (cp < 0xeaa) {\n if (cp < 0xa2a) {\n if (cp < 0x6d5) {\n if (cp < 0x37a) {\n if (cp < 0x294) {\n if (cp < 0xf8) {\n if (cp === 0xaa) return true\n if (cp === 0xb5) return true\n if (cp === 0xba) return true\n if (cp < 0xc0) return false\n if (cp < 0xd7) return true\n if (cp < 0xd8) return false\n if (cp < 0xf7) return true\n return false\n }\n if (cp < 0x1bb) return true\n if (cp === 0x1bb) return true\n if (cp < 0x1bc) return false\n if (cp < 0x1c0) return true\n if (cp < 0x1c0) return false\n if (cp < 0x1c4) return true\n if (cp < 0x1c4) return false\n if (cp < 0x294) return true\n return false\n }\n if (cp < 0x2ec) {\n if (cp === 0x294) return true\n if (cp < 0x295) return false\n if (cp < 0x2b0) return true\n if (cp < 0x2b0) return false\n if (cp < 0x2c2) return true\n if (cp < 0x2c6) return false\n if (cp < 0x2d2) return true\n if (cp < 0x2e0) return false\n if (cp < 0x2e5) return true\n return false\n }\n if (cp === 0x2ec) return true\n if (cp === 0x2ee) return true\n if (cp < 0x370) return false\n if (cp < 0x374) return true\n if (cp === 0x374) return true\n if (cp < 0x376) return false\n if (cp < 0x378) return true\n return false\n }\n if (cp < 0x531) {\n if (cp < 0x38c) {\n if (cp === 0x37a) return true\n if (cp < 0x37b) return false\n if (cp < 0x37e) return true\n if (cp === 0x37f) return true\n if (cp === 0x386) return true\n if (cp < 0x388) return false\n if (cp < 0x38b) return true\n return false\n }\n if (cp === 0x38c) return true\n if (cp < 0x38e) return false\n if (cp < 0x3a2) return true\n if (cp < 0x3a3) return false\n if (cp < 0x3f6) return true\n if (cp < 0x3f7) return false\n if (cp < 0x482) return true\n if (cp < 0x48a) return false\n if (cp < 0x530) return true\n return false\n }\n if (cp < 0x620) {\n if (cp < 0x531) return false\n if (cp < 0x557) return true\n if (cp === 0x559) return true\n if (cp < 0x561) return false\n if (cp < 0x588) return true\n if (cp < 0x5d0) return false\n if (cp < 0x5eb) return true\n if (cp < 0x5f0) return false\n if (cp < 0x5f3) return true\n return false\n }\n if (cp < 0x640) return true\n if (cp === 0x640) return true\n if (cp < 0x641) return false\n if (cp < 0x64b) return true\n if (cp < 0x66e) return false\n if (cp < 0x670) return true\n if (cp < 0x671) return false\n if (cp < 0x6d4) return true\n return false\n }\n if (cp < 0x904) {\n if (cp < 0x7f4) {\n if (cp < 0x710) {\n if (cp === 0x6d5) return true\n if (cp < 0x6e5) return false\n if (cp < 0x6e7) return true\n if (cp < 0x6ee) return false\n if (cp < 0x6f0) return true\n if (cp < 0x6fa) return false\n if (cp < 0x6fd) return true\n if (cp === 0x6ff) return true\n return false\n }\n if (cp === 0x710) return true\n if (cp < 0x712) return false\n if (cp < 0x730) return true\n if (cp < 0x74d) return false\n if (cp < 0x7a6) return true\n if (cp === 0x7b1) return true\n if (cp < 0x7ca) return false\n if (cp < 0x7eb) return true\n return false\n }\n if (cp < 0x828) {\n if (cp < 0x7f4) return false\n if (cp < 0x7f6) return true\n if (cp === 0x7fa) return true\n if (cp < 0x800) return false\n if (cp < 0x816) return true\n if (cp === 0x81a) return true\n if (cp === 0x824) return true\n return false\n }\n if (cp === 0x828) return true\n if (cp < 0x840) return false\n if (cp < 0x859) return true\n if (cp < 0x860) return false\n if (cp < 0x86b) return true\n if (cp < 0x8a0) return false\n if (cp < 0x8b5) return true\n if (cp < 0x8b6) return false\n if (cp < 0x8be) return true\n return false\n }\n if (cp < 0x9b2) {\n if (cp < 0x972) {\n if (cp < 0x904) return false\n if (cp < 0x93a) return true\n if (cp === 0x93d) return true\n if (cp === 0x950) return true\n if (cp < 0x958) return false\n if (cp < 0x962) return true\n if (cp === 0x971) return true\n return false\n }\n if (cp < 0x981) return true\n if (cp < 0x985) return false\n if (cp < 0x98d) return true\n if (cp < 0x98f) return false\n if (cp < 0x991) return true\n if (cp < 0x993) return false\n if (cp < 0x9a9) return true\n if (cp < 0x9aa) return false\n if (cp < 0x9b1) return true\n return false\n }\n if (cp < 0x9df) {\n if (cp === 0x9b2) return true\n if (cp < 0x9b6) return false\n if (cp < 0x9ba) return true\n if (cp === 0x9bd) return true\n if (cp === 0x9ce) return true\n if (cp < 0x9dc) return false\n if (cp < 0x9de) return true\n return false\n }\n if (cp < 0x9e2) return true\n if (cp < 0x9f0) return false\n if (cp < 0x9f2) return true\n if (cp === 0x9fc) return true\n if (cp < 0xa05) return false\n if (cp < 0xa0b) return true\n if (cp < 0xa0f) return false\n if (cp < 0xa11) return true\n if (cp < 0xa13) return false\n if (cp < 0xa29) return true\n return false\n }\n if (cp < 0xc2a) {\n if (cp < 0xb2a) {\n if (cp < 0xaaa) {\n if (cp < 0xa5e) {\n if (cp < 0xa2a) return false\n if (cp < 0xa31) return true\n if (cp < 0xa32) return false\n if (cp < 0xa34) return true\n if (cp < 0xa35) return false\n if (cp < 0xa37) return true\n if (cp < 0xa38) return false\n if (cp < 0xa3a) return true\n if (cp < 0xa59) return false\n if (cp < 0xa5d) return true\n return false\n }\n if (cp === 0xa5e) return true\n if (cp < 0xa72) return false\n if (cp < 0xa75) return true\n if (cp < 0xa85) return false\n if (cp < 0xa8e) return true\n if (cp < 0xa8f) return false\n if (cp < 0xa92) return true\n if (cp < 0xa93) return false\n if (cp < 0xaa9) return true\n return false\n }\n if (cp < 0xae0) {\n if (cp < 0xaaa) return false\n if (cp < 0xab1) return true\n if (cp < 0xab2) return false\n if (cp < 0xab4) return true\n if (cp < 0xab5) return false\n if (cp < 0xaba) return true\n if (cp === 0xabd) return true\n if (cp === 0xad0) return true\n return false\n }\n if (cp < 0xae2) return true\n if (cp === 0xaf9) return true\n if (cp < 0xb05) return false\n if (cp < 0xb0d) return true\n if (cp < 0xb0f) return false\n if (cp < 0xb11) return true\n if (cp < 0xb13) return false\n if (cp < 0xb29) return true\n return false\n }\n if (cp < 0xb92) {\n if (cp < 0xb5f) {\n if (cp < 0xb2a) return false\n if (cp < 0xb31) return true\n if (cp < 0xb32) return false\n if (cp < 0xb34) return true\n if (cp < 0xb35) return false\n if (cp < 0xb3a) return true\n if (cp === 0xb3d) return true\n if (cp < 0xb5c) return false\n if (cp < 0xb5e) return true\n return false\n }\n if (cp < 0xb62) return true\n if (cp === 0xb71) return true\n if (cp === 0xb83) return true\n if (cp < 0xb85) return false\n if (cp < 0xb8b) return true\n if (cp < 0xb8e) return false\n if (cp < 0xb91) return true\n return false\n }\n if (cp < 0xba8) {\n if (cp < 0xb92) return false\n if (cp < 0xb96) return true\n if (cp < 0xb99) return false\n if (cp < 0xb9b) return true\n if (cp === 0xb9c) return true\n if (cp < 0xb9e) return false\n if (cp < 0xba0) return true\n if (cp < 0xba3) return false\n if (cp < 0xba5) return true\n return false\n }\n if (cp < 0xbab) return true\n if (cp < 0xbae) return false\n if (cp < 0xbba) return true\n if (cp === 0xbd0) return true\n if (cp < 0xc05) return false\n if (cp < 0xc0d) return true\n if (cp < 0xc0e) return false\n if (cp < 0xc11) return true\n if (cp < 0xc12) return false\n if (cp < 0xc29) return true\n return false\n }\n if (cp < 0xd5f) {\n if (cp < 0xcbd) {\n if (cp < 0xc85) {\n if (cp < 0xc2a) return false\n if (cp < 0xc3a) return true\n if (cp === 0xc3d) return true\n if (cp < 0xc58) return false\n if (cp < 0xc5b) return true\n if (cp < 0xc60) return false\n if (cp < 0xc62) return true\n if (cp === 0xc80) return true\n return false\n }\n if (cp < 0xc8d) return true\n if (cp < 0xc8e) return false\n if (cp < 0xc91) return true\n if (cp < 0xc92) return false\n if (cp < 0xca9) return true\n if (cp < 0xcaa) return false\n if (cp < 0xcb4) return true\n if (cp < 0xcb5) return false\n if (cp < 0xcba) return true\n return false\n }\n if (cp < 0xd0e) {\n if (cp === 0xcbd) return true\n if (cp === 0xcde) return true\n if (cp < 0xce0) return false\n if (cp < 0xce2) return true\n if (cp < 0xcf1) return false\n if (cp < 0xcf3) return true\n if (cp < 0xd05) return false\n if (cp < 0xd0d) return true\n return false\n }\n if (cp < 0xd11) return true\n if (cp < 0xd12) return false\n if (cp < 0xd3b) return true\n if (cp === 0xd3d) return true\n if (cp === 0xd4e) return true\n if (cp < 0xd54) return false\n if (cp < 0xd57) return true\n return false\n }\n if (cp < 0xe46) {\n if (cp < 0xdbd) {\n if (cp < 0xd5f) return false\n if (cp < 0xd62) return true\n if (cp < 0xd7a) return false\n if (cp < 0xd80) return true\n if (cp < 0xd85) return false\n if (cp < 0xd97) return true\n if (cp < 0xd9a) return false\n if (cp < 0xdb2) return true\n if (cp < 0xdb3) return false\n if (cp < 0xdbc) return true\n return false\n }\n if (cp === 0xdbd) return true\n if (cp < 0xdc0) return false\n if (cp < 0xdc7) return true\n if (cp < 0xe01) return false\n if (cp < 0xe31) return true\n if (cp < 0xe32) return false\n if (cp < 0xe34) return true\n if (cp < 0xe40) return false\n if (cp < 0xe46) return true\n return false\n }\n if (cp < 0xe8d) {\n if (cp === 0xe46) return true\n if (cp < 0xe81) return false\n if (cp < 0xe83) return true\n if (cp === 0xe84) return true\n if (cp < 0xe87) return false\n if (cp < 0xe89) return true\n if (cp === 0xe8a) return true\n return false\n }\n if (cp === 0xe8d) return true\n if (cp < 0xe94) return false\n if (cp < 0xe98) return true\n if (cp < 0xe99) return false\n if (cp < 0xea0) return true\n if (cp < 0xea1) return false\n if (cp < 0xea4) return true\n if (cp === 0xea5) return true\n if (cp === 0xea7) return true\n return false\n }\n if (cp < 0x1c5a) {\n if (cp < 0x1380) {\n if (cp < 0x10a0) {\n if (cp < 0xf88) {\n if (cp < 0xec6) {\n if (cp < 0xeaa) return false\n if (cp < 0xeac) return true\n if (cp < 0xead) return false\n if (cp < 0xeb1) return true\n if (cp < 0xeb2) return false\n if (cp < 0xeb4) return true\n if (cp === 0xebd) return true\n if (cp < 0xec0) return false\n if (cp < 0xec5) return true\n return false\n }\n if (cp === 0xec6) return true\n if (cp < 0xedc) return false\n if (cp < 0xee0) return true\n if (cp === 0xf00) return true\n if (cp < 0xf40) return false\n if (cp < 0xf48) return true\n if (cp < 0xf49) return false\n if (cp < 0xf6d) return true\n return false\n }\n if (cp < 0x1061) {\n if (cp < 0xf88) return false\n if (cp < 0xf8d) return true\n if (cp < 0x1000) return false\n if (cp < 0x102b) return true\n if (cp === 0x103f) return true\n if (cp < 0x1050) return false\n if (cp < 0x1056) return true\n if (cp < 0x105a) return false\n if (cp < 0x105e) return true\n return false\n }\n if (cp === 0x1061) return true\n if (cp < 0x1065) return false\n if (cp < 0x1067) return true\n if (cp < 0x106e) return false\n if (cp < 0x1071) return true\n if (cp < 0x1075) return false\n if (cp < 0x1082) return true\n if (cp === 0x108e) return true\n return false\n }\n if (cp < 0x1260) {\n if (cp < 0x10fd) {\n if (cp < 0x10a0) return false\n if (cp < 0x10c6) return true\n if (cp === 0x10c7) return true\n if (cp === 0x10cd) return true\n if (cp < 0x10d0) return false\n if (cp < 0x10fb) return true\n if (cp === 0x10fc) return true\n return false\n }\n if (cp < 0x1249) return true\n if (cp < 0x124a) return false\n if (cp < 0x124e) return true\n if (cp < 0x1250) return false\n if (cp < 0x1257) return true\n if (cp === 0x1258) return true\n if (cp < 0x125a) return false\n if (cp < 0x125e) return true\n return false\n }\n if (cp < 0x12c0) {\n if (cp < 0x1260) return false\n if (cp < 0x1289) return true\n if (cp < 0x128a) return false\n if (cp < 0x128e) return true\n if (cp < 0x1290) return false\n if (cp < 0x12b1) return true\n if (cp < 0x12b2) return false\n if (cp < 0x12b6) return true\n if (cp < 0x12b8) return false\n if (cp < 0x12bf) return true\n return false\n }\n if (cp === 0x12c0) return true\n if (cp < 0x12c2) return false\n if (cp < 0x12c6) return true\n if (cp < 0x12c8) return false\n if (cp < 0x12d7) return true\n if (cp < 0x12d8) return false\n if (cp < 0x1311) return true\n if (cp < 0x1312) return false\n if (cp < 0x1316) return true\n if (cp < 0x1318) return false\n if (cp < 0x135b) return true\n return false\n }\n if (cp < 0x1844) {\n if (cp < 0x170e) {\n if (cp < 0x1681) {\n if (cp < 0x1380) return false\n if (cp < 0x1390) return true\n if (cp < 0x13a0) return false\n if (cp < 0x13f6) return true\n if (cp < 0x13f8) return false\n if (cp < 0x13fe) return true\n if (cp < 0x1401) return false\n if (cp < 0x166d) return true\n if (cp < 0x166f) return false\n if (cp < 0x1680) return true\n return false\n }\n if (cp < 0x169b) return true\n if (cp < 0x16a0) return false\n if (cp < 0x16eb) return true\n if (cp < 0x16ee) return false\n if (cp < 0x16f1) return true\n if (cp < 0x16f1) return false\n if (cp < 0x16f9) return true\n if (cp < 0x1700) return false\n if (cp < 0x170d) return true\n return false\n }\n if (cp < 0x1780) {\n if (cp < 0x170e) return false\n if (cp < 0x1712) return true\n if (cp < 0x1720) return false\n if (cp < 0x1732) return true\n if (cp < 0x1740) return false\n if (cp < 0x1752) return true\n if (cp < 0x1760) return false\n if (cp < 0x176d) return true\n if (cp < 0x176e) return false\n if (cp < 0x1771) return true\n return false\n }\n if (cp < 0x17b4) return true\n if (cp === 0x17d7) return true\n if (cp === 0x17dc) return true\n if (cp < 0x1820) return false\n if (cp < 0x1843) return true\n if (cp === 0x1843) return true\n return false\n }\n if (cp < 0x19b0) {\n if (cp < 0x18b0) {\n if (cp < 0x1844) return false\n if (cp < 0x1878) return true\n if (cp < 0x1880) return false\n if (cp < 0x1885) return true\n if (cp < 0x1885) return false\n if (cp < 0x1887) return true\n if (cp < 0x1887) return false\n if (cp < 0x18a9) return true\n if (cp === 0x18aa) return true\n return false\n }\n if (cp < 0x18f6) return true\n if (cp < 0x1900) return false\n if (cp < 0x191f) return true\n if (cp < 0x1950) return false\n if (cp < 0x196e) return true\n if (cp < 0x1970) return false\n if (cp < 0x1975) return true\n if (cp < 0x1980) return false\n if (cp < 0x19ac) return true\n return false\n }\n if (cp < 0x1b45) {\n if (cp < 0x19b0) return false\n if (cp < 0x19ca) return true\n if (cp < 0x1a00) return false\n if (cp < 0x1a17) return true\n if (cp < 0x1a20) return false\n if (cp < 0x1a55) return true\n if (cp === 0x1aa7) return true\n if (cp < 0x1b05) return false\n if (cp < 0x1b34) return true\n return false\n }\n if (cp < 0x1b4c) return true\n if (cp < 0x1b83) return false\n if (cp < 0x1ba1) return true\n if (cp < 0x1bae) return false\n if (cp < 0x1bb0) return true\n if (cp < 0x1bba) return false\n if (cp < 0x1be6) return true\n if (cp < 0x1c00) return false\n if (cp < 0x1c24) return true\n if (cp < 0x1c4d) return false\n if (cp < 0x1c50) return true\n return false\n }\n if (cp < 0x2126) {\n if (cp < 0x1f5f) {\n if (cp < 0x1d79) {\n if (cp < 0x1cf5) {\n if (cp < 0x1c5a) return false\n if (cp < 0x1c78) return true\n if (cp < 0x1c78) return false\n if (cp < 0x1c7e) return true\n if (cp < 0x1c80) return false\n if (cp < 0x1c89) return true\n if (cp < 0x1ce9) return false\n if (cp < 0x1ced) return true\n if (cp < 0x1cee) return false\n if (cp < 0x1cf2) return true\n return false\n }\n if (cp < 0x1cf7) return true\n if (cp < 0x1d00) return false\n if (cp < 0x1d2c) return true\n if (cp < 0x1d2c) return false\n if (cp < 0x1d6b) return true\n if (cp < 0x1d6b) return false\n if (cp < 0x1d78) return true\n if (cp === 0x1d78) return true\n return false\n }\n if (cp < 0x1f48) {\n if (cp < 0x1d79) return false\n if (cp < 0x1d9b) return true\n if (cp < 0x1d9b) return false\n if (cp < 0x1dc0) return true\n if (cp < 0x1e00) return false\n if (cp < 0x1f16) return true\n if (cp < 0x1f18) return false\n if (cp < 0x1f1e) return true\n if (cp < 0x1f20) return false\n if (cp < 0x1f46) return true\n return false\n }\n if (cp < 0x1f4e) return true\n if (cp < 0x1f50) return false\n if (cp < 0x1f58) return true\n if (cp === 0x1f59) return true\n if (cp === 0x1f5b) return true\n if (cp === 0x1f5d) return true\n return false\n }\n if (cp < 0x1ff6) {\n if (cp < 0x1fc6) {\n if (cp < 0x1f5f) return false\n if (cp < 0x1f7e) return true\n if (cp < 0x1f80) return false\n if (cp < 0x1fb5) return true\n if (cp < 0x1fb6) return false\n if (cp < 0x1fbd) return true\n if (cp === 0x1fbe) return true\n if (cp < 0x1fc2) return false\n if (cp < 0x1fc5) return true\n return false\n }\n if (cp < 0x1fcd) return true\n if (cp < 0x1fd0) return false\n if (cp < 0x1fd4) return true\n if (cp < 0x1fd6) return false\n if (cp < 0x1fdc) return true\n if (cp < 0x1fe0) return false\n if (cp < 0x1fed) return true\n if (cp < 0x1ff2) return false\n if (cp < 0x1ff5) return true\n return false\n }\n if (cp < 0x2107) {\n if (cp < 0x1ff6) return false\n if (cp < 0x1ffd) return true\n if (cp === 0x2071) return true\n if (cp === 0x207f) return true\n if (cp < 0x2090) return false\n if (cp < 0x209d) return true\n if (cp === 0x2102) return true\n return false\n }\n if (cp === 0x2107) return true\n if (cp < 0x210a) return false\n if (cp < 0x2114) return true\n if (cp === 0x2115) return true\n if (cp === 0x2118) return true\n if (cp < 0x2119) return false\n if (cp < 0x211e) return true\n if (cp === 0x2124) return true\n return false\n }\n if (cp < 0x2d00) {\n if (cp < 0x2160) {\n if (cp < 0x2135) {\n if (cp === 0x2126) return true\n if (cp === 0x2128) return true\n if (cp < 0x212a) return false\n if (cp < 0x212e) return true\n if (cp === 0x212e) return true\n if (cp < 0x212f) return false\n if (cp < 0x2135) return true\n return false\n }\n if (cp < 0x2139) return true\n if (cp === 0x2139) return true\n if (cp < 0x213c) return false\n if (cp < 0x2140) return true\n if (cp < 0x2145) return false\n if (cp < 0x214a) return true\n if (cp === 0x214e) return true\n return false\n }\n if (cp < 0x2c60) {\n if (cp < 0x2160) return false\n if (cp < 0x2183) return true\n if (cp < 0x2183) return false\n if (cp < 0x2185) return true\n if (cp < 0x2185) return false\n if (cp < 0x2189) return true\n if (cp < 0x2c00) return false\n if (cp < 0x2c2f) return true\n if (cp < 0x2c30) return false\n if (cp < 0x2c5f) return true\n return false\n }\n if (cp < 0x2c7c) return true\n if (cp < 0x2c7c) return false\n if (cp < 0x2c7e) return true\n if (cp < 0x2c7e) return false\n if (cp < 0x2ce5) return true\n if (cp < 0x2ceb) return false\n if (cp < 0x2cef) return true\n if (cp < 0x2cf2) return false\n if (cp < 0x2cf4) return true\n return false\n }\n if (cp < 0x2dc0) {\n if (cp < 0x2d80) {\n if (cp < 0x2d00) return false\n if (cp < 0x2d26) return true\n if (cp === 0x2d27) return true\n if (cp === 0x2d2d) return true\n if (cp < 0x2d30) return false\n if (cp < 0x2d68) return true\n if (cp === 0x2d6f) return true\n return false\n }\n if (cp < 0x2d97) return true\n if (cp < 0x2da0) return false\n if (cp < 0x2da7) return true\n if (cp < 0x2da8) return false\n if (cp < 0x2daf) return true\n if (cp < 0x2db0) return false\n if (cp < 0x2db7) return true\n if (cp < 0x2db8) return false\n if (cp < 0x2dbf) return true\n return false\n }\n if (cp < 0x3006) {\n if (cp < 0x2dc0) return false\n if (cp < 0x2dc7) return true\n if (cp < 0x2dc8) return false\n if (cp < 0x2dcf) return true\n if (cp < 0x2dd0) return false\n if (cp < 0x2dd7) return true\n if (cp < 0x2dd8) return false\n if (cp < 0x2ddf) return true\n if (cp === 0x3005) return true\n return false\n }\n if (cp === 0x3006) return true\n if (cp === 0x3007) return true\n if (cp < 0x3021) return false\n if (cp < 0x302a) return true\n if (cp < 0x3031) return false\n if (cp < 0x3036) return true\n if (cp < 0x3038) return false\n if (cp < 0x303b) return true\n if (cp === 0x303b) return true\n return false\n }\n if (cp < 0x10a10) {\n if (cp < 0xab28) {\n if (cp < 0xa7fa) {\n if (cp < 0xa60c) {\n if (cp < 0x31a0) {\n if (cp < 0x30a1) {\n if (cp === 0x303c) return true\n if (cp < 0x3041) return false\n if (cp < 0x3097) return true\n if (cp < 0x309b) return false\n if (cp < 0x309d) return true\n if (cp < 0x309d) return false\n if (cp < 0x309f) return true\n if (cp === 0x309f) return true\n return false\n }\n if (cp < 0x30fb) return true\n if (cp < 0x30fc) return false\n if (cp < 0x30ff) return true\n if (cp === 0x30ff) return true\n if (cp < 0x3105) return false\n if (cp < 0x312f) return true\n if (cp < 0x3131) return false\n if (cp < 0x318f) return true\n return false\n }\n if (cp < 0xa015) {\n if (cp < 0x31a0) return false\n if (cp < 0x31bb) return true\n if (cp < 0x31f0) return false\n if (cp < 0x3200) return true\n if (cp < 0x3400) return false\n if (cp < 0x4db6) return true\n if (cp < 0x4e00) return false\n if (cp < 0x9feb) return true\n if (cp < 0xa000) return false\n if (cp < 0xa015) return true\n return false\n }\n if (cp === 0xa015) return true\n if (cp < 0xa016) return false\n if (cp < 0xa48d) return true\n if (cp < 0xa4d0) return false\n if (cp < 0xa4f8) return true\n if (cp < 0xa4f8) return false\n if (cp < 0xa4fe) return true\n if (cp < 0xa500) return false\n if (cp < 0xa60c) return true\n return false\n }\n if (cp < 0xa717) {\n if (cp < 0xa67f) {\n if (cp === 0xa60c) return true\n if (cp < 0xa610) return false\n if (cp < 0xa620) return true\n if (cp < 0xa62a) return false\n if (cp < 0xa62c) return true\n if (cp < 0xa640) return false\n if (cp < 0xa66e) return true\n if (cp === 0xa66e) return true\n return false\n }\n if (cp === 0xa67f) return true\n if (cp < 0xa680) return false\n if (cp < 0xa69c) return true\n if (cp < 0xa69c) return false\n if (cp < 0xa69e) return true\n if (cp < 0xa6a0) return false\n if (cp < 0xa6e6) return true\n if (cp < 0xa6e6) return false\n if (cp < 0xa6f0) return true\n return false\n }\n if (cp < 0xa78b) {\n if (cp < 0xa717) return false\n if (cp < 0xa720) return true\n if (cp < 0xa722) return false\n if (cp < 0xa770) return true\n if (cp === 0xa770) return true\n if (cp < 0xa771) return false\n if (cp < 0xa788) return true\n if (cp === 0xa788) return true\n return false\n }\n if (cp < 0xa78f) return true\n if (cp === 0xa78f) return true\n if (cp < 0xa790) return false\n if (cp < 0xa7af) return true\n if (cp < 0xa7b0) return false\n if (cp < 0xa7b8) return true\n if (cp === 0xa7f7) return true\n if (cp < 0xa7f8) return false\n if (cp < 0xa7fa) return true\n return false\n }\n if (cp < 0xaa40) {\n if (cp < 0xa90a) {\n if (cp < 0xa840) {\n if (cp === 0xa7fa) return true\n if (cp < 0xa7fb) return false\n if (cp < 0xa802) return true\n if (cp < 0xa803) return false\n if (cp < 0xa806) return true\n if (cp < 0xa807) return false\n if (cp < 0xa80b) return true\n if (cp < 0xa80c) return false\n if (cp < 0xa823) return true\n return false\n }\n if (cp < 0xa874) return true\n if (cp < 0xa882) return false\n if (cp < 0xa8b4) return true\n if (cp < 0xa8f2) return false\n if (cp < 0xa8f8) return true\n if (cp === 0xa8fb) return true\n if (cp === 0xa8fd) return true\n return false\n }\n if (cp < 0xa9e0) {\n if (cp < 0xa90a) return false\n if (cp < 0xa926) return true\n if (cp < 0xa930) return false\n if (cp < 0xa947) return true\n if (cp < 0xa960) return false\n if (cp < 0xa97d) return true\n if (cp < 0xa984) return false\n if (cp < 0xa9b3) return true\n if (cp === 0xa9cf) return true\n return false\n }\n if (cp < 0xa9e5) return true\n if (cp === 0xa9e6) return true\n if (cp < 0xa9e7) return false\n if (cp < 0xa9f0) return true\n if (cp < 0xa9fa) return false\n if (cp < 0xa9ff) return true\n if (cp < 0xaa00) return false\n if (cp < 0xaa29) return true\n return false\n }\n if (cp < 0xaac0) {\n if (cp < 0xaa7a) {\n if (cp < 0xaa40) return false\n if (cp < 0xaa43) return true\n if (cp < 0xaa44) return false\n if (cp < 0xaa4c) return true\n if (cp < 0xaa60) return false\n if (cp < 0xaa70) return true\n if (cp === 0xaa70) return true\n if (cp < 0xaa71) return false\n if (cp < 0xaa77) return true\n return false\n }\n if (cp === 0xaa7a) return true\n if (cp < 0xaa7e) return false\n if (cp < 0xaab0) return true\n if (cp === 0xaab1) return true\n if (cp < 0xaab5) return false\n if (cp < 0xaab7) return true\n if (cp < 0xaab9) return false\n if (cp < 0xaabe) return true\n return false\n }\n if (cp < 0xaaf2) {\n if (cp === 0xaac0) return true\n if (cp === 0xaac2) return true\n if (cp < 0xaadb) return false\n if (cp < 0xaadd) return true\n if (cp === 0xaadd) return true\n if (cp < 0xaae0) return false\n if (cp < 0xaaeb) return true\n return false\n }\n if (cp === 0xaaf2) return true\n if (cp < 0xaaf3) return false\n if (cp < 0xaaf5) return true\n if (cp < 0xab01) return false\n if (cp < 0xab07) return true\n if (cp < 0xab09) return false\n if (cp < 0xab0f) return true\n if (cp < 0xab11) return false\n if (cp < 0xab17) return true\n if (cp < 0xab20) return false\n if (cp < 0xab27) return true\n return false\n }\n if (cp < 0x1003c) {\n if (cp < 0xfb46) {\n if (cp < 0xfa70) {\n if (cp < 0xabc0) {\n if (cp < 0xab28) return false\n if (cp < 0xab2f) return true\n if (cp < 0xab30) return false\n if (cp < 0xab5b) return true\n if (cp < 0xab5c) return false\n if (cp < 0xab60) return true\n if (cp < 0xab60) return false\n if (cp < 0xab66) return true\n if (cp < 0xab70) return false\n if (cp < 0xabc0) return true\n return false\n }\n if (cp < 0xabe3) return true\n if (cp < 0xac00) return false\n if (cp < 0xd7a4) return true\n if (cp < 0xd7b0) return false\n if (cp < 0xd7c7) return true\n if (cp < 0xd7cb) return false\n if (cp < 0xd7fc) return true\n if (cp < 0xf900) return false\n if (cp < 0xfa6e) return true\n return false\n }\n if (cp < 0xfb2a) {\n if (cp < 0xfa70) return false\n if (cp < 0xfada) return true\n if (cp < 0xfb00) return false\n if (cp < 0xfb07) return true\n if (cp < 0xfb13) return false\n if (cp < 0xfb18) return true\n if (cp === 0xfb1d) return true\n if (cp < 0xfb1f) return false\n if (cp < 0xfb29) return true\n return false\n }\n if (cp < 0xfb37) return true\n if (cp < 0xfb38) return false\n if (cp < 0xfb3d) return true\n if (cp === 0xfb3e) return true\n if (cp < 0xfb40) return false\n if (cp < 0xfb42) return true\n if (cp < 0xfb43) return false\n if (cp < 0xfb45) return true\n return false\n }\n if (cp < 0xff70) {\n if (cp < 0xfe70) {\n if (cp < 0xfb46) return false\n if (cp < 0xfbb2) return true\n if (cp < 0xfbd3) return false\n if (cp < 0xfd3e) return true\n if (cp < 0xfd50) return false\n if (cp < 0xfd90) return true\n if (cp < 0xfd92) return false\n if (cp < 0xfdc8) return true\n if (cp < 0xfdf0) return false\n if (cp < 0xfdfc) return true\n return false\n }\n if (cp < 0xfe75) return true\n if (cp < 0xfe76) return false\n if (cp < 0xfefd) return true\n if (cp < 0xff21) return false\n if (cp < 0xff3b) return true\n if (cp < 0xff41) return false\n if (cp < 0xff5b) return true\n if (cp < 0xff66) return false\n if (cp < 0xff70) return true\n return false\n }\n if (cp < 0xffca) {\n if (cp === 0xff70) return true\n if (cp < 0xff71) return false\n if (cp < 0xff9e) return true\n if (cp < 0xff9e) return false\n if (cp < 0xffa0) return true\n if (cp < 0xffa0) return false\n if (cp < 0xffbf) return true\n if (cp < 0xffc2) return false\n if (cp < 0xffc8) return true\n return false\n }\n if (cp < 0xffd0) return true\n if (cp < 0xffd2) return false\n if (cp < 0xffd8) return true\n if (cp < 0xffda) return false\n if (cp < 0xffdd) return true\n if (cp < 0x10000) return false\n if (cp < 0x1000c) return true\n if (cp < 0x1000d) return false\n if (cp < 0x10027) return true\n if (cp < 0x10028) return false\n if (cp < 0x1003b) return true\n return false\n }\n if (cp < 0x104d8) {\n if (cp < 0x10342) {\n if (cp < 0x10280) {\n if (cp < 0x1003c) return false\n if (cp < 0x1003e) return true\n if (cp < 0x1003f) return false\n if (cp < 0x1004e) return true\n if (cp < 0x10050) return false\n if (cp < 0x1005e) return true\n if (cp < 0x10080) return false\n if (cp < 0x100fb) return true\n if (cp < 0x10140) return false\n if (cp < 0x10175) return true\n return false\n }\n if (cp < 0x1029d) return true\n if (cp < 0x102a0) return false\n if (cp < 0x102d1) return true\n if (cp < 0x10300) return false\n if (cp < 0x10320) return true\n if (cp < 0x1032d) return false\n if (cp < 0x10341) return true\n if (cp === 0x10341) return true\n return false\n }\n if (cp < 0x103c8) {\n if (cp < 0x10342) return false\n if (cp < 0x1034a) return true\n if (cp === 0x1034a) return true\n if (cp < 0x10350) return false\n if (cp < 0x10376) return true\n if (cp < 0x10380) return false\n if (cp < 0x1039e) return true\n if (cp < 0x103a0) return false\n if (cp < 0x103c4) return true\n return false\n }\n if (cp < 0x103d0) return true\n if (cp < 0x103d1) return false\n if (cp < 0x103d6) return true\n if (cp < 0x10400) return false\n if (cp < 0x10450) return true\n if (cp < 0x10450) return false\n if (cp < 0x1049e) return true\n if (cp < 0x104b0) return false\n if (cp < 0x104d4) return true\n return false\n }\n if (cp < 0x1083c) {\n if (cp < 0x10760) {\n if (cp < 0x104d8) return false\n if (cp < 0x104fc) return true\n if (cp < 0x10500) return false\n if (cp < 0x10528) return true\n if (cp < 0x10530) return false\n if (cp < 0x10564) return true\n if (cp < 0x10600) return false\n if (cp < 0x10737) return true\n if (cp < 0x10740) return false\n if (cp < 0x10756) return true\n return false\n }\n if (cp < 0x10768) return true\n if (cp < 0x10800) return false\n if (cp < 0x10806) return true\n if (cp === 0x10808) return true\n if (cp < 0x1080a) return false\n if (cp < 0x10836) return true\n if (cp < 0x10837) return false\n if (cp < 0x10839) return true\n return false\n }\n if (cp < 0x108f4) {\n if (cp === 0x1083c) return true\n if (cp < 0x1083f) return false\n if (cp < 0x10856) return true\n if (cp < 0x10860) return false\n if (cp < 0x10877) return true\n if (cp < 0x10880) return false\n if (cp < 0x1089f) return true\n if (cp < 0x108e0) return false\n if (cp < 0x108f3) return true\n return false\n }\n if (cp < 0x108f6) return true\n if (cp < 0x10900) return false\n if (cp < 0x10916) return true\n if (cp < 0x10920) return false\n if (cp < 0x1093a) return true\n if (cp < 0x10980) return false\n if (cp < 0x109b8) return true\n if (cp < 0x109be) return false\n if (cp < 0x109c0) return true\n if (cp === 0x10a00) return true\n return false\n }\n if (cp < 0x16f50) {\n if (cp < 0x11400) {\n if (cp < 0x11183) {\n if (cp < 0x10b80) {\n if (cp < 0x10ac0) {\n if (cp < 0x10a10) return false\n if (cp < 0x10a14) return true\n if (cp < 0x10a15) return false\n if (cp < 0x10a18) return true\n if (cp < 0x10a19) return false\n if (cp < 0x10a34) return true\n if (cp < 0x10a60) return false\n if (cp < 0x10a7d) return true\n if (cp < 0x10a80) return false\n if (cp < 0x10a9d) return true\n return false\n }\n if (cp < 0x10ac8) return true\n if (cp < 0x10ac9) return false\n if (cp < 0x10ae5) return true\n if (cp < 0x10b00) return false\n if (cp < 0x10b36) return true\n if (cp < 0x10b40) return false\n if (cp < 0x10b56) return true\n if (cp < 0x10b60) return false\n if (cp < 0x10b73) return true\n return false\n }\n if (cp < 0x11083) {\n if (cp < 0x10b80) return false\n if (cp < 0x10b92) return true\n if (cp < 0x10c00) return false\n if (cp < 0x10c49) return true\n if (cp < 0x10c80) return false\n if (cp < 0x10cb3) return true\n if (cp < 0x10cc0) return false\n if (cp < 0x10cf3) return true\n if (cp < 0x11003) return false\n if (cp < 0x11038) return true\n return false\n }\n if (cp < 0x110b0) return true\n if (cp < 0x110d0) return false\n if (cp < 0x110e9) return true\n if (cp < 0x11103) return false\n if (cp < 0x11127) return true\n if (cp < 0x11150) return false\n if (cp < 0x11173) return true\n if (cp === 0x11176) return true\n return false\n }\n if (cp < 0x1129f) {\n if (cp < 0x11213) {\n if (cp < 0x11183) return false\n if (cp < 0x111b3) return true\n if (cp < 0x111c1) return false\n if (cp < 0x111c5) return true\n if (cp === 0x111da) return true\n if (cp === 0x111dc) return true\n if (cp < 0x11200) return false\n if (cp < 0x11212) return true\n return false\n }\n if (cp < 0x1122c) return true\n if (cp < 0x11280) return false\n if (cp < 0x11287) return true\n if (cp === 0x11288) return true\n if (cp < 0x1128a) return false\n if (cp < 0x1128e) return true\n if (cp < 0x1128f) return false\n if (cp < 0x1129e) return true\n return false\n }\n if (cp < 0x1132a) {\n if (cp < 0x1129f) return false\n if (cp < 0x112a9) return true\n if (cp < 0x112b0) return false\n if (cp < 0x112df) return true\n if (cp < 0x11305) return false\n if (cp < 0x1130d) return true\n if (cp < 0x1130f) return false\n if (cp < 0x11311) return true\n if (cp < 0x11313) return false\n if (cp < 0x11329) return true\n return false\n }\n if (cp < 0x11331) return true\n if (cp < 0x11332) return false\n if (cp < 0x11334) return true\n if (cp < 0x11335) return false\n if (cp < 0x1133a) return true\n if (cp === 0x1133d) return true\n if (cp === 0x11350) return true\n if (cp < 0x1135d) return false\n if (cp < 0x11362) return true\n return false\n }\n if (cp < 0x11c00) {\n if (cp < 0x11700) {\n if (cp < 0x11580) {\n if (cp < 0x11400) return false\n if (cp < 0x11435) return true\n if (cp < 0x11447) return false\n if (cp < 0x1144b) return true\n if (cp < 0x11480) return false\n if (cp < 0x114b0) return true\n if (cp < 0x114c4) return false\n if (cp < 0x114c6) return true\n if (cp === 0x114c7) return true\n return false\n }\n if (cp < 0x115af) return true\n if (cp < 0x115d8) return false\n if (cp < 0x115dc) return true\n if (cp < 0x11600) return false\n if (cp < 0x11630) return true\n if (cp === 0x11644) return true\n if (cp < 0x11680) return false\n if (cp < 0x116ab) return true\n return false\n }\n if (cp < 0x11a3a) {\n if (cp < 0x11700) return false\n if (cp < 0x1171a) return true\n if (cp < 0x118a0) return false\n if (cp < 0x118e0) return true\n if (cp === 0x118ff) return true\n if (cp === 0x11a00) return true\n if (cp < 0x11a0b) return false\n if (cp < 0x11a33) return true\n return false\n }\n if (cp === 0x11a3a) return true\n if (cp === 0x11a50) return true\n if (cp < 0x11a5c) return false\n if (cp < 0x11a84) return true\n if (cp < 0x11a86) return false\n if (cp < 0x11a8a) return true\n if (cp < 0x11ac0) return false\n if (cp < 0x11af9) return true\n return false\n }\n if (cp < 0x12480) {\n if (cp < 0x11d08) {\n if (cp < 0x11c00) return false\n if (cp < 0x11c09) return true\n if (cp < 0x11c0a) return false\n if (cp < 0x11c2f) return true\n if (cp === 0x11c40) return true\n if (cp < 0x11c72) return false\n if (cp < 0x11c90) return true\n if (cp < 0x11d00) return false\n if (cp < 0x11d07) return true\n return false\n }\n if (cp < 0x11d0a) return true\n if (cp < 0x11d0b) return false\n if (cp < 0x11d31) return true\n if (cp === 0x11d46) return true\n if (cp < 0x12000) return false\n if (cp < 0x1239a) return true\n if (cp < 0x12400) return false\n if (cp < 0x1246f) return true\n return false\n }\n if (cp < 0x16ad0) {\n if (cp < 0x12480) return false\n if (cp < 0x12544) return true\n if (cp < 0x13000) return false\n if (cp < 0x1342f) return true\n if (cp < 0x14400) return false\n if (cp < 0x14647) return true\n if (cp < 0x16800) return false\n if (cp < 0x16a39) return true\n if (cp < 0x16a40) return false\n if (cp < 0x16a5f) return true\n return false\n }\n if (cp < 0x16aee) return true\n if (cp < 0x16b00) return false\n if (cp < 0x16b30) return true\n if (cp < 0x16b40) return false\n if (cp < 0x16b44) return true\n if (cp < 0x16b63) return false\n if (cp < 0x16b78) return true\n if (cp < 0x16b7d) return false\n if (cp < 0x16b90) return true\n if (cp < 0x16f00) return false\n if (cp < 0x16f45) return true\n return false\n }\n if (cp < 0x1e800) {\n if (cp < 0x1d4c5) {\n if (cp < 0x1bc90) {\n if (cp < 0x1b000) {\n if (cp === 0x16f50) return true\n if (cp < 0x16f93) return false\n if (cp < 0x16fa0) return true\n if (cp < 0x16fe0) return false\n if (cp < 0x16fe2) return true\n if (cp < 0x17000) return false\n if (cp < 0x187ed) return true\n if (cp < 0x18800) return false\n if (cp < 0x18af3) return true\n return false\n }\n if (cp < 0x1b11f) return true\n if (cp < 0x1b170) return false\n if (cp < 0x1b2fc) return true\n if (cp < 0x1bc00) return false\n if (cp < 0x1bc6b) return true\n if (cp < 0x1bc70) return false\n if (cp < 0x1bc7d) return true\n if (cp < 0x1bc80) return false\n if (cp < 0x1bc89) return true\n return false\n }\n if (cp < 0x1d4a5) {\n if (cp < 0x1bc90) return false\n if (cp < 0x1bc9a) return true\n if (cp < 0x1d400) return false\n if (cp < 0x1d455) return true\n if (cp < 0x1d456) return false\n if (cp < 0x1d49d) return true\n if (cp < 0x1d49e) return false\n if (cp < 0x1d4a0) return true\n if (cp === 0x1d4a2) return true\n return false\n }\n if (cp < 0x1d4a7) return true\n if (cp < 0x1d4a9) return false\n if (cp < 0x1d4ad) return true\n if (cp < 0x1d4ae) return false\n if (cp < 0x1d4ba) return true\n if (cp === 0x1d4bb) return true\n if (cp < 0x1d4bd) return false\n if (cp < 0x1d4c4) return true\n return false\n }\n if (cp < 0x1d6a8) {\n if (cp < 0x1d53b) {\n if (cp < 0x1d4c5) return false\n if (cp < 0x1d506) return true\n if (cp < 0x1d507) return false\n if (cp < 0x1d50b) return true\n if (cp < 0x1d50d) return false\n if (cp < 0x1d515) return true\n if (cp < 0x1d516) return false\n if (cp < 0x1d51d) return true\n if (cp < 0x1d51e) return false\n if (cp < 0x1d53a) return true\n return false\n }\n if (cp < 0x1d53f) return true\n if (cp < 0x1d540) return false\n if (cp < 0x1d545) return true\n if (cp === 0x1d546) return true\n if (cp < 0x1d54a) return false\n if (cp < 0x1d551) return true\n if (cp < 0x1d552) return false\n if (cp < 0x1d6a6) return true\n return false\n }\n if (cp < 0x1d736) {\n if (cp < 0x1d6a8) return false\n if (cp < 0x1d6c1) return true\n if (cp < 0x1d6c2) return false\n if (cp < 0x1d6db) return true\n if (cp < 0x1d6dc) return false\n if (cp < 0x1d6fb) return true\n if (cp < 0x1d6fc) return false\n if (cp < 0x1d715) return true\n if (cp < 0x1d716) return false\n if (cp < 0x1d735) return true\n return false\n }\n if (cp < 0x1d74f) return true\n if (cp < 0x1d750) return false\n if (cp < 0x1d76f) return true\n if (cp < 0x1d770) return false\n if (cp < 0x1d789) return true\n if (cp < 0x1d78a) return false\n if (cp < 0x1d7a9) return true\n if (cp < 0x1d7aa) return false\n if (cp < 0x1d7c3) return true\n if (cp < 0x1d7c4) return false\n if (cp < 0x1d7cc) return true\n return false\n }\n if (cp < 0x1ee5b) {\n if (cp < 0x1ee3b) {\n if (cp < 0x1ee24) {\n if (cp < 0x1e800) return false\n if (cp < 0x1e8c5) return true\n if (cp < 0x1e900) return false\n if (cp < 0x1e944) return true\n if (cp < 0x1ee00) return false\n if (cp < 0x1ee04) return true\n if (cp < 0x1ee05) return false\n if (cp < 0x1ee20) return true\n if (cp < 0x1ee21) return false\n if (cp < 0x1ee23) return true\n return false\n }\n if (cp === 0x1ee24) return true\n if (cp === 0x1ee27) return true\n if (cp < 0x1ee29) return false\n if (cp < 0x1ee33) return true\n if (cp < 0x1ee34) return false\n if (cp < 0x1ee38) return true\n if (cp === 0x1ee39) return true\n return false\n }\n if (cp < 0x1ee4d) {\n if (cp === 0x1ee3b) return true\n if (cp === 0x1ee42) return true\n if (cp === 0x1ee47) return true\n if (cp === 0x1ee49) return true\n if (cp === 0x1ee4b) return true\n return false\n }\n if (cp < 0x1ee50) return true\n if (cp < 0x1ee51) return false\n if (cp < 0x1ee53) return true\n if (cp === 0x1ee54) return true\n if (cp === 0x1ee57) return true\n if (cp === 0x1ee59) return true\n return false\n }\n if (cp < 0x1ee80) {\n if (cp < 0x1ee67) {\n if (cp === 0x1ee5b) return true\n if (cp === 0x1ee5d) return true\n if (cp === 0x1ee5f) return true\n if (cp < 0x1ee61) return false\n if (cp < 0x1ee63) return true\n if (cp === 0x1ee64) return true\n return false\n }\n if (cp < 0x1ee6b) return true\n if (cp < 0x1ee6c) return false\n if (cp < 0x1ee73) return true\n if (cp < 0x1ee74) return false\n if (cp < 0x1ee78) return true\n if (cp < 0x1ee79) return false\n if (cp < 0x1ee7d) return true\n if (cp === 0x1ee7e) return true\n return false\n }\n if (cp < 0x20000) {\n if (cp < 0x1ee80) return false\n if (cp < 0x1ee8a) return true\n if (cp < 0x1ee8b) return false\n if (cp < 0x1ee9c) return true\n if (cp < 0x1eea1) return false\n if (cp < 0x1eea4) return true\n if (cp < 0x1eea5) return false\n if (cp < 0x1eeaa) return true\n if (cp < 0x1eeab) return false\n if (cp < 0x1eebc) return true\n return false\n }\n if (cp < 0x2a6d7) return true\n if (cp < 0x2a700) return false\n if (cp < 0x2b735) return true\n if (cp < 0x2b740) return false\n if (cp < 0x2b81e) return true\n if (cp < 0x2b820) return false\n if (cp < 0x2cea2) return true\n if (cp < 0x2ceb0) return false\n if (cp < 0x2ebe1) return true\n if (cp < 0x2f800) return false\n if (cp < 0x2fa1e) return true\n return false\n}\n\nfunction isLargeIdContinue(cp: number): boolean {\n if (cp < 0x1bf2) {\n if (cp < 0xd62) {\n if (cp < 0xa83) {\n if (cp < 0x93b) {\n if (cp < 0x6ea) {\n if (cp < 0x5c7) {\n if (cp === 0xb7) return true\n if (cp < 0x300) return false\n if (cp < 0x370) return true\n if (cp === 0x387) return true\n if (cp < 0x483) return false\n if (cp < 0x488) return true\n if (cp < 0x591) return false\n if (cp < 0x5be) return true\n if (cp === 0x5bf) return true\n if (cp < 0x5c1) return false\n if (cp < 0x5c3) return true\n if (cp < 0x5c4) return false\n if (cp < 0x5c6) return true\n return false\n }\n if (cp === 0x5c7) return true\n if (cp < 0x610) return false\n if (cp < 0x61b) return true\n if (cp < 0x64b) return false\n if (cp < 0x660) return true\n if (cp < 0x660) return false\n if (cp < 0x66a) return true\n if (cp === 0x670) return true\n if (cp < 0x6d6) return false\n if (cp < 0x6dd) return true\n if (cp < 0x6df) return false\n if (cp < 0x6e5) return true\n if (cp < 0x6e7) return false\n if (cp < 0x6e9) return true\n return false\n }\n if (cp < 0x81b) {\n if (cp < 0x6ea) return false\n if (cp < 0x6ee) return true\n if (cp < 0x6f0) return false\n if (cp < 0x6fa) return true\n if (cp === 0x711) return true\n if (cp < 0x730) return false\n if (cp < 0x74b) return true\n if (cp < 0x7a6) return false\n if (cp < 0x7b1) return true\n if (cp < 0x7c0) return false\n if (cp < 0x7ca) return true\n if (cp < 0x7eb) return false\n if (cp < 0x7f4) return true\n if (cp < 0x816) return false\n if (cp < 0x81a) return true\n return false\n }\n if (cp < 0x824) return true\n if (cp < 0x825) return false\n if (cp < 0x828) return true\n if (cp < 0x829) return false\n if (cp < 0x82e) return true\n if (cp < 0x859) return false\n if (cp < 0x85c) return true\n if (cp < 0x8d4) return false\n if (cp < 0x8e2) return true\n if (cp < 0x8e3) return false\n if (cp < 0x903) return true\n if (cp === 0x903) return true\n if (cp === 0x93a) return true\n return false\n }\n if (cp < 0x9cb) {\n if (cp < 0x962) {\n if (cp === 0x93b) return true\n if (cp === 0x93c) return true\n if (cp < 0x93e) return false\n if (cp < 0x941) return true\n if (cp < 0x941) return false\n if (cp < 0x949) return true\n if (cp < 0x949) return false\n if (cp < 0x94d) return true\n if (cp === 0x94d) return true\n if (cp < 0x94e) return false\n if (cp < 0x950) return true\n if (cp < 0x951) return false\n if (cp < 0x958) return true\n return false\n }\n if (cp < 0x964) return true\n if (cp < 0x966) return false\n if (cp < 0x970) return true\n if (cp === 0x981) return true\n if (cp < 0x982) return false\n if (cp < 0x984) return true\n if (cp === 0x9bc) return true\n if (cp < 0x9be) return false\n if (cp < 0x9c1) return true\n if (cp < 0x9c1) return false\n if (cp < 0x9c5) return true\n if (cp < 0x9c7) return false\n if (cp < 0x9c9) return true\n return false\n }\n if (cp < 0xa3e) {\n if (cp < 0x9cb) return false\n if (cp < 0x9cd) return true\n if (cp === 0x9cd) return true\n if (cp === 0x9d7) return true\n if (cp < 0x9e2) return false\n if (cp < 0x9e4) return true\n if (cp < 0x9e6) return false\n if (cp < 0x9f0) return true\n if (cp < 0xa01) return false\n if (cp < 0xa03) return true\n if (cp === 0xa03) return true\n if (cp === 0xa3c) return true\n return false\n }\n if (cp < 0xa41) return true\n if (cp < 0xa41) return false\n if (cp < 0xa43) return true\n if (cp < 0xa47) return false\n if (cp < 0xa49) return true\n if (cp < 0xa4b) return false\n if (cp < 0xa4e) return true\n if (cp === 0xa51) return true\n if (cp < 0xa66) return false\n if (cp < 0xa70) return true\n if (cp < 0xa70) return false\n if (cp < 0xa72) return true\n if (cp === 0xa75) return true\n if (cp < 0xa81) return false\n if (cp < 0xa83) return true\n return false\n }\n if (cp < 0xbd7) {\n if (cp < 0xb40) {\n if (cp < 0xae2) {\n if (cp === 0xa83) return true\n if (cp === 0xabc) return true\n if (cp < 0xabe) return false\n if (cp < 0xac1) return true\n if (cp < 0xac1) return false\n if (cp < 0xac6) return true\n if (cp < 0xac7) return false\n if (cp < 0xac9) return true\n if (cp === 0xac9) return true\n if (cp < 0xacb) return false\n if (cp < 0xacd) return true\n if (cp === 0xacd) return true\n return false\n }\n if (cp < 0xae4) return true\n if (cp < 0xae6) return false\n if (cp < 0xaf0) return true\n if (cp < 0xafa) return false\n if (cp < 0xb00) return true\n if (cp === 0xb01) return true\n if (cp < 0xb02) return false\n if (cp < 0xb04) return true\n if (cp === 0xb3c) return true\n if (cp === 0xb3e) return true\n if (cp === 0xb3f) return true\n return false\n }\n if (cp < 0xb66) {\n if (cp === 0xb40) return true\n if (cp < 0xb41) return false\n if (cp < 0xb45) return true\n if (cp < 0xb47) return false\n if (cp < 0xb49) return true\n if (cp < 0xb4b) return false\n if (cp < 0xb4d) return true\n if (cp === 0xb4d) return true\n if (cp === 0xb56) return true\n if (cp === 0xb57) return true\n if (cp < 0xb62) return false\n if (cp < 0xb64) return true\n return false\n }\n if (cp < 0xb70) return true\n if (cp === 0xb82) return true\n if (cp < 0xbbe) return false\n if (cp < 0xbc0) return true\n if (cp === 0xbc0) return true\n if (cp < 0xbc1) return false\n if (cp < 0xbc3) return true\n if (cp < 0xbc6) return false\n if (cp < 0xbc9) return true\n if (cp < 0xbca) return false\n if (cp < 0xbcd) return true\n if (cp === 0xbcd) return true\n return false\n }\n if (cp < 0xcc0) {\n if (cp < 0xc55) {\n if (cp === 0xbd7) return true\n if (cp < 0xbe6) return false\n if (cp < 0xbf0) return true\n if (cp === 0xc00) return true\n if (cp < 0xc01) return false\n if (cp < 0xc04) return true\n if (cp < 0xc3e) return false\n if (cp < 0xc41) return true\n if (cp < 0xc41) return false\n if (cp < 0xc45) return true\n if (cp < 0xc46) return false\n if (cp < 0xc49) return true\n if (cp < 0xc4a) return false\n if (cp < 0xc4e) return true\n return false\n }\n if (cp < 0xc57) return true\n if (cp < 0xc62) return false\n if (cp < 0xc64) return true\n if (cp < 0xc66) return false\n if (cp < 0xc70) return true\n if (cp === 0xc81) return true\n if (cp < 0xc82) return false\n if (cp < 0xc84) return true\n if (cp === 0xcbc) return true\n if (cp === 0xcbe) return true\n if (cp === 0xcbf) return true\n return false\n }\n if (cp < 0xd00) {\n if (cp < 0xcc0) return false\n if (cp < 0xcc5) return true\n if (cp === 0xcc6) return true\n if (cp < 0xcc7) return false\n if (cp < 0xcc9) return true\n if (cp < 0xcca) return false\n if (cp < 0xccc) return true\n if (cp < 0xccc) return false\n if (cp < 0xcce) return true\n if (cp < 0xcd5) return false\n if (cp < 0xcd7) return true\n if (cp < 0xce2) return false\n if (cp < 0xce4) return true\n if (cp < 0xce6) return false\n if (cp < 0xcf0) return true\n return false\n }\n if (cp < 0xd02) return true\n if (cp < 0xd02) return false\n if (cp < 0xd04) return true\n if (cp < 0xd3b) return false\n if (cp < 0xd3d) return true\n if (cp < 0xd3e) return false\n if (cp < 0xd41) return true\n if (cp < 0xd41) return false\n if (cp < 0xd45) return true\n if (cp < 0xd46) return false\n if (cp < 0xd49) return true\n if (cp < 0xd4a) return false\n if (cp < 0xd4d) return true\n if (cp === 0xd4d) return true\n if (cp === 0xd57) return true\n return false\n }\n if (cp < 0x17be) {\n if (cp < 0x102b) {\n if (cp < 0xebb) {\n if (cp < 0xde6) {\n if (cp < 0xd62) return false\n if (cp < 0xd64) return true\n if (cp < 0xd66) return false\n if (cp < 0xd70) return true\n if (cp < 0xd82) return false\n if (cp < 0xd84) return true\n if (cp === 0xdca) return true\n if (cp < 0xdcf) return false\n if (cp < 0xdd2) return true\n if (cp < 0xdd2) return false\n if (cp < 0xdd5) return true\n if (cp === 0xdd6) return true\n if (cp < 0xdd8) return false\n if (cp < 0xde0) return true\n return false\n }\n if (cp < 0xdf0) return true\n if (cp < 0xdf2) return false\n if (cp < 0xdf4) return true\n if (cp === 0xe31) return true\n if (cp < 0xe34) return false\n if (cp < 0xe3b) return true\n if (cp < 0xe47) return false\n if (cp < 0xe4f) return true\n if (cp < 0xe50) return false\n if (cp < 0xe5a) return true\n if (cp === 0xeb1) return true\n if (cp < 0xeb4) return false\n if (cp < 0xeba) return true\n return false\n }\n if (cp < 0xf3e) {\n if (cp < 0xebb) return false\n if (cp < 0xebd) return true\n if (cp < 0xec8) return false\n if (cp < 0xece) return true\n if (cp < 0xed0) return false\n if (cp < 0xeda) return true\n if (cp < 0xf18) return false\n if (cp < 0xf1a) return true\n if (cp < 0xf20) return false\n if (cp < 0xf2a) return true\n if (cp === 0xf35) return true\n if (cp === 0xf37) return true\n if (cp === 0xf39) return true\n return false\n }\n if (cp < 0xf40) return true\n if (cp < 0xf71) return false\n if (cp < 0xf7f) return true\n if (cp === 0xf7f) return true\n if (cp < 0xf80) return false\n if (cp < 0xf85) return true\n if (cp < 0xf86) return false\n if (cp < 0xf88) return true\n if (cp < 0xf8d) return false\n if (cp < 0xf98) return true\n if (cp < 0xf99) return false\n if (cp < 0xfbd) return true\n if (cp === 0xfc6) return true\n return false\n }\n if (cp < 0x1083) {\n if (cp < 0x1040) {\n if (cp < 0x102b) return false\n if (cp < 0x102d) return true\n if (cp < 0x102d) return false\n if (cp < 0x1031) return true\n if (cp === 0x1031) return true\n if (cp < 0x1032) return false\n if (cp < 0x1038) return true\n if (cp === 0x1038) return true\n if (cp < 0x1039) return false\n if (cp < 0x103b) return true\n if (cp < 0x103b) return false\n if (cp < 0x103d) return true\n if (cp < 0x103d) return false\n if (cp < 0x103f) return true\n return false\n }\n if (cp < 0x104a) return true\n if (cp < 0x1056) return false\n if (cp < 0x1058) return true\n if (cp < 0x1058) return false\n if (cp < 0x105a) return true\n if (cp < 0x105e) return false\n if (cp < 0x1061) return true\n if (cp < 0x1062) return false\n if (cp < 0x1065) return true\n if (cp < 0x1067) return false\n if (cp < 0x106e) return true\n if (cp < 0x1071) return false\n if (cp < 0x1075) return true\n if (cp === 0x1082) return true\n return false\n }\n if (cp < 0x135d) {\n if (cp < 0x1083) return false\n if (cp < 0x1085) return true\n if (cp < 0x1085) return false\n if (cp < 0x1087) return true\n if (cp < 0x1087) return false\n if (cp < 0x108d) return true\n if (cp === 0x108d) return true\n if (cp === 0x108f) return true\n if (cp < 0x1090) return false\n if (cp < 0x109a) return true\n if (cp < 0x109a) return false\n if (cp < 0x109d) return true\n if (cp === 0x109d) return true\n return false\n }\n if (cp < 0x1360) return true\n if (cp < 0x1369) return false\n if (cp < 0x1372) return true\n if (cp < 0x1712) return false\n if (cp < 0x1715) return true\n if (cp < 0x1732) return false\n if (cp < 0x1735) return true\n if (cp < 0x1752) return false\n if (cp < 0x1754) return true\n if (cp < 0x1772) return false\n if (cp < 0x1774) return true\n if (cp < 0x17b4) return false\n if (cp < 0x17b6) return true\n if (cp === 0x17b6) return true\n if (cp < 0x17b7) return false\n if (cp < 0x17be) return true\n return false\n }\n if (cp < 0x1a73) {\n if (cp < 0x1939) {\n if (cp < 0x18a9) {\n if (cp < 0x17be) return false\n if (cp < 0x17c6) return true\n if (cp === 0x17c6) return true\n if (cp < 0x17c7) return false\n if (cp < 0x17c9) return true\n if (cp < 0x17c9) return false\n if (cp < 0x17d4) return true\n if (cp === 0x17dd) return true\n if (cp < 0x17e0) return false\n if (cp < 0x17ea) return true\n if (cp < 0x180b) return false\n if (cp < 0x180e) return true\n if (cp < 0x1810) return false\n if (cp < 0x181a) return true\n return false\n }\n if (cp === 0x18a9) return true\n if (cp < 0x1920) return false\n if (cp < 0x1923) return true\n if (cp < 0x1923) return false\n if (cp < 0x1927) return true\n if (cp < 0x1927) return false\n if (cp < 0x1929) return true\n if (cp < 0x1929) return false\n if (cp < 0x192c) return true\n if (cp < 0x1930) return false\n if (cp < 0x1932) return true\n if (cp === 0x1932) return true\n if (cp < 0x1933) return false\n if (cp < 0x1939) return true\n return false\n }\n if (cp < 0x1a56) {\n if (cp < 0x1939) return false\n if (cp < 0x193c) return true\n if (cp < 0x1946) return false\n if (cp < 0x1950) return true\n if (cp < 0x19d0) return false\n if (cp < 0x19da) return true\n if (cp === 0x19da) return true\n if (cp < 0x1a17) return false\n if (cp < 0x1a19) return true\n if (cp < 0x1a19) return false\n if (cp < 0x1a1b) return true\n if (cp === 0x1a1b) return true\n if (cp === 0x1a55) return true\n return false\n }\n if (cp === 0x1a56) return true\n if (cp === 0x1a57) return true\n if (cp < 0x1a58) return false\n if (cp < 0x1a5f) return true\n if (cp === 0x1a60) return true\n if (cp === 0x1a61) return true\n if (cp === 0x1a62) return true\n if (cp < 0x1a63) return false\n if (cp < 0x1a65) return true\n if (cp < 0x1a65) return false\n if (cp < 0x1a6d) return true\n if (cp < 0x1a6d) return false\n if (cp < 0x1a73) return true\n return false\n }\n if (cp < 0x1b6b) {\n if (cp < 0x1b35) {\n if (cp < 0x1a73) return false\n if (cp < 0x1a7d) return true\n if (cp === 0x1a7f) return true\n if (cp < 0x1a80) return false\n if (cp < 0x1a8a) return true\n if (cp < 0x1a90) return false\n if (cp < 0x1a9a) return true\n if (cp < 0x1ab0) return false\n if (cp < 0x1abe) return true\n if (cp < 0x1b00) return false\n if (cp < 0x1b04) return true\n if (cp === 0x1b04) return true\n if (cp === 0x1b34) return true\n return false\n }\n if (cp === 0x1b35) return true\n if (cp < 0x1b36) return false\n if (cp < 0x1b3b) return true\n if (cp === 0x1b3b) return true\n if (cp === 0x1b3c) return true\n if (cp < 0x1b3d) return false\n if (cp < 0x1b42) return true\n if (cp === 0x1b42) return true\n if (cp < 0x1b43) return false\n if (cp < 0x1b45) return true\n if (cp < 0x1b50) return false\n if (cp < 0x1b5a) return true\n return false\n }\n if (cp < 0x1bab) {\n if (cp < 0x1b6b) return false\n if (cp < 0x1b74) return true\n if (cp < 0x1b80) return false\n if (cp < 0x1b82) return true\n if (cp === 0x1b82) return true\n if (cp === 0x1ba1) return true\n if (cp < 0x1ba2) return false\n if (cp < 0x1ba6) return true\n if (cp < 0x1ba6) return false\n if (cp < 0x1ba8) return true\n if (cp < 0x1ba8) return false\n if (cp < 0x1baa) return true\n if (cp === 0x1baa) return true\n return false\n }\n if (cp < 0x1bae) return true\n if (cp < 0x1bb0) return false\n if (cp < 0x1bba) return true\n if (cp === 0x1be6) return true\n if (cp === 0x1be7) return true\n if (cp < 0x1be8) return false\n if (cp < 0x1bea) return true\n if (cp < 0x1bea) return false\n if (cp < 0x1bed) return true\n if (cp === 0x1bed) return true\n if (cp === 0x1bee) return true\n if (cp < 0x1bef) return false\n if (cp < 0x1bf2) return true\n return false\n }\n if (cp < 0x111d0) {\n if (cp < 0xaa43) {\n if (cp < 0xa69e) {\n if (cp < 0x1dc0) {\n if (cp < 0x1cd4) {\n if (cp < 0x1bf2) return false\n if (cp < 0x1bf4) return true\n if (cp < 0x1c24) return false\n if (cp < 0x1c2c) return true\n if (cp < 0x1c2c) return false\n if (cp < 0x1c34) return true\n if (cp < 0x1c34) return false\n if (cp < 0x1c36) return true\n if (cp < 0x1c36) return false\n if (cp < 0x1c38) return true\n if (cp < 0x1c40) return false\n if (cp < 0x1c4a) return true\n if (cp < 0x1c50) return false\n if (cp < 0x1c5a) return true\n if (cp < 0x1cd0) return false\n if (cp < 0x1cd3) return true\n return false\n }\n if (cp < 0x1ce1) return true\n if (cp === 0x1ce1) return true\n if (cp < 0x1ce2) return false\n if (cp < 0x1ce9) return true\n if (cp === 0x1ced) return true\n if (cp < 0x1cf2) return false\n if (cp < 0x1cf4) return true\n if (cp === 0x1cf4) return true\n if (cp === 0x1cf7) return true\n if (cp < 0x1cf8) return false\n if (cp < 0x1cfa) return true\n return false\n }\n if (cp < 0x2d7f) {\n if (cp < 0x1dc0) return false\n if (cp < 0x1dfa) return true\n if (cp < 0x1dfb) return false\n if (cp < 0x1e00) return true\n if (cp < 0x203f) return false\n if (cp < 0x2041) return true\n if (cp === 0x2054) return true\n if (cp < 0x20d0) return false\n if (cp < 0x20dd) return true\n if (cp === 0x20e1) return true\n if (cp < 0x20e5) return false\n if (cp < 0x20f1) return true\n if (cp < 0x2cef) return false\n if (cp < 0x2cf2) return true\n return false\n }\n if (cp === 0x2d7f) return true\n if (cp < 0x2de0) return false\n if (cp < 0x2e00) return true\n if (cp < 0x302a) return false\n if (cp < 0x302e) return true\n if (cp < 0x302e) return false\n if (cp < 0x3030) return true\n if (cp < 0x3099) return false\n if (cp < 0x309b) return true\n if (cp < 0xa620) return false\n if (cp < 0xa62a) return true\n if (cp === 0xa66f) return true\n if (cp < 0xa674) return false\n if (cp < 0xa67e) return true\n return false\n }\n if (cp < 0xa952) {\n if (cp < 0xa880) {\n if (cp < 0xa69e) return false\n if (cp < 0xa6a0) return true\n if (cp < 0xa6f0) return false\n if (cp < 0xa6f2) return true\n if (cp === 0xa802) return true\n if (cp === 0xa806) return true\n if (cp === 0xa80b) return true\n if (cp < 0xa823) return false\n if (cp < 0xa825) return true\n if (cp < 0xa825) return false\n if (cp < 0xa827) return true\n if (cp === 0xa827) return true\n return false\n }\n if (cp < 0xa882) return true\n if (cp < 0xa8b4) return false\n if (cp < 0xa8c4) return true\n if (cp < 0xa8c4) return false\n if (cp < 0xa8c6) return true\n if (cp < 0xa8d0) return false\n if (cp < 0xa8da) return true\n if (cp < 0xa8e0) return false\n if (cp < 0xa8f2) return true\n if (cp < 0xa900) return false\n if (cp < 0xa90a) return true\n if (cp < 0xa926) return false\n if (cp < 0xa92e) return true\n if (cp < 0xa947) return false\n if (cp < 0xa952) return true\n return false\n }\n if (cp < 0xa9bd) {\n if (cp < 0xa952) return false\n if (cp < 0xa954) return true\n if (cp < 0xa980) return false\n if (cp < 0xa983) return true\n if (cp === 0xa983) return true\n if (cp === 0xa9b3) return true\n if (cp < 0xa9b4) return false\n if (cp < 0xa9b6) return true\n if (cp < 0xa9b6) return false\n if (cp < 0xa9ba) return true\n if (cp < 0xa9ba) return false\n if (cp < 0xa9bc) return true\n if (cp === 0xa9bc) return true\n return false\n }\n if (cp < 0xa9c1) return true\n if (cp < 0xa9d0) return false\n if (cp < 0xa9da) return true\n if (cp === 0xa9e5) return true\n if (cp < 0xa9f0) return false\n if (cp < 0xa9fa) return true\n if (cp < 0xaa29) return false\n if (cp < 0xaa2f) return true\n if (cp < 0xaa2f) return false\n if (cp < 0xaa31) return true\n if (cp < 0xaa31) return false\n if (cp < 0xaa33) return true\n if (cp < 0xaa33) return false\n if (cp < 0xaa35) return true\n if (cp < 0xaa35) return false\n if (cp < 0xaa37) return true\n return false\n }\n if (cp < 0x102e0) {\n if (cp < 0xaaf6) {\n if (cp < 0xaab2) {\n if (cp === 0xaa43) return true\n if (cp === 0xaa4c) return true\n if (cp === 0xaa4d) return true\n if (cp < 0xaa50) return false\n if (cp < 0xaa5a) return true\n if (cp === 0xaa7b) return true\n if (cp === 0xaa7c) return true\n if (cp === 0xaa7d) return true\n if (cp === 0xaab0) return true\n return false\n }\n if (cp < 0xaab5) return true\n if (cp < 0xaab7) return false\n if (cp < 0xaab9) return true\n if (cp < 0xaabe) return false\n if (cp < 0xaac0) return true\n if (cp === 0xaac1) return true\n if (cp === 0xaaeb) return true\n if (cp < 0xaaec) return false\n if (cp < 0xaaee) return true\n if (cp < 0xaaee) return false\n if (cp < 0xaaf0) return true\n if (cp === 0xaaf5) return true\n return false\n }\n if (cp < 0xabf0) {\n if (cp === 0xaaf6) return true\n if (cp < 0xabe3) return false\n if (cp < 0xabe5) return true\n if (cp === 0xabe5) return true\n if (cp < 0xabe6) return false\n if (cp < 0xabe8) return true\n if (cp === 0xabe8) return true\n if (cp < 0xabe9) return false\n if (cp < 0xabeb) return true\n if (cp === 0xabec) return true\n if (cp === 0xabed) return true\n return false\n }\n if (cp < 0xabfa) return true\n if (cp === 0xfb1e) return true\n if (cp < 0xfe00) return false\n if (cp < 0xfe10) return true\n if (cp < 0xfe20) return false\n if (cp < 0xfe30) return true\n if (cp < 0xfe33) return false\n if (cp < 0xfe35) return true\n if (cp < 0xfe4d) return false\n if (cp < 0xfe50) return true\n if (cp < 0xff10) return false\n if (cp < 0xff1a) return true\n if (cp === 0xff3f) return true\n if (cp === 0x101fd) return true\n return false\n }\n if (cp < 0x110b0) {\n if (cp < 0x10ae5) {\n if (cp === 0x102e0) return true\n if (cp < 0x10376) return false\n if (cp < 0x1037b) return true\n if (cp < 0x104a0) return false\n if (cp < 0x104aa) return true\n if (cp < 0x10a01) return false\n if (cp < 0x10a04) return true\n if (cp < 0x10a05) return false\n if (cp < 0x10a07) return true\n if (cp < 0x10a0c) return false\n if (cp < 0x10a10) return true\n if (cp < 0x10a38) return false\n if (cp < 0x10a3b) return true\n if (cp === 0x10a3f) return true\n return false\n }\n if (cp < 0x10ae7) return true\n if (cp === 0x11000) return true\n if (cp === 0x11001) return true\n if (cp === 0x11002) return true\n if (cp < 0x11038) return false\n if (cp < 0x11047) return true\n if (cp < 0x11066) return false\n if (cp < 0x11070) return true\n if (cp < 0x1107f) return false\n if (cp < 0x11082) return true\n if (cp === 0x11082) return true\n return false\n }\n if (cp < 0x1112d) {\n if (cp < 0x110b0) return false\n if (cp < 0x110b3) return true\n if (cp < 0x110b3) return false\n if (cp < 0x110b7) return true\n if (cp < 0x110b7) return false\n if (cp < 0x110b9) return true\n if (cp < 0x110b9) return false\n if (cp < 0x110bb) return true\n if (cp < 0x110f0) return false\n if (cp < 0x110fa) return true\n if (cp < 0x11100) return false\n if (cp < 0x11103) return true\n if (cp < 0x11127) return false\n if (cp < 0x1112c) return true\n if (cp === 0x1112c) return true\n return false\n }\n if (cp < 0x11135) return true\n if (cp < 0x11136) return false\n if (cp < 0x11140) return true\n if (cp === 0x11173) return true\n if (cp < 0x11180) return false\n if (cp < 0x11182) return true\n if (cp === 0x11182) return true\n if (cp < 0x111b3) return false\n if (cp < 0x111b6) return true\n if (cp < 0x111b6) return false\n if (cp < 0x111bf) return true\n if (cp < 0x111bf) return false\n if (cp < 0x111c1) return true\n if (cp < 0x111ca) return false\n if (cp < 0x111cd) return true\n return false\n }\n if (cp < 0x11726) {\n if (cp < 0x114b3) {\n if (cp < 0x11340) {\n if (cp < 0x112df) {\n if (cp < 0x111d0) return false\n if (cp < 0x111da) return true\n if (cp < 0x1122c) return false\n if (cp < 0x1122f) return true\n if (cp < 0x1122f) return false\n if (cp < 0x11232) return true\n if (cp < 0x11232) return false\n if (cp < 0x11234) return true\n if (cp === 0x11234) return true\n if (cp === 0x11235) return true\n if (cp < 0x11236) return false\n if (cp < 0x11238) return true\n if (cp === 0x1123e) return true\n return false\n }\n if (cp === 0x112df) return true\n if (cp < 0x112e0) return false\n if (cp < 0x112e3) return true\n if (cp < 0x112e3) return false\n if (cp < 0x112eb) return true\n if (cp < 0x112f0) return false\n if (cp < 0x112fa) return true\n if (cp < 0x11300) return false\n if (cp < 0x11302) return true\n if (cp < 0x11302) return false\n if (cp < 0x11304) return true\n if (cp === 0x1133c) return true\n if (cp < 0x1133e) return false\n if (cp < 0x11340) return true\n return false\n }\n if (cp < 0x11435) {\n if (cp === 0x11340) return true\n if (cp < 0x11341) return false\n if (cp < 0x11345) return true\n if (cp < 0x11347) return false\n if (cp < 0x11349) return true\n if (cp < 0x1134b) return false\n if (cp < 0x1134e) return true\n if (cp === 0x11357) return true\n if (cp < 0x11362) return false\n if (cp < 0x11364) return true\n if (cp < 0x11366) return false\n if (cp < 0x1136d) return true\n if (cp < 0x11370) return false\n if (cp < 0x11375) return true\n return false\n }\n if (cp < 0x11438) return true\n if (cp < 0x11438) return false\n if (cp < 0x11440) return true\n if (cp < 0x11440) return false\n if (cp < 0x11442) return true\n if (cp < 0x11442) return false\n if (cp < 0x11445) return true\n if (cp === 0x11445) return true\n if (cp === 0x11446) return true\n if (cp < 0x11450) return false\n if (cp < 0x1145a) return true\n if (cp < 0x114b0) return false\n if (cp < 0x114b3) return true\n return false\n }\n if (cp < 0x11633) {\n if (cp < 0x115af) {\n if (cp < 0x114b3) return false\n if (cp < 0x114b9) return true\n if (cp === 0x114b9) return true\n if (cp === 0x114ba) return true\n if (cp < 0x114bb) return false\n if (cp < 0x114bf) return true\n if (cp < 0x114bf) return false\n if (cp < 0x114c1) return true\n if (cp === 0x114c1) return true\n if (cp < 0x114c2) return false\n if (cp < 0x114c4) return true\n if (cp < 0x114d0) return false\n if (cp < 0x114da) return true\n return false\n }\n if (cp < 0x115b2) return true\n if (cp < 0x115b2) return false\n if (cp < 0x115b6) return true\n if (cp < 0x115b8) return false\n if (cp < 0x115bc) return true\n if (cp < 0x115bc) return false\n if (cp < 0x115be) return true\n if (cp === 0x115be) return true\n if (cp < 0x115bf) return false\n if (cp < 0x115c1) return true\n if (cp < 0x115dc) return false\n if (cp < 0x115de) return true\n if (cp < 0x11630) return false\n if (cp < 0x11633) return true\n return false\n }\n if (cp < 0x116ad) {\n if (cp < 0x11633) return false\n if (cp < 0x1163b) return true\n if (cp < 0x1163b) return false\n if (cp < 0x1163d) return true\n if (cp === 0x1163d) return true\n if (cp === 0x1163e) return true\n if (cp < 0x1163f) return false\n if (cp < 0x11641) return true\n if (cp < 0x11650) return false\n if (cp < 0x1165a) return true\n if (cp === 0x116ab) return true\n if (cp === 0x116ac) return true\n return false\n }\n if (cp === 0x116ad) return true\n if (cp < 0x116ae) return false\n if (cp < 0x116b0) return true\n if (cp < 0x116b0) return false\n if (cp < 0x116b6) return true\n if (cp === 0x116b6) return true\n if (cp === 0x116b7) return true\n if (cp < 0x116c0) return false\n if (cp < 0x116ca) return true\n if (cp < 0x1171d) return false\n if (cp < 0x11720) return true\n if (cp < 0x11720) return false\n if (cp < 0x11722) return true\n if (cp < 0x11722) return false\n if (cp < 0x11726) return true\n return false\n }\n if (cp < 0x11d3f) {\n if (cp < 0x11a98) {\n if (cp < 0x11a39) {\n if (cp === 0x11726) return true\n if (cp < 0x11727) return false\n if (cp < 0x1172c) return true\n if (cp < 0x11730) return false\n if (cp < 0x1173a) return true\n if (cp < 0x118e0) return false\n if (cp < 0x118ea) return true\n if (cp < 0x11a01) return false\n if (cp < 0x11a07) return true\n if (cp < 0x11a07) return false\n if (cp < 0x11a09) return true\n if (cp < 0x11a09) return false\n if (cp < 0x11a0b) return true\n if (cp < 0x11a33) return false\n if (cp < 0x11a39) return true\n return false\n }\n if (cp === 0x11a39) return true\n if (cp < 0x11a3b) return false\n if (cp < 0x11a3f) return true\n if (cp === 0x11a47) return true\n if (cp < 0x11a51) return false\n if (cp < 0x11a57) return true\n if (cp < 0x11a57) return false\n if (cp < 0x11a59) return true\n if (cp < 0x11a59) return false\n if (cp < 0x11a5c) return true\n if (cp < 0x11a8a) return false\n if (cp < 0x11a97) return true\n if (cp === 0x11a97) return true\n return false\n }\n if (cp < 0x11ca9) {\n if (cp < 0x11a98) return false\n if (cp < 0x11a9a) return true\n if (cp === 0x11c2f) return true\n if (cp < 0x11c30) return false\n if (cp < 0x11c37) return true\n if (cp < 0x11c38) return false\n if (cp < 0x11c3e) return true\n if (cp === 0x11c3e) return true\n if (cp === 0x11c3f) return true\n if (cp < 0x11c50) return false\n if (cp < 0x11c5a) return true\n if (cp < 0x11c92) return false\n if (cp < 0x11ca8) return true\n return false\n }\n if (cp === 0x11ca9) return true\n if (cp < 0x11caa) return false\n if (cp < 0x11cb1) return true\n if (cp === 0x11cb1) return true\n if (cp < 0x11cb2) return false\n if (cp < 0x11cb4) return true\n if (cp === 0x11cb4) return true\n if (cp < 0x11cb5) return false\n if (cp < 0x11cb7) return true\n if (cp < 0x11d31) return false\n if (cp < 0x11d37) return true\n if (cp === 0x11d3a) return true\n if (cp < 0x11d3c) return false\n if (cp < 0x11d3e) return true\n return false\n }\n if (cp < 0x1d242) {\n if (cp < 0x16f8f) {\n if (cp < 0x11d3f) return false\n if (cp < 0x11d46) return true\n if (cp === 0x11d47) return true\n if (cp < 0x11d50) return false\n if (cp < 0x11d5a) return true\n if (cp < 0x16a60) return false\n if (cp < 0x16a6a) return true\n if (cp < 0x16af0) return false\n if (cp < 0x16af5) return true\n if (cp < 0x16b30) return false\n if (cp < 0x16b37) return true\n if (cp < 0x16b50) return false\n if (cp < 0x16b5a) return true\n if (cp < 0x16f51) return false\n if (cp < 0x16f7f) return true\n return false\n }\n if (cp < 0x16f93) return true\n if (cp < 0x1bc9d) return false\n if (cp < 0x1bc9f) return true\n if (cp < 0x1d165) return false\n if (cp < 0x1d167) return true\n if (cp < 0x1d167) return false\n if (cp < 0x1d16a) return true\n if (cp < 0x1d16d) return false\n if (cp < 0x1d173) return true\n if (cp < 0x1d17b) return false\n if (cp < 0x1d183) return true\n if (cp < 0x1d185) return false\n if (cp < 0x1d18c) return true\n if (cp < 0x1d1aa) return false\n if (cp < 0x1d1ae) return true\n return false\n }\n if (cp < 0x1e000) {\n if (cp < 0x1d242) return false\n if (cp < 0x1d245) return true\n if (cp < 0x1d7ce) return false\n if (cp < 0x1d800) return true\n if (cp < 0x1da00) return false\n if (cp < 0x1da37) return true\n if (cp < 0x1da3b) return false\n if (cp < 0x1da6d) return true\n if (cp === 0x1da75) return true\n if (cp === 0x1da84) return true\n if (cp < 0x1da9b) return false\n if (cp < 0x1daa0) return true\n if (cp < 0x1daa1) return false\n if (cp < 0x1dab0) return true\n return false\n }\n if (cp < 0x1e007) return true\n if (cp < 0x1e008) return false\n if (cp < 0x1e019) return true\n if (cp < 0x1e01b) return false\n if (cp < 0x1e022) return true\n if (cp < 0x1e023) return false\n if (cp < 0x1e025) return true\n if (cp < 0x1e026) return false\n if (cp < 0x1e02b) return true\n if (cp < 0x1e8d0) return false\n if (cp < 0x1e8d7) return true\n if (cp < 0x1e944) return false\n if (cp < 0x1e94b) return true\n if (cp < 0x1e950) return false\n if (cp < 0x1e95a) return true\n if (cp < 0xe0100) return false\n if (cp < 0xe01f0) return true\n return false\n}\n","const PropertyData: Object & { [key: string]: Set<string> } = {\n $LONE: new Set([\n \"ASCII\",\n \"ASCII_Hex_Digit\",\n \"AHex\",\n \"Alphabetic\",\n \"Alpha\",\n \"Any\",\n \"Assigned\",\n \"Bidi_Control\",\n \"Bidi_C\",\n \"Bidi_Mirrored\",\n \"Bidi_M\",\n \"Case_Ignorable\",\n \"CI\",\n \"Cased\",\n \"Changes_When_Casefolded\",\n \"CWCF\",\n \"Changes_When_Casemapped\",\n \"CWCM\",\n \"Changes_When_Lowercased\",\n \"CWL\",\n \"Changes_When_NFKC_Casefolded\",\n \"CWKCF\",\n \"Changes_When_Titlecased\",\n \"CWT\",\n \"Changes_When_Uppercased\",\n \"CWU\",\n \"Dash\",\n \"Default_Ignorable_Code_Point\",\n \"DI\",\n \"Deprecated\",\n \"Dep\",\n \"Diacritic\",\n \"Dia\",\n \"Emoji\",\n \"Emoji_Component\",\n \"Emoji_Modifier\",\n \"Emoji_Modifier_Base\",\n \"Emoji_Presentation\",\n \"Extender\",\n \"Ext\",\n \"Grapheme_Base\",\n \"Gr_Base\",\n \"Grapheme_Extend\",\n \"Gr_Ext\",\n \"Hex_Digit\",\n \"Hex\",\n \"IDS_Binary_Operator\",\n \"IDSB\",\n \"IDS_Trinary_Operator\",\n \"IDST\",\n \"ID_Continue\",\n \"IDC\",\n \"ID_Start\",\n \"IDS\",\n \"Ideographic\",\n \"Ideo\",\n \"Join_Control\",\n \"Join_C\",\n \"Logical_Order_Exception\",\n \"LOE\",\n \"Lowercase\",\n \"Lower\",\n \"Math\",\n \"Noncharacter_Code_Point\",\n \"NChar\",\n \"Pattern_Syntax\",\n \"Pat_Syn\",\n \"Pattern_White_Space\",\n \"Pat_WS\",\n \"Quotation_Mark\",\n \"QMark\",\n \"Radical\",\n \"Regional_Indicator\",\n \"RI\",\n \"Sentence_Terminal\",\n \"STerm\",\n \"Soft_Dotted\",\n \"SD\",\n \"Terminal_Punctuation\",\n \"Term\",\n \"Unified_Ideograph\",\n \"UIdeo\",\n \"Uppercase\",\n \"Upper\",\n \"Variation_Selector\",\n \"VS\",\n \"White_Space\",\n \"space\",\n \"XID_Continue\",\n \"XIDC\",\n \"XID_Start\",\n \"XIDS\",\n ]),\n General_Category: new Set([\n \"Cased_Letter\",\n \"LC\",\n \"Close_Punctuation\",\n \"Pe\",\n \"Connector_Punctuation\",\n \"Pc\",\n \"Control\",\n \"Cc\",\n \"cntrl\",\n \"Currency_Symbol\",\n \"Sc\",\n \"Dash_Punctuation\",\n \"Pd\",\n \"Decimal_Number\",\n \"Nd\",\n \"digit\",\n \"Enclosing_Mark\",\n \"Me\",\n \"Final_Punctuation\",\n \"Pf\",\n \"Format\",\n \"Cf\",\n \"Initial_Punctuation\",\n \"Pi\",\n \"Letter\",\n \"L\",\n \"Letter_Number\",\n \"Nl\",\n \"Line_Separator\",\n \"Zl\",\n \"Lowercase_Letter\",\n \"Ll\",\n \"Mark\",\n \"M\",\n \"Combining_Mark\",\n \"Math_Symbol\",\n \"Sm\",\n \"Modifier_Letter\",\n \"Lm\",\n \"Modifier_Symbol\",\n \"Sk\",\n \"Nonspacing_Mark\",\n \"Mn\",\n \"Number\",\n \"N\",\n \"Open_Punctuation\",\n \"Ps\",\n \"Other\",\n \"C\",\n \"Other_Letter\",\n \"Lo\",\n \"Other_Number\",\n \"No\",\n \"Other_Punctuation\",\n \"Po\",\n \"Other_Symbol\",\n \"So\",\n \"Paragraph_Separator\",\n \"Zp\",\n \"Private_Use\",\n \"Co\",\n \"Punctuation\",\n \"P\",\n \"punct\",\n \"Separator\",\n \"Z\",\n \"Space_Separator\",\n \"Zs\",\n \"Spacing_Mark\",\n \"Mc\",\n \"Surrogate\",\n \"Cs\",\n \"Symbol\",\n \"S\",\n \"Titlecase_Letter\",\n \"Lt\",\n \"Unassigned\",\n \"Cn\",\n \"Uppercase_Letter\",\n \"Lu\",\n ]),\n Script: new Set([\n \"Adlam\",\n \"Adlm\",\n \"Ahom\",\n \"Anatolian_Hieroglyphs\",\n \"Hluw\",\n \"Arabic\",\n \"Arab\",\n \"Armenian\",\n \"Armn\",\n \"Avestan\",\n \"Avst\",\n \"Balinese\",\n \"Bali\",\n \"Bamum\",\n \"Bamu\",\n \"Bassa_Vah\",\n \"Bass\",\n \"Batak\",\n \"Batk\",\n \"Bengali\",\n \"Beng\",\n \"Bhaiksuki\",\n \"Bhks\",\n \"Bopomofo\",\n \"Bopo\",\n \"Brahmi\",\n \"Brah\",\n \"Braille\",\n \"Brai\",\n \"Buginese\",\n \"Bugi\",\n \"Buhid\",\n \"Buhd\",\n \"Canadian_Aboriginal\",\n \"Cans\",\n \"Carian\",\n \"Cari\",\n \"Caucasian_Albanian\",\n \"Aghb\",\n \"Chakma\",\n \"Cakm\",\n \"Cham\",\n \"Cherokee\",\n \"Cher\",\n \"Common\",\n \"Zyyy\",\n \"Coptic\",\n \"Copt\",\n \"Qaac\",\n \"Cuneiform\",\n \"Xsux\",\n \"Cypriot\",\n \"Cprt\",\n \"Cyrillic\",\n \"Cyrl\",\n \"Deseret\",\n \"Dsrt\",\n \"Devanagari\",\n \"Deva\",\n \"Duployan\",\n \"Dupl\",\n \"Egyptian_Hieroglyphs\",\n \"Egyp\",\n \"Elbasan\",\n \"Elba\",\n \"Ethiopic\",\n \"Ethi\",\n \"Georgian\",\n \"Geor\",\n \"Glagolitic\",\n \"Glag\",\n \"Gothic\",\n \"Goth\",\n \"Grantha\",\n \"Gran\",\n \"Greek\",\n \"Grek\",\n \"Gujarati\",\n \"Gujr\",\n \"Gurmukhi\",\n \"Guru\",\n \"Han\",\n \"Hani\",\n \"Hangul\",\n \"Hang\",\n \"Hanunoo\",\n \"Hano\",\n \"Hatran\",\n \"Hatr\",\n \"Hebrew\",\n \"Hebr\",\n \"Hiragana\",\n \"Hira\",\n \"Imperial_Aramaic\",\n \"Armi\",\n \"Inherited\",\n \"Zinh\",\n \"Qaai\",\n \"Inscriptional_Pahlavi\",\n \"Phli\",\n \"Inscriptional_Parthian\",\n \"Prti\",\n \"Javanese\",\n \"Java\",\n \"Kaithi\",\n \"Kthi\",\n \"Kannada\",\n \"Knda\",\n \"Katakana\",\n \"Kana\",\n \"Kayah_Li\",\n \"Kali\",\n \"Kharoshthi\",\n \"Khar\",\n \"Khmer\",\n \"Khmr\",\n \"Khojki\",\n \"Khoj\",\n \"Khudawadi\",\n \"Sind\",\n \"Lao\",\n \"Laoo\",\n \"Latin\",\n \"Latn\",\n \"Lepcha\",\n \"Lepc\",\n \"Limbu\",\n \"Limb\",\n \"Linear_A\",\n \"Lina\",\n \"Linear_B\",\n \"Linb\",\n \"Lisu\",\n \"Lycian\",\n \"Lyci\",\n \"Lydian\",\n \"Lydi\",\n \"Mahajani\",\n \"Mahj\",\n \"Malayalam\",\n \"Mlym\",\n \"Mandaic\",\n \"Mand\",\n \"Manichaean\",\n \"Mani\",\n \"Marchen\",\n \"Marc\",\n \"Masaram_Gondi\",\n \"Gonm\",\n \"Meetei_Mayek\",\n \"Mtei\",\n \"Mende_Kikakui\",\n \"Mend\",\n \"Meroitic_Cursive\",\n \"Merc\",\n \"Meroitic_Hieroglyphs\",\n \"Mero\",\n \"Miao\",\n \"Plrd\",\n \"Modi\",\n \"Mongolian\",\n \"Mong\",\n \"Mro\",\n \"Mroo\",\n \"Multani\",\n \"Mult\",\n \"Myanmar\",\n \"Mymr\",\n \"Nabataean\",\n \"Nbat\",\n \"New_Tai_Lue\",\n \"Talu\",\n \"Newa\",\n \"Nko\",\n \"Nkoo\",\n \"Nushu\",\n \"Nshu\",\n \"Ogham\",\n \"Ogam\",\n \"Ol_Chiki\",\n \"Olck\",\n \"Old_Hungarian\",\n \"Hung\",\n \"Old_Italic\",\n \"Ital\",\n \"Old_North_Arabian\",\n \"Narb\",\n \"Old_Permic\",\n \"Perm\",\n \"Old_Persian\",\n \"Xpeo\",\n \"Old_South_Arabian\",\n \"Sarb\",\n \"Old_Turkic\",\n \"Orkh\",\n \"Oriya\",\n \"Orya\",\n \"Osage\",\n \"Osge\",\n \"Osmanya\",\n \"Osma\",\n \"Pahawh_Hmong\",\n \"Hmng\",\n \"Palmyrene\",\n \"Palm\",\n \"Pau_Cin_Hau\",\n \"Pauc\",\n \"Phags_Pa\",\n \"Phag\",\n \"Phoenician\",\n \"Phnx\",\n \"Psalter_Pahlavi\",\n \"Phlp\",\n \"Rejang\",\n \"Rjng\",\n \"Runic\",\n \"Runr\",\n \"Samaritan\",\n \"Samr\",\n \"Saurashtra\",\n \"Saur\",\n \"Sharada\",\n \"Shrd\",\n \"Shavian\",\n \"Shaw\",\n \"Siddham\",\n \"Sidd\",\n \"SignWriting\",\n \"Sgnw\",\n \"Sinhala\",\n \"Sinh\",\n \"Sora_Sompeng\",\n \"Sora\",\n \"Soyombo\",\n \"Soyo\",\n \"Sundanese\",\n \"Sund\",\n \"Syloti_Nagri\",\n \"Sylo\",\n \"Syriac\",\n \"Syrc\",\n \"Tagalog\",\n \"Tglg\",\n \"Tagbanwa\",\n \"Tagb\",\n \"Tai_Le\",\n \"Tale\",\n \"Tai_Tham\",\n \"Lana\",\n \"Tai_Viet\",\n \"Tavt\",\n \"Takri\",\n \"Takr\",\n \"Tamil\",\n \"Taml\",\n \"Tangut\",\n \"Tang\",\n \"Telugu\",\n \"Telu\",\n \"Thaana\",\n \"Thaa\",\n \"Thai\",\n \"Tibetan\",\n \"Tibt\",\n \"Tifinagh\",\n \"Tfng\",\n \"Tirhuta\",\n \"Tirh\",\n \"Ugaritic\",\n \"Ugar\",\n \"Vai\",\n \"Vaii\",\n \"Warang_Citi\",\n \"Wara\",\n \"Yi\",\n \"Yiii\",\n \"Zanabazar_Square\",\n \"Zanb\",\n ]),\n}\n\nPropertyData.gc = PropertyData.General_Category\nPropertyData.sc = PropertyData.Script_Extensions = PropertyData.scx =\n PropertyData.Script\n\nexport { PropertyData }\n","export { isIdContinue, isIdStart } from \"./ids\"\nexport { PropertyData } from \"./property-data\"\n\nexport const Null = 0x00\nexport const Backspace = 0x08\nexport const CharacterTabulation = 0x09\nexport const LineFeed = 0x0a\nexport const LineTabulation = 0x0b\nexport const FormFeed = 0x0c\nexport const CarriageReturn = 0x0d\nexport const ExclamationMark = 0x21\nexport const DollarSign = 0x24\nexport const LeftParenthesis = 0x28\nexport const RightParenthesis = 0x29\nexport const Asterisk = 0x2a\nexport const PlusSign = 0x2b\nexport const Comma = 0x2c\nexport const HyphenMinus = 0x2d\nexport const FullStop = 0x2e\nexport const Solidus = 0x2f\nexport const DigitZero = 0x30\nexport const DigitOne = 0x31\nexport const DigitSeven = 0x37\nexport const DigitNine = 0x39\nexport const Colon = 0x3a\nexport const LessThanSign = 0x3c\nexport const EqualsSign = 0x3d\nexport const GreaterThanSign = 0x3e\nexport const QuestionMark = 0x3f\nexport const LatinCapitalLetterA = 0x41\nexport const LatinCapitalLetterB = 0x42\nexport const LatinCapitalLetterD = 0x44\nexport const LatinCapitalLetterF = 0x46\nexport const LatinCapitalLetterP = 0x50\nexport const LatinCapitalLetterS = 0x53\nexport const LatinCapitalLetterW = 0x57\nexport const LatinCapitalLetterZ = 0x5a\nexport const LowLine = 0x5f\nexport const LatinSmallLetterA = 0x61\nexport const LatinSmallLetterB = 0x62\nexport const LatinSmallLetterC = 0x63\nexport const LatinSmallLetterD = 0x64\nexport const LatinSmallLetterF = 0x66\nexport const LatinSmallLetterG = 0x67\nexport const LatinSmallLetterI = 0x69\nexport const LatinSmallLetterK = 0x6b\nexport const LatinSmallLetterM = 0x6d\nexport const LatinSmallLetterN = 0x6e\nexport const LatinSmallLetterP = 0x70\nexport const LatinSmallLetterR = 0x72\nexport const LatinSmallLetterS = 0x73\nexport const LatinSmallLetterT = 0x74\nexport const LatinSmallLetterU = 0x75\nexport const LatinSmallLetterV = 0x76\nexport const LatinSmallLetterW = 0x77\nexport const LatinSmallLetterX = 0x78\nexport const LatinSmallLetterY = 0x79\nexport const LatinSmallLetterZ = 0x7a\nexport const LeftSquareBracket = 0x5b\nexport const ReverseSolidus = 0x5c\nexport const RightSquareBracket = 0x5d\nexport const CircumflexAccent = 0x5e\nexport const LeftCurlyBracket = 0x7b\nexport const VerticalLine = 0x7c\nexport const RightCurlyBracket = 0x7d\nexport const ZeroWidthNonJoiner = 0x200c\nexport const ZeroWidthJoiner = 0x200d\nexport const LineSeparator = 0x2028\nexport const ParagraphSeparator = 0x2029\n\nexport const MinCodePoint = 0x00\nexport const MaxCodePoint = 0x10ffff\n\nexport function isLatinLetter(code: number): boolean {\n return (\n (code >= LatinCapitalLetterA && code <= LatinCapitalLetterZ) ||\n (code >= LatinSmallLetterA && code <= LatinSmallLetterZ)\n )\n}\n\nexport function isDecimalDigit(code: number): boolean {\n return code >= DigitZero && code <= DigitNine\n}\n\nexport function isOctalDigit(code: number): boolean {\n return code >= DigitZero && code <= DigitSeven\n}\n\nexport function isHexDigit(code: number): boolean {\n return (\n (code >= DigitZero && code <= DigitNine) ||\n (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) ||\n (code >= LatinSmallLetterA && code <= LatinSmallLetterF)\n )\n}\n\nexport function isLineTerminator(code: number): boolean {\n return (\n code === LineFeed ||\n code === CarriageReturn ||\n code === LineSeparator ||\n code === ParagraphSeparator\n )\n}\n\nexport function isValidUnicode(code: number): boolean {\n return code >= MinCodePoint && code <= MaxCodePoint\n}\n\nexport function digitToInt(code: number): number {\n if (code >= LatinSmallLetterA && code <= LatinSmallLetterF) {\n return code - LatinSmallLetterA + 10\n }\n if (code >= LatinCapitalLetterA && code <= LatinCapitalLetterF) {\n return code - LatinCapitalLetterA + 10\n }\n return code - DigitZero\n}\n","import { Reader } from \"./reader\"\nimport { RegExpSyntaxError } from \"./regexp-syntax-error\"\nimport {\n Asterisk,\n Backspace,\n CarriageReturn,\n CharacterTabulation,\n CircumflexAccent,\n Colon,\n Comma,\n DigitNine,\n DigitOne,\n digitToInt,\n DigitZero,\n DollarSign,\n EqualsSign,\n ExclamationMark,\n FormFeed,\n FullStop,\n GreaterThanSign,\n HyphenMinus,\n isDecimalDigit,\n isHexDigit,\n isIdContinue,\n isIdStart,\n isLatinLetter,\n isLineTerminator,\n isOctalDigit,\n isValidUnicode,\n LatinCapitalLetterB,\n LatinCapitalLetterD,\n LatinCapitalLetterP,\n LatinCapitalLetterS,\n LatinCapitalLetterW,\n LatinSmallLetterB,\n LatinSmallLetterC,\n LatinSmallLetterD,\n LatinSmallLetterF,\n LatinSmallLetterG,\n LatinSmallLetterI,\n LatinSmallLetterK,\n LatinSmallLetterM,\n LatinSmallLetterN,\n LatinSmallLetterP,\n LatinSmallLetterR,\n LatinSmallLetterS,\n LatinSmallLetterT,\n LatinSmallLetterU,\n LatinSmallLetterV,\n LatinSmallLetterW,\n LatinSmallLetterX,\n LatinSmallLetterY,\n LeftCurlyBracket,\n LeftParenthesis,\n LeftSquareBracket,\n LessThanSign,\n LineFeed,\n LineTabulation,\n LowLine,\n PlusSign,\n PropertyData,\n QuestionMark,\n ReverseSolidus,\n RightCurlyBracket,\n RightParenthesis,\n RightSquareBracket,\n Solidus,\n VerticalLine,\n ZeroWidthJoiner,\n ZeroWidthNonJoiner,\n} from \"./unicode\"\n\nfunction isSyntaxCharacter(cp: number): boolean {\n return (\n cp === CircumflexAccent ||\n cp === DollarSign ||\n cp === ReverseSolidus ||\n cp === FullStop ||\n cp === Asterisk ||\n cp === PlusSign ||\n cp === QuestionMark ||\n cp === LeftParenthesis ||\n cp === RightParenthesis ||\n cp === LeftSquareBracket ||\n cp === RightSquareBracket ||\n cp === LeftCurlyBracket ||\n cp === RightCurlyBracket ||\n cp === VerticalLine\n )\n}\n\nfunction isRegExpIdentifierStart(cp: number): boolean {\n return isIdStart(cp) || cp === DollarSign || cp === LowLine\n}\n\nfunction isRegExpIdentifierPart(cp: number): boolean {\n return (\n isIdContinue(cp) ||\n cp === DollarSign ||\n cp === LowLine ||\n cp === ZeroWidthNonJoiner ||\n cp === ZeroWidthJoiner\n )\n}\n\nfunction isUnicodePropertyNameCharacter(cp: number): boolean {\n return isLatinLetter(cp) || cp === LowLine\n}\n\nfunction isUnicodePropertyValueCharacter(cp: number): boolean {\n return isUnicodePropertyNameCharacter(cp) || isDecimalDigit(cp)\n}\n\nfunction isValidUnicodeProperty(name: string, value: string): boolean {\n //eslint-disable-next-line no-prototype-builtins\n return PropertyData.hasOwnProperty(name) && PropertyData[name].has(value)\n}\n\nfunction isValidUnicodePropertyName(name: string): boolean {\n return PropertyData.$LONE.has(name)\n}\n\nexport namespace RegExpValidator {\n /**\n * The options for RegExpValidator construction.\n */\n export interface Options {\n /**\n * The flag to disable Annex B syntax. Default is `false`.\n */\n strict?: boolean\n\n /**\n * ECMAScript version. Default is `2018`.\n * - `2015` added `u` and `y` flags.\n * - `2018` added `s` flag, Named Capturing Group, Lookbehind Assertion,\n * and Unicode Property Escape.\n */\n ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018\n\n /**\n * A function that is called when the validator entered a RegExp literal.\n * @param start The 0-based index of the first character.\n */\n onLiteralEnter?(start: number): void\n\n /**\n * A function that is called when the validator left a RegExp literal.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n */\n onLiteralLeave?(start: number, end: number): void\n\n /**\n * A function that is called when the validator found flags.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param global `g` flag.\n * @param ignoreCase `i` flag.\n * @param multiline `m` flag.\n * @param unicode `u` flag.\n * @param sticky `y` flag.\n * @param dotAll `s` flag.\n */\n onFlags?(\n start: number,\n end: number,\n global: boolean,\n ignoreCase: boolean,\n multiline: boolean,\n unicode: boolean,\n sticky: boolean,\n dotAll: boolean,\n ): void\n\n /**\n * A function that is called when the validator entered a pattern.\n * @param start The 0-based index of the first character.\n */\n onPatternEnter?(start: number): void\n\n /**\n * A function that is called when the validator left a pattern.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n */\n onPatternLeave?(start: number, end: number): void\n\n /**\n * A function that is called when the validator entered a disjunction.\n * @param start The 0-based index of the first character.\n */\n onDisjunctionEnter?(start: number): void\n\n /**\n * A function that is called when the validator left a disjunction.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n */\n onDisjunctionLeave?(start: number, end: number): void\n\n /**\n * A function that is called when the validator entered an alternative.\n * @param start The 0-based index of the first character.\n * @param index The 0-based index of alternatives in a disjunction.\n */\n onAlternativeEnter?(start: number, index: number): void\n\n /**\n * A function that is called when the validator left an alternative.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param index The 0-based index of alternatives in a disjunction.\n */\n onAlternativeLeave?(start: number, end: number, index: number): void\n\n /**\n * A function that is called when the validator entered an uncapturing group.\n * @param start The 0-based index of the first character.\n */\n onGroupEnter?(start: number): void\n\n /**\n * A function that is called when the validator left an uncapturing group.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n */\n onGroupLeave?(start: number, end: number): void\n\n /**\n * A function that is called when the validator entered a capturing group.\n * @param start The 0-based index of the first character.\n * @param name The group name.\n */\n onCapturingGroupEnter?(start: number, name: string | null): void\n\n /**\n * A function that is called when the validator left a capturing group.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param name The group name.\n */\n onCapturingGroupLeave?(\n start: number,\n end: number,\n name: string | null,\n ): void\n\n /**\n * A function that is called when the validator found a quantifier.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param min The minimum number of repeating.\n * @param max The maximum number of repeating.\n * @param greedy The flag to choose the longest matching.\n */\n onQuantifier?(\n start: number,\n end: number,\n min: number,\n max: number,\n greedy: boolean,\n ): void\n\n /**\n * A function that is called when the validator entered a lookahead/lookbehind assertion.\n * @param start The 0-based index of the first character.\n * @param kind The kind of the assertion.\n * @param negate The flag which represents that the assertion is negative.\n */\n onLookaroundAssertionEnter?(\n start: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator left a lookahead/lookbehind assertion.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the assertion.\n * @param negate The flag which represents that the assertion is negative.\n */\n onLookaroundAssertionLeave?(\n start: number,\n end: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator found an edge boundary assertion.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the assertion.\n */\n onEdgeAssertion?(\n start: number,\n end: number,\n kind: \"start\" | \"end\",\n ): void\n\n /**\n * A function that is called when the validator found a word boundary assertion.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the assertion.\n * @param negate The flag which represents that the assertion is negative.\n */\n onWordBoundaryAssertion?(\n start: number,\n end: number,\n kind: \"word\",\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator found a dot.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the character set.\n */\n onAnyCharacterSet?(start: number, end: number, kind: \"any\"): void\n\n /**\n * A function that is called when the validator found a character set escape.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the character set.\n * @param negate The flag which represents that the character set is negative.\n */\n onEscapeCharacterSet?(\n start: number,\n end: number,\n kind: \"digit\" | \"space\" | \"word\",\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator found a Unicode proerty escape.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param kind The kind of the character set.\n * @param key The property name.\n * @param value The property value.\n * @param negate The flag which represents that the character set is negative.\n */\n onUnicodePropertyCharacterSet?(\n start: number,\n end: number,\n kind: \"property\",\n key: string,\n value: string | null,\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator found a character.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param value The code point of the character.\n */\n onCharacter?(start: number, end: number, value: number): void\n\n /**\n * A function that is called when the validator found a backreference.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param ref The key of the referred capturing group.\n */\n onBackreference?(start: number, end: number, ref: number | string): void\n\n /**\n * A function that is called when the validator entered a character class.\n * @param start The 0-based index of the first character.\n * @param negate The flag which represents that the character class is negative.\n */\n onCharacterClassEnter?(start: number, negate: boolean): void\n\n /**\n * A function that is called when the validator left a character class.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param negate The flag which represents that the character class is negative.\n */\n onCharacterClassLeave?(\n start: number,\n end: number,\n negate: boolean,\n ): void\n\n /**\n * A function that is called when the validator found a character class range.\n * @param start The 0-based index of the first character.\n * @param end The next 0-based index of the last character.\n * @param min The minimum code point of the range.\n * @param max The maximum code point of the range.\n */\n onCharacterClassRange?(\n start: number,\n end: number,\n min: number,\n max: number,\n ): void\n }\n}\n\n/**\n * The regular expression validator.\n */\nexport class RegExpValidator {\n private readonly _options: RegExpValidator.Options\n private readonly _reader = new Reader()\n private _uFlag = false\n private _nFlag = false\n private _lastIntValue = 0\n private _lastMinValue = 0\n private _lastMaxValue = 0\n private _lastStrValue = \"\"\n private _lastKeyValue = \"\"\n private _lastValValue = \"\"\n private _lastAssertionIsQuantifiable = false\n private _numCapturingParens = 0\n private _groupNames = new Set<string>()\n private _backreferenceNames = new Set<string>()\n\n /**\n * Initialize this validator.\n * @param options The options of validator.\n */\n constructor(options?: RegExpValidator.Options) {\n this._options = options || {}\n }\n\n /**\n * Validate a regular expression literal. E.g. \"/abc/g\"\n * @param source The source code to validate.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n */\n validateLiteral(\n source: string,\n start: number = 0,\n end: number = source.length,\n ): void {\n this._uFlag = this._nFlag = false\n this.reset(source, start, end)\n\n this.onLiteralEnter(start)\n if (this.eat(Solidus) && this.eatRegExpBody() && this.eat(Solidus)) {\n const flagStart = this.index\n const uFlag = source.indexOf(\"u\", flagStart) !== -1\n this.validateFlags(source, flagStart, end)\n this.validatePattern(source, start + 1, flagStart - 1, uFlag)\n } else if (start >= end) {\n this.raise(\"Empty\")\n } else {\n const c = String.fromCodePoint(this.currentCodePoint)\n this.raise(`Unexpected character '${c}'`)\n }\n this.onLiteralLeave(start, end)\n }\n\n /**\n * Validate a regular expression flags. E.g. \"gim\"\n * @param source The source code to validate.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n */\n validateFlags(\n source: string,\n start: number = 0,\n end: number = source.length,\n ): void {\n const existingFlags = new Set<number>()\n let global = false\n let ignoreCase = false\n let multiline = false\n let sticky = false\n let unicode = false\n let dotAll = false\n for (let i = start; i < end; ++i) {\n const flag = source.charCodeAt(i)\n\n if (existingFlags.has(flag)) {\n this.raise(`Duplicated flag '${source[i]}'`)\n }\n existingFlags.add(flag)\n\n if (flag === LatinSmallLetterG) {\n global = true\n } else if (flag === LatinSmallLetterI) {\n ignoreCase = true\n } else if (flag === LatinSmallLetterM) {\n multiline = true\n } else if (flag === LatinSmallLetterU && this.ecmaVersion >= 2015) {\n unicode = true\n } else if (flag === LatinSmallLetterY && this.ecmaVersion >= 2015) {\n sticky = true\n } else if (flag === LatinSmallLetterS && this.ecmaVersion >= 2018) {\n dotAll = true\n } else {\n this.raise(`Invalid flag '${source[i]}'`)\n }\n }\n this.onFlags(\n start,\n end,\n global,\n ignoreCase,\n multiline,\n unicode,\n sticky,\n dotAll,\n )\n }\n\n /**\n * Validate a regular expression pattern. E.g. \"abc\"\n * @param source The source code to validate.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n * @param uFlag The flag to set unicode mode.\n */\n validatePattern(\n source: string,\n start: number = 0,\n end: number = source.length,\n uFlag: boolean = false,\n ): void {\n this._uFlag = uFlag && this.ecmaVersion >= 2015\n this._nFlag = uFlag && this.ecmaVersion >= 2018\n this.reset(source, start, end)\n this.pattern()\n\n if (\n !this._nFlag &&\n this.ecmaVersion >= 2018 &&\n this._groupNames.size > 0\n ) {\n this._nFlag = true\n this.rewind(start)\n this.pattern()\n }\n }\n\n // #region Delegate for Options\n\n private get strict() {\n return Boolean(this._options.strict || this._uFlag)\n }\n\n private get ecmaVersion() {\n return this._options.ecmaVersion || 2018\n }\n\n private onLiteralEnter(start: number): void {\n if (this._options.onLiteralEnter) {\n this._options.onLiteralEnter(start)\n }\n }\n\n private onLiteralLeave(start: number, end: number): void {\n if (this._options.onLiteralLeave) {\n this._options.onLiteralLeave(start, end)\n }\n }\n\n private onFlags(\n start: number,\n end: number,\n global: boolean,\n ignoreCase: boolean,\n multiline: boolean,\n unicode: boolean,\n sticky: boolean,\n dotAll: boolean,\n ): void {\n if (this._options.onFlags) {\n this._options.onFlags(\n start,\n end,\n global,\n ignoreCase,\n multiline,\n unicode,\n sticky,\n dotAll,\n )\n }\n }\n\n private onPatternEnter(start: number): void {\n if (this._options.onPatternEnter) {\n this._options.onPatternEnter(start)\n }\n }\n\n private onPatternLeave(start: number, end: number): void {\n if (this._options.onPatternLeave) {\n this._options.onPatternLeave(start, end)\n }\n }\n\n private onDisjunctionEnter(start: number): void {\n if (this._options.onDisjunctionEnter) {\n this._options.onDisjunctionEnter(start)\n }\n }\n\n private onDisjunctionLeave(start: number, end: number): void {\n if (this._options.onDisjunctionLeave) {\n this._options.onDisjunctionLeave(start, end)\n }\n }\n\n private onAlternativeEnter(start: number, index: number): void {\n if (this._options.onAlternativeEnter) {\n this._options.onAlternativeEnter(start, index)\n }\n }\n\n private onAlternativeLeave(\n start: number,\n end: number,\n index: number,\n ): void {\n if (this._options.onAlternativeLeave) {\n this._options.onAlternativeLeave(start, end, index)\n }\n }\n\n private onGroupEnter(start: number): void {\n if (this._options.onGroupEnter) {\n this._options.onGroupEnter(start)\n }\n }\n\n private onGroupLeave(start: number, end: number): void {\n if (this._options.onGroupLeave) {\n this._options.onGroupLeave(start, end)\n }\n }\n\n private onCapturingGroupEnter(start: number, name: string | null): void {\n if (this._options.onCapturingGroupEnter) {\n this._options.onCapturingGroupEnter(start, name)\n }\n }\n\n private onCapturingGroupLeave(\n start: number,\n end: number,\n name: string | null,\n ): void {\n if (this._options.onCapturingGroupLeave) {\n this._options.onCapturingGroupLeave(start, end, name)\n }\n }\n\n private onQuantifier(\n start: number,\n end: number,\n min: number,\n max: number,\n greedy: boolean,\n ): void {\n if (this._options.onQuantifier) {\n this._options.onQuantifier(start, end, min, max, greedy)\n }\n }\n\n private onLookaroundAssertionEnter(\n start: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void {\n if (this._options.onLookaroundAssertionEnter) {\n this._options.onLookaroundAssertionEnter(start, kind, negate)\n }\n }\n\n private onLookaroundAssertionLeave(\n start: number,\n end: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void {\n if (this._options.onLookaroundAssertionLeave) {\n this._options.onLookaroundAssertionLeave(start, end, kind, negate)\n }\n }\n\n private onEdgeAssertion(\n start: number,\n end: number,\n kind: \"start\" | \"end\",\n ): void {\n if (this._options.onEdgeAssertion) {\n this._options.onEdgeAssertion(start, end, kind)\n }\n }\n\n private onWordBoundaryAssertion(\n start: number,\n end: number,\n kind: \"word\",\n negate: boolean,\n ): void {\n if (this._options.onWordBoundaryAssertion) {\n this._options.onWordBoundaryAssertion(start, end, kind, negate)\n }\n }\n\n private onAnyCharacterSet(start: number, end: number, kind: \"any\"): void {\n if (this._options.onAnyCharacterSet) {\n this._options.onAnyCharacterSet(start, end, kind)\n }\n }\n\n private onEscapeCharacterSet(\n start: number,\n end: number,\n kind: \"digit\" | \"space\" | \"word\",\n negate: boolean,\n ): void {\n if (this._options.onEscapeCharacterSet) {\n this._options.onEscapeCharacterSet(start, end, kind, negate)\n }\n }\n\n private onUnicodePropertyCharacterSet(\n start: number,\n end: number,\n kind: \"property\",\n key: string,\n value: string | null,\n negate: boolean,\n ): void {\n if (this._options.onUnicodePropertyCharacterSet) {\n this._options.onUnicodePropertyCharacterSet(\n start,\n end,\n kind,\n key,\n value,\n negate,\n )\n }\n }\n\n private onCharacter(start: number, end: number, value: number): void {\n if (this._options.onCharacter) {\n this._options.onCharacter(start, end, value)\n }\n }\n\n private onBackreference(\n start: number,\n end: number,\n ref: number | string,\n ): void {\n if (this._options.onBackreference) {\n this._options.onBackreference(start, end, ref)\n }\n }\n\n private onCharacterClassEnter(start: number, negate: boolean): void {\n if (this._options.onCharacterClassEnter) {\n this._options.onCharacterClassEnter(start, negate)\n }\n }\n\n private onCharacterClassLeave(\n start: number,\n end: number,\n negate: boolean,\n ): void {\n if (this._options.onCharacterClassLeave) {\n this._options.onCharacterClassLeave(start, end, negate)\n }\n }\n\n private onCharacterClassRange(\n start: number,\n end: number,\n min: number,\n max: number,\n ): void {\n if (this._options.onCharacterClassRange) {\n this._options.onCharacterClassRange(start, end, min, max)\n }\n }\n\n // #endregion\n\n // #region Delegate for Reader\n\n private get source(): string {\n return this._reader.source\n }\n\n private get index(): number {\n return this._reader.index\n }\n\n private get currentCodePoint(): number {\n return this._reader.currentCodePoint\n }\n\n private get nextCodePoint(): number {\n return this._reader.nextCodePoint\n }\n\n private get nextCodePoint2(): number {\n return this._reader.nextCodePoint2\n }\n\n private get nextCodePoint3(): number {\n return this._reader.nextCodePoint3\n }\n\n private reset(source: string, start: number, end: number): void {\n this._reader.reset(source, start, end, this._uFlag)\n }\n\n private rewind(index: number): void {\n this._reader.rewind(index)\n }\n\n private advance(): void {\n this._reader.advance()\n }\n\n private eat(cp: number): boolean {\n return this._reader.eat(cp)\n }\n\n private eat2(cp1: number, cp2: number): boolean {\n return this._reader.eat2(cp1, cp2)\n }\n\n private eat3(cp1: number, cp2: number, cp3: number): boolean {\n return this._reader.eat3(cp1, cp2, cp3)\n }\n\n // #endregion\n\n private raise(message: string): never {\n throw new RegExpSyntaxError(\n this.source,\n this._uFlag,\n this.index,\n message,\n )\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-RegularExpressionBody\n private eatRegExpBody(): boolean {\n const start = this.index\n let inClass = false\n let escaped = false\n\n for (;;) {\n const cp = this.currentCodePoint\n if (cp === -1 || isLineTerminator(cp)) {\n const kind = inClass ? \"character class\" : \"regular expression\"\n this.raise(`Unterminated ${kind}`)\n }\n if (escaped) {\n escaped = false\n } else if (cp === ReverseSolidus) {\n escaped = true\n } else if (cp === LeftSquareBracket) {\n inClass = true\n } else if (cp === RightSquareBracket) {\n inClass = false\n } else if (\n (cp === Solidus && !inClass) ||\n (cp === Asterisk && this.index === start)\n ) {\n break\n }\n this.advance()\n }\n\n return this.index !== start\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\n private pattern(): void {\n const start = this.index\n this._numCapturingParens = this.countCapturingParens()\n this._groupNames.clear()\n this._backreferenceNames.clear()\n\n this.onPatternEnter(start)\n this.disjunction()\n\n const cp = this.currentCodePoint\n if (this.currentCodePoint !== -1) {\n if (cp === RightParenthesis) {\n this.raise(\"Unmatched ')'\")\n }\n if (cp === RightSquareBracket || cp === RightCurlyBracket) {\n this.raise(\"Lone quantifier brackets\")\n }\n const c = String.fromCodePoint(cp)\n this.raise(`Unexpected character '${c}'`)\n }\n this._backreferenceNames.forEach(name => {\n if (!this._groupNames.has(name)) {\n this.raise(\"Invalid named capture referenced\")\n }\n })\n this.onPatternLeave(start, this.index)\n }\n\n private countCapturingParens(): number {\n const start = this.index\n let inClass = false\n let escaped = false\n let count = 0\n let cp = 0\n\n while ((cp = this.currentCodePoint) !== -1) {\n if (escaped) {\n escaped = false\n } else if (cp === ReverseSolidus) {\n escaped = true\n } else if (cp === LeftSquareBracket) {\n inClass = true\n } else if (cp === RightSquareBracket) {\n inClass = false\n } else if (\n cp === LeftParenthesis &&\n !inClass &&\n (this.nextCodePoint !== QuestionMark ||\n (this.nextCodePoint2 === LessThanSign &&\n this.nextCodePoint3 !== EqualsSign &&\n this.nextCodePoint3 !== ExclamationMark))\n ) {\n count += 1\n }\n this.advance()\n }\n\n this.rewind(start)\n return count\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\n private disjunction(): void {\n const start = this.index\n let i = 0\n\n this.onDisjunctionEnter(start)\n this.alternative(i++)\n while (this.eat(VerticalLine)) {\n this.alternative(i++)\n }\n\n if (this.eatQuantifier(true)) {\n this.raise(\"Nothing to repeat\")\n }\n if (this.eat(LeftCurlyBracket)) {\n this.raise(\"Lone quantifier brackets\")\n }\n this.onDisjunctionLeave(start, this.index)\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\n private alternative(i: number): void {\n const start = this.index\n\n this.onAlternativeEnter(start, i)\n while (this.currentCodePoint !== -1 && this.eatTerm());\n this.onAlternativeLeave(start, this.index, i)\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-Term\n private eatTerm(): boolean {\n if (this.eatAssertion()) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `this.lastAssertionIsQuantifiable` is true if the last eaten\n // Assertion is a QuantifiableAssertion.\n if (this._lastAssertionIsQuantifiable) {\n this.eatQuantifier()\n }\n return true\n }\n\n if (this.strict ? this.eatAtom() : this.eatExtendedAtom()) {\n this.eatQuantifier()\n return true\n }\n\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-Assertion\n private eatAssertion(): boolean {\n const start = this.index\n this._lastAssertionIsQuantifiable = false\n\n // ^, $, \\B \\b\n if (this.eat(CircumflexAccent)) {\n this.onEdgeAssertion(start, this.index, \"start\")\n return true\n }\n if (this.eat(DollarSign)) {\n this.onEdgeAssertion(start, this.index, \"end\")\n return true\n }\n if (this.eat2(ReverseSolidus, LatinCapitalLetterB)) {\n this.onWordBoundaryAssertion(start, this.index, \"word\", true)\n return true\n }\n if (this.eat2(ReverseSolidus, LatinSmallLetterB)) {\n this.onWordBoundaryAssertion(start, this.index, \"word\", false)\n return true\n }\n\n // Lookahead / Lookbehind\n if (this.eat2(LeftParenthesis, QuestionMark)) {\n const lookbehind =\n this.ecmaVersion >= 2018 && this.eat(LessThanSign)\n let negate = false\n if (this.eat(EqualsSign) || (negate = this.eat(ExclamationMark))) {\n const kind = lookbehind ? \"lookbehind\" : \"lookahead\"\n this.onLookaroundAssertionEnter(start, kind, negate)\n this.disjunction()\n if (!this.eat(RightParenthesis)) {\n this.raise(\"Unterminated group\")\n }\n this._lastAssertionIsQuantifiable = !lookbehind && !this.strict\n this.onLookaroundAssertionLeave(start, this.index, kind, negate)\n return true\n }\n this.rewind(start)\n }\n\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\n // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\n private eatQuantifier(noError = false): boolean {\n const start = this.index\n let min = 0\n let max = 0\n let greedy = false\n\n if (this.eat(Asterisk)) {\n min = 0\n max = Number.POSITIVE_INFINITY\n } else if (this.eat(PlusSign)) {\n min = 1\n max = Number.POSITIVE_INFINITY\n } else if (this.eat(QuestionMark)) {\n min = 0\n max = 1\n } else if (this.eatBracedQuantifier(noError)) {\n min = this._lastMinValue\n max = this._lastMaxValue\n } else {\n return false\n }\n greedy = !this.eat(QuestionMark)\n\n if (!noError) {\n this.onQuantifier(start, this.index, min, max, greedy)\n }\n return true\n }\n\n private eatBracedQuantifier(noError: boolean): boolean {\n const start = this.index\n if (this.eat(LeftCurlyBracket)) {\n this._lastMinValue = 0\n this._lastMaxValue = Number.POSITIVE_INFINITY\n if (this.eatDecimalDigits()) {\n this._lastMinValue = this._lastMaxValue = this._lastIntValue\n if (this.eat(Comma)) {\n this._lastMaxValue = this.eatDecimalDigits()\n ? this._lastIntValue\n : Number.POSITIVE_INFINITY\n }\n if (this.eat(RightCurlyBracket)) {\n if (!noError && this._lastMaxValue < this._lastMinValue) {\n this.raise(\"numbers out of order in {} quantifier\")\n }\n return true\n }\n }\n if (!noError && this.strict) {\n this.raise(\"Incomplete quantifier\")\n }\n this.rewind(start)\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\n private eatAtom(): boolean {\n return (\n this.eatPatternCharacter() ||\n this.eatDot() ||\n this.eatReverseSolidusAtomEscape() ||\n this.eatCharacterClass() ||\n this.eatUncapturingGroup() ||\n this.eatCapturingGroup()\n )\n }\n\n private eatDot(): boolean {\n if (this.eat(FullStop)) {\n this.onAnyCharacterSet(this.index - 1, this.index, \"any\")\n return true\n }\n return false\n }\n\n private eatReverseSolidusAtomEscape(): boolean {\n const start = this.index\n if (this.eat(ReverseSolidus)) {\n if (this.eatAtomEscape()) {\n return true\n }\n this.rewind(start)\n }\n return false\n }\n\n private eatUncapturingGroup(): boolean {\n const start = this.index\n if (this.eat3(LeftParenthesis, QuestionMark, Colon)) {\n this.onGroupEnter(start)\n this.disjunction()\n if (!this.eat(RightParenthesis)) {\n this.raise(\"Unterminated group\")\n }\n this.onGroupLeave(start, this.index)\n return true\n }\n return false\n }\n\n private eatCapturingGroup(): boolean {\n const start = this.index\n if (this.eat(LeftParenthesis)) {\n this._lastStrValue = \"\"\n if (this.ecmaVersion >= 2018) {\n this.groupSpecifier()\n } else if (this.currentCodePoint === QuestionMark) {\n this.raise(\"Invalid group\")\n }\n const name = this._lastStrValue || null\n\n this.onCapturingGroupEnter(start, name)\n this.disjunction()\n if (!this.eat(RightParenthesis)) {\n this.raise(\"Unterminated group\")\n }\n this.onCapturingGroupLeave(start, this.index, name)\n\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-ExtendedAtom\n private eatExtendedAtom(): boolean {\n return (\n this.eatDot() ||\n this.eatReverseSolidusAtomEscape() ||\n this.eatCharacterClass() ||\n this.eatUncapturingGroup() ||\n this.eatCapturingGroup() ||\n this.eatInvalidBracedQuantifier() ||\n this.eatExtendedPatternCharacter()\n )\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-InvalidBracedQuantifier\n private eatInvalidBracedQuantifier(): boolean {\n if (this.eatBracedQuantifier(true)) {\n this.raise(\"Nothing to repeat\")\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\n private eatSyntaxCharacter(): boolean {\n if (isSyntaxCharacter(this.currentCodePoint)) {\n this._lastIntValue = this.currentCodePoint\n this.advance()\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n private eatPatternCharacter(): boolean {\n const start = this.index\n const cp = this.currentCodePoint\n if (cp !== -1 && !isSyntaxCharacter(cp)) {\n this.advance()\n this.onCharacter(start, this.index, cp)\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-ExtendedPatternCharacter\n private eatExtendedPatternCharacter(): boolean {\n const start = this.index\n const cp = this.currentCodePoint\n if (\n cp !== -1 &&\n cp !== CircumflexAccent &&\n cp !== DollarSign &&\n cp !== FullStop &&\n cp !== Asterisk &&\n cp !== PlusSign &&\n cp !== QuestionMark &&\n cp !== LeftParenthesis &&\n cp !== RightParenthesis &&\n cp !== LeftSquareBracket &&\n cp !== VerticalLine\n ) {\n this.advance()\n this.onCharacter(start, this.index, cp)\n return true\n }\n return false\n }\n\n // GroupSpecifier[U] ::\n // [empty]\n // `?` GroupName[?U]\n private groupSpecifier(): void {\n this._lastStrValue = \"\"\n if (this.eat(QuestionMark)) {\n if (this.eatGroupName()) {\n if (!this._groupNames.has(this._lastStrValue)) {\n this._groupNames.add(this._lastStrValue)\n return\n }\n this.raise(\"Duplicate capture group name\")\n }\n this.raise(\"Invalid group\")\n }\n }\n\n // GroupName[U] ::\n // `<` RegExpIdentifierName[?U] `>`\n private eatGroupName(): boolean {\n this._lastStrValue = \"\"\n if (this.eat(LessThanSign)) {\n if (this.eatRegExpIdentifierName() && this.eat(GreaterThanSign)) {\n return true\n }\n this.raise(\"Invalid capture group name\")\n }\n return false\n }\n\n // RegExpIdentifierName[U] ::\n // RegExpIdentifierStart[?U]\n // RegExpIdentifierName[?U] RegExpIdentifierPart[?U]\n private eatRegExpIdentifierName(): boolean {\n this._lastStrValue = \"\"\n if (this.eatRegExpIdentifierStart()) {\n this._lastStrValue += String.fromCodePoint(this._lastIntValue)\n while (this.eatRegExpIdentifierPart()) {\n this._lastStrValue += String.fromCodePoint(this._lastIntValue)\n }\n return true\n }\n return false\n }\n\n // RegExpIdentifierStart[U] ::\n // UnicodeIDStart\n // `$`\n // `_`\n // `\\` RegExpUnicodeEscapeSequence[?U]\n private eatRegExpIdentifierStart(): boolean {\n const start = this.index\n let cp = this.currentCodePoint\n this.advance()\n\n if (cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence()) {\n cp = this._lastIntValue\n }\n if (isRegExpIdentifierStart(cp)) {\n this._lastIntValue = cp\n return true\n }\n\n if (this.index !== start) {\n this.rewind(start)\n }\n return false\n }\n\n // RegExpIdentifierPart[U] ::\n // UnicodeIDContinue\n // `$`\n // `_`\n // `\\` RegExpUnicodeEscapeSequence[?U]\n // <Zwnj>\n // <Zwj>\n private eatRegExpIdentifierPart(): boolean {\n const start = this.index\n let cp = this.currentCodePoint\n this.advance()\n\n if (cp === ReverseSolidus && this.eatRegExpUnicodeEscapeSequence()) {\n cp = this._lastIntValue\n }\n if (isRegExpIdentifierPart(cp)) {\n this._lastIntValue = cp\n return true\n }\n\n if (this.index !== start) {\n this.rewind(start)\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-AtomEscape\n private eatAtomEscape(): boolean {\n if (\n this.eatBackreference() ||\n this.eatCharacterClassEscape() ||\n this.eatCharacterEscape() ||\n (this._nFlag && this.eatKGroupName())\n ) {\n return true\n }\n if (this.strict || this._uFlag) {\n this.raise(\"Invalid escape\")\n }\n return false\n }\n\n private eatBackreference(): boolean {\n const start = this.index\n if (this.eatDecimalEscape()) {\n const n = this._lastIntValue\n if (n <= this._numCapturingParens) {\n this.onBackreference(start - 1, this.index, n)\n return true\n }\n if (this.strict) {\n this.raise(\"Invalid escape\")\n }\n this.rewind(start)\n }\n return false\n }\n\n private eatKGroupName(): boolean {\n const start = this.index\n if (this.eat(LatinSmallLetterK)) {\n if (this.eatGroupName()) {\n const groupName = this._lastStrValue\n this._backreferenceNames.add(groupName)\n this.onBackreference(start - 1, this.index, groupName)\n return true\n }\n this.raise(\"Invalid named reference\")\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-CharacterEscape\n private eatCharacterEscape(): boolean {\n const start = this.index\n if (\n this.eatControlEscape() ||\n this.eatCControlLetter() ||\n this.eatZero() ||\n this.eatHexEscapeSequence() ||\n this.eatRegExpUnicodeEscapeSequence() ||\n (!this.strict && this.eatLegacyOctalEscapeSequence()) ||\n this.eatIdentityEscape()\n ) {\n this.onCharacter(start - 1, this.index, this._lastIntValue)\n return true\n }\n return false\n }\n\n private eatCControlLetter(): boolean {\n const start = this.index\n if (this.eat(LatinSmallLetterC)) {\n if (this.eatControlLetter()) {\n return true\n }\n this.rewind(start)\n }\n return false\n }\n\n private eatZero(): boolean {\n if (\n this.currentCodePoint === DigitZero &&\n !isDecimalDigit(this.nextCodePoint)\n ) {\n this._lastIntValue = 0\n this.advance()\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\n private eatControlEscape(): boolean {\n if (this.eat(LatinSmallLetterT)) {\n this._lastIntValue = CharacterTabulation\n return true\n }\n if (this.eat(LatinSmallLetterN)) {\n this._lastIntValue = LineFeed\n return true\n }\n if (this.eat(LatinSmallLetterV)) {\n this._lastIntValue = LineTabulation\n return true\n }\n if (this.eat(LatinSmallLetterF)) {\n this._lastIntValue = FormFeed\n return true\n }\n if (this.eat(LatinSmallLetterR)) {\n this._lastIntValue = CarriageReturn\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\n private eatControlLetter(): boolean {\n const cp = this.currentCodePoint\n if (isLatinLetter(cp)) {\n this.advance()\n this._lastIntValue = cp % 0x20\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\n private eatRegExpUnicodeEscapeSequence(): boolean {\n const start = this.index\n\n if (this.eat(LatinSmallLetterU)) {\n if (this.eatFixedHexDigits(4)) {\n const lead = this._lastIntValue\n if (this._uFlag && lead >= 0xd800 && lead <= 0xdbff) {\n const leadSurrogateEnd = this.index\n if (\n this.eat(ReverseSolidus) &&\n this.eat(LatinSmallLetterU) &&\n this.eatFixedHexDigits(4)\n ) {\n const trail = this._lastIntValue\n if (trail >= 0xdc00 && trail <= 0xdfff) {\n this._lastIntValue =\n (lead - 0xd800) * 0x400 +\n (trail - 0xdc00) +\n 0x10000\n return true\n }\n }\n this.rewind(leadSurrogateEnd)\n this._lastIntValue = lead\n }\n return true\n }\n if (\n this._uFlag &&\n this.eat(LeftCurlyBracket) &&\n this.eatHexDigits() &&\n this.eat(RightCurlyBracket) &&\n isValidUnicode(this._lastIntValue)\n ) {\n return true\n }\n if (this.strict || this._uFlag) {\n this.raise(\"Invalid unicode escape\")\n }\n this.rewind(start)\n }\n\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-IdentityEscape\n private eatIdentityEscape(): boolean {\n if (this._uFlag) {\n if (this.eatSyntaxCharacter()) {\n return true\n }\n if (this.eat(Solidus)) {\n this._lastIntValue = Solidus\n return true\n }\n return false\n }\n\n if (this.isValidIdentityEscape(this.currentCodePoint)) {\n this._lastIntValue = this.currentCodePoint\n this.advance()\n return true\n }\n\n return false\n }\n private isValidIdentityEscape(cp: number): boolean {\n if (cp === -1) {\n return false\n }\n if (this.strict) {\n return !isIdContinue(cp)\n }\n return (\n cp !== LatinSmallLetterC &&\n (!this._nFlag || cp !== LatinSmallLetterK)\n )\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\n private eatDecimalEscape(): boolean {\n this._lastIntValue = 0\n let cp = this.currentCodePoint\n if (cp >= DigitOne && cp <= DigitNine) {\n do {\n this._lastIntValue = 10 * this._lastIntValue + (cp - DigitZero)\n this.advance()\n } while (\n (cp = this.currentCodePoint) >= DigitZero &&\n cp <= DigitNine\n )\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\n private eatCharacterClassEscape(): boolean {\n const start = this.index\n\n if (this.eat(LatinSmallLetterD)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"digit\", false)\n return true\n }\n if (this.eat(LatinCapitalLetterD)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"digit\", true)\n return true\n }\n if (this.eat(LatinSmallLetterS)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"space\", false)\n return true\n }\n if (this.eat(LatinCapitalLetterS)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"space\", true)\n return true\n }\n if (this.eat(LatinSmallLetterW)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"word\", false)\n return true\n }\n if (this.eat(LatinCapitalLetterW)) {\n this._lastIntValue = -1\n this.onEscapeCharacterSet(start - 1, this.index, \"word\", true)\n return true\n }\n\n let negate = false\n if (\n this._uFlag &&\n this.ecmaVersion >= 2018 &&\n (this.eat(LatinSmallLetterP) ||\n (negate = this.eat(LatinCapitalLetterP)))\n ) {\n this._lastIntValue = -1\n if (\n this.eat(LeftCurlyBracket) &&\n this.eatUnicodePropertyValueExpression() &&\n this.eat(RightCurlyBracket)\n ) {\n this.onUnicodePropertyCharacterSet(\n start - 1,\n this.index,\n \"property\",\n this._lastKeyValue,\n this._lastValValue || null,\n negate,\n )\n return true\n }\n this.raise(\"Invalid property name\")\n }\n\n return false\n }\n\n // UnicodePropertyValueExpression ::\n // UnicodePropertyName `=` UnicodePropertyValue\n // LoneUnicodePropertyNameOrValue\n private eatUnicodePropertyValueExpression(): boolean {\n const start = this.index\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.eatUnicodePropertyName() && this.eat(EqualsSign)) {\n this._lastKeyValue = this._lastStrValue\n if (this.eatUnicodePropertyValue()) {\n this._lastValValue = this._lastStrValue\n if (\n isValidUnicodeProperty(\n this._lastKeyValue,\n this._lastValValue,\n )\n ) {\n return true\n }\n this.raise(\"Invalid property name\")\n }\n }\n this.rewind(start)\n\n // LoneUnicodePropertyNameOrValue\n if (this.eatLoneUnicodePropertyNameOrValue()) {\n const nameOrValue = this._lastStrValue\n if (isValidUnicodeProperty(\"General_Category\", nameOrValue)) {\n this._lastKeyValue = \"General_Category\"\n this._lastValValue = nameOrValue\n return true\n }\n if (isValidUnicodePropertyName(nameOrValue)) {\n this._lastKeyValue = nameOrValue\n this._lastValValue = \"\"\n return true\n }\n this.raise(\"Invalid property name\")\n }\n return false\n }\n\n // UnicodePropertyName ::\n // UnicodePropertyNameCharacters\n private eatUnicodePropertyName(): boolean {\n this._lastStrValue = \"\"\n while (isUnicodePropertyNameCharacter(this.currentCodePoint)) {\n this._lastStrValue += String.fromCodePoint(this.currentCodePoint)\n this.advance()\n }\n return this._lastStrValue !== \"\"\n }\n\n // UnicodePropertyValue ::\n // UnicodePropertyValueCharacters\n private eatUnicodePropertyValue(): boolean {\n this._lastStrValue = \"\"\n while (isUnicodePropertyValueCharacter(this.currentCodePoint)) {\n this._lastStrValue += String.fromCodePoint(this.currentCodePoint)\n this.advance()\n }\n return this._lastStrValue !== \"\"\n }\n\n // LoneUnicodePropertyNameOrValue ::\n // UnicodePropertyValueCharacters\n private eatLoneUnicodePropertyNameOrValue(): boolean {\n return this.eatUnicodePropertyValue()\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\n private eatCharacterClass(): boolean {\n const start = this.index\n if (this.eat(LeftSquareBracket)) {\n const negate = this.eat(CircumflexAccent)\n this.onCharacterClassEnter(start, negate)\n this.classRanges()\n if (!this.eat(RightSquareBracket)) {\n this.raise(\"Unterminated character class\")\n }\n this.onCharacterClassLeave(start, this.index, negate)\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\n private classRanges(): void {\n let start = this.index\n while (this.eatClassAtom()) {\n const left = this._lastIntValue\n const hyphenStart = this.index\n if (this.eat(HyphenMinus)) {\n this.onCharacter(hyphenStart, this.index, HyphenMinus)\n\n if (this.eatClassAtom()) {\n const right = this._lastIntValue\n\n if (left === -1 || right === -1) {\n if (this.strict) {\n this.raise(\"Invalid character class\")\n }\n } else if (left > right) {\n this.raise(\"Range out of order in character class\")\n } else {\n this.onCharacterClassRange(\n start,\n this.index,\n left,\n right,\n )\n }\n }\n }\n\n start = this.index\n }\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\n private eatClassAtom(): boolean {\n const start = this.index\n\n if (this.eat(ReverseSolidus)) {\n if (this.eatClassEscape()) {\n return true\n }\n if (this._uFlag) {\n this.raise(\"Invalid escape\")\n }\n this.rewind(start)\n }\n\n const cp = this.currentCodePoint\n if (cp !== -1 && cp !== RightSquareBracket) {\n this.advance()\n this._lastIntValue = cp\n this.onCharacter(start, this.index, cp)\n return true\n }\n\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-ClassEscape\n private eatClassEscape(): boolean {\n const start = this.index\n\n if (this.eat(LatinSmallLetterB)) {\n this._lastIntValue = Backspace\n this.onCharacter(start - 1, this.index, Backspace)\n return true\n }\n\n if (this._uFlag && this.eat(HyphenMinus)) {\n this._lastIntValue = HyphenMinus\n this.onCharacter(start - 1, this.index, HyphenMinus)\n return true\n }\n\n if (!this._uFlag && this.eat(LatinSmallLetterC)) {\n if (this.eatClassControlLetter()) {\n this.onCharacter(start - 1, this.index, this._lastIntValue)\n return true\n }\n this.rewind(start)\n }\n\n return this.eatCharacterClassEscape() || this.eatCharacterEscape()\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-ClassControlLetter\n private eatClassControlLetter(): boolean {\n const cp = this.currentCodePoint\n if (isDecimalDigit(cp) || cp === LowLine) {\n this.advance()\n this._lastIntValue = cp % 0x20\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\n private eatHexEscapeSequence(): boolean {\n const start = this.index\n if (this.eat(LatinSmallLetterX)) {\n if (this.eatFixedHexDigits(2)) {\n return true\n }\n if (this._uFlag) {\n this.raise(\"Invalid escape\")\n }\n this.rewind(start)\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\n private eatDecimalDigits(): boolean {\n const start = this.index\n\n this._lastIntValue = 0\n while (isDecimalDigit(this.currentCodePoint)) {\n this._lastIntValue =\n 10 * this._lastIntValue + digitToInt(this.currentCodePoint)\n this.advance()\n }\n\n return this.index !== start\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\n private eatHexDigits(): boolean {\n const start = this.index\n this._lastIntValue = 0\n while (isHexDigit(this.currentCodePoint)) {\n this._lastIntValue =\n 16 * this._lastIntValue + digitToInt(this.currentCodePoint)\n this.advance()\n }\n return this.index !== start\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-strict-LegacyOctalEscapeSequence\n // Allows only 0-377(octal) i.e. 0-255(decimal).\n private eatLegacyOctalEscapeSequence(): boolean {\n if (this.eatOctalDigit()) {\n const n1 = this._lastIntValue\n if (this.eatOctalDigit()) {\n const n2 = this._lastIntValue\n if (n1 <= 3 && this.eatOctalDigit()) {\n this._lastIntValue = n1 * 64 + n2 * 8 + this._lastIntValue\n } else {\n this._lastIntValue = n1 * 8 + n2\n }\n } else {\n this._lastIntValue = n1\n }\n return true\n }\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\n private eatOctalDigit(): boolean {\n const cp = this.currentCodePoint\n if (isOctalDigit(cp)) {\n this.advance()\n this._lastIntValue = cp - DigitZero\n return true\n }\n this._lastIntValue = 0\n return false\n }\n\n // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\n private eatFixedHexDigits(length: number): boolean {\n const start = this.index\n this._lastIntValue = 0\n for (let i = 0; i < length; ++i) {\n const cp = this.currentCodePoint\n if (!isHexDigit(cp)) {\n this.rewind(start)\n return false\n }\n this._lastIntValue = 16 * this._lastIntValue + digitToInt(cp)\n this.advance()\n }\n return true\n }\n}\n","import {\n AlternativeElement,\n AnyCharacterSet,\n Assertion,\n Backreference,\n CapturingGroup,\n Character,\n CharacterClass,\n CharacterClassRange,\n Disjunction,\n Element,\n EscapeCharacterSet,\n Flags,\n Group,\n RegExpLiteral,\n LookaroundAssertion,\n Pattern,\n QuantifiableElement,\n Quantifier,\n UnicodePropertyCharacterSet,\n} from \"./ast\"\nimport { assert, last } from \"./util\"\nimport { RegExpValidator } from \"./validator\"\n\ntype AppendableNode =\n | Pattern\n | Disjunction\n | Group\n | CapturingGroup\n | CharacterClass\n | LookaroundAssertion\n\nconst DummyPattern = {} as Pattern\nconst DummyFlags = {} as Flags\nconst DummyCapturingGroup = {} as CapturingGroup\n\n/**\n * Convert given elements to an alternative.\n * This doesn't clone the array, so the return value is `elements` itself.\n * @param elements Elements to convert.\n */\nfunction elementsToAlternative(\n elements: Element[],\n parent: Disjunction,\n): AlternativeElement[] {\n for (const element of elements) {\n assert(element.type !== \"Disjunction\")\n element.parent = parent\n }\n return elements as AlternativeElement[]\n}\n\nfunction addAlternativeElement(\n parent:\n | Pattern\n | Disjunction\n | Group\n | CapturingGroup\n | LookaroundAssertion,\n node:\n | Group\n | CapturingGroup\n | Quantifier\n | CharacterClass\n | Assertion\n | AnyCharacterSet\n | Backreference,\n): void {\n if (parent.type === \"Disjunction\") {\n last(parent.alternatives)!.push(node)\n } else {\n parent.elements.push(node)\n }\n}\n\nfunction addCommonElement(\n parent: AppendableNode,\n node: EscapeCharacterSet | UnicodePropertyCharacterSet | Character,\n): void {\n if (parent.type === \"Disjunction\") {\n last(parent.alternatives)!.push(node)\n } else if (parent.type === \"CharacterClass\") {\n parent.elements.push(node)\n } else {\n parent.elements.push(node)\n }\n}\n\nclass RegExpParserState {\n readonly strict: boolean\n readonly ecmaVersion: 5 | 2015 | 2016 | 2017 | 2018\n private _node: AppendableNode = DummyPattern\n private _flags: Flags = DummyFlags\n private _disjunctionStartStack: number[] = []\n private _backreferences: Backreference[] = []\n private _capturingGroups: CapturingGroup[] = []\n\n source: string = \"\"\n\n constructor(options?: RegExpParser.Options) {\n this.strict = Boolean(options && options.strict)\n this.ecmaVersion = (options && options.ecmaVersion) || 2018\n }\n\n get pattern(): Pattern {\n if (this._node.type !== \"Pattern\") {\n throw new Error(\"UnknownError\")\n }\n return this._node\n }\n\n get flags(): Flags {\n if (this._flags.type !== \"Flags\") {\n throw new Error(\"UnknownError\")\n }\n return this._flags\n }\n\n onFlags(\n start: number,\n end: number,\n global: boolean,\n ignoreCase: boolean,\n multiline: boolean,\n unicode: boolean,\n sticky: boolean,\n dotAll: boolean,\n ): void {\n this._flags = {\n type: \"Flags\",\n parent: null,\n start,\n end,\n raw: this.source.slice(start, end),\n global,\n ignoreCase,\n multiline,\n unicode,\n sticky,\n dotAll,\n }\n }\n\n onPatternEnter(start: number): void {\n this._node = {\n type: \"Pattern\",\n parent: null,\n start,\n end: start,\n raw: \"\",\n elements: [],\n }\n this._backreferences.length = 0\n this._capturingGroups.length = 0\n }\n\n onPatternLeave(start: number, end: number): void {\n this._node.end = end\n this._node.raw = this.source.slice(start, end)\n\n for (const reference of this._backreferences) {\n const ref = reference.ref\n const group =\n typeof ref === \"number\"\n ? this._capturingGroups[ref - 1]\n : this._capturingGroups.find(g => g.name === ref)!\n reference.resolved = group\n group.references.push(reference)\n }\n }\n\n onDisjunctionEnter(start: number): void {\n this._disjunctionStartStack.push(start)\n }\n\n onDisjunctionLeave(start: number, end: number): void {\n this._disjunctionStartStack.pop()\n }\n\n onAlternativeEnter(start: number, index: number): void {\n if (index === 0) {\n return\n }\n\n const parentNode = this._node\n if (\n parentNode.type === \"Disjunction\" ||\n parentNode.type === \"CharacterClass\"\n ) {\n throw new Error(\"UnknownError\")\n }\n\n const prevNode = last(parentNode.elements)\n if (prevNode != null && prevNode.type === \"Disjunction\") {\n this._node = prevNode\n prevNode.alternatives.push([])\n } else {\n this._node = {\n type: \"Disjunction\",\n parent: parentNode,\n start: last(this._disjunctionStartStack)!,\n end: start,\n raw: \"\",\n alternatives: [],\n }\n const elements = elementsToAlternative(\n parentNode.elements,\n this._node,\n )\n this._node.alternatives.push(elements, [])\n parentNode.elements = [this._node]\n }\n }\n\n onAlternativeLeave(start: number, end: number, index: number): void {\n if (index === 0) {\n return\n }\n this._node.end = end\n this._node.raw = this.source.slice(this._node.start, end)\n this._node = this._node.parent as AppendableNode\n }\n\n onGroupEnter(start: number): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n this._node = {\n type: \"Group\",\n parent: parentNode,\n start,\n end: start,\n raw: \"\",\n elements: [],\n }\n addAlternativeElement(parentNode, this._node)\n }\n\n onGroupLeave(start: number, end: number): void {\n this._node.end = end\n this._node.raw = this.source.slice(start, end)\n this._node = this._node.parent as AppendableNode\n }\n\n onCapturingGroupEnter(start: number, name: string | null): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n this._node = {\n type: \"CapturingGroup\",\n parent: parentNode,\n start,\n end: start,\n raw: \"\",\n name,\n elements: [],\n references: [],\n }\n addAlternativeElement(parentNode, this._node)\n this._capturingGroups.push(this._node)\n }\n\n onCapturingGroupLeave(\n start: number,\n end: number,\n name: string | null,\n ): void {\n this._node.end = end\n this._node.raw = this.source.slice(start, end)\n this._node = this._node.parent as AppendableNode\n }\n\n onQuantifier(\n start: number,\n end: number,\n min: number,\n max: number,\n greedy: boolean,\n ): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n // Replace the last element.\n const elements =\n parentNode.type === \"Disjunction\"\n ? last(parentNode.alternatives)!\n : parentNode.elements\n const prevNode = elements.pop()!\n const node: Quantifier = {\n type: \"Quantifier\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n min,\n max,\n greedy,\n element: prevNode as QuantifiableElement,\n }\n elements.push(node)\n prevNode.parent = node\n }\n\n onLookaroundAssertionEnter(\n start: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n this._node = {\n type: \"Assertion\",\n parent: parentNode,\n start,\n end: start,\n raw: \"\",\n kind,\n negate,\n elements: [],\n } as LookaroundAssertion\n addAlternativeElement(parentNode, this._node)\n }\n\n onLookaroundAssertionLeave(\n start: number,\n end: number,\n kind: \"lookahead\" | \"lookbehind\",\n negate: boolean,\n ): void {\n this._node.end = end\n this._node.raw = this.source.slice(start, end)\n this._node = this._node.parent as AppendableNode\n }\n\n onEdgeAssertion(start: number, end: number, kind: \"start\" | \"end\"): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n addAlternativeElement(parentNode, {\n type: \"Assertion\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n kind,\n })\n }\n\n onWordBoundaryAssertion(\n start: number,\n end: number,\n kind: \"word\",\n negate: boolean,\n ): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n addAlternativeElement(parentNode, {\n type: \"Assertion\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n kind,\n negate,\n })\n }\n\n onAnyCharacterSet(start: number, end: number, kind: \"any\"): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n addAlternativeElement(parentNode, {\n type: \"CharacterSet\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n kind,\n })\n }\n\n onEscapeCharacterSet(\n start: number,\n end: number,\n kind: \"digit\" | \"space\" | \"word\",\n negate: boolean,\n ): void {\n addCommonElement(this._node, {\n type: \"CharacterSet\",\n parent: this._node,\n start,\n end,\n raw: this.source.slice(start, end),\n kind,\n negate,\n })\n }\n\n onUnicodePropertyCharacterSet(\n start: number,\n end: number,\n kind: \"property\",\n key: string,\n value: string | null,\n negate: boolean,\n ): void {\n addCommonElement(this._node, {\n type: \"CharacterSet\",\n parent: this._node,\n start,\n end,\n raw: this.source.slice(start, end),\n kind,\n key,\n value,\n negate,\n })\n }\n\n onCharacter(start: number, end: number, value: number): void {\n addCommonElement(this._node, {\n type: \"Character\",\n parent: this._node,\n start,\n end,\n raw: this.source.slice(start, end),\n value,\n })\n }\n\n onBackreference(start: number, end: number, ref: number | string): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n const node: Backreference = {\n type: \"Backreference\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n ref,\n resolved: DummyCapturingGroup,\n }\n addAlternativeElement(parentNode, node)\n this._backreferences.push(node)\n }\n\n onCharacterClassEnter(start: number, negate: boolean): void {\n const parentNode = this._node\n if (parentNode.type === \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n this._node = {\n type: \"CharacterClass\",\n parent: parentNode,\n start,\n end: start,\n raw: \"\",\n negate,\n elements: [],\n }\n addAlternativeElement(parentNode, this._node)\n }\n\n onCharacterClassLeave(start: number, end: number, negate: boolean): void {\n this._node.end = end\n this._node.raw = this.source.slice(start, end)\n this._node = this._node.parent as AppendableNode\n }\n\n onCharacterClassRange(\n start: number,\n end: number,\n min: number,\n max: number,\n ): void {\n const parentNode = this._node\n if (parentNode.type !== \"CharacterClass\") {\n throw new Error(\"UnknownError\")\n }\n\n // Replace the last three elements.\n const elements = parentNode.elements\n const rightNode = elements.pop() as Character\n elements.pop() // hyphen\n const leftNode = elements.pop() as Character\n const node: CharacterClassRange = {\n type: \"CharacterClassRange\",\n parent: parentNode,\n start,\n end,\n raw: this.source.slice(start, end),\n min: leftNode,\n max: rightNode,\n }\n assert(leftNode != null && leftNode.type === \"Character\")\n assert(rightNode != null && rightNode.type === \"Character\")\n leftNode.parent = node\n rightNode.parent = node\n elements.push(node)\n }\n}\n\nexport namespace RegExpParser {\n /**\n * The options for RegExpParser construction.\n */\n export interface Options {\n /**\n * The flag to disable Annex B syntax. Default is `false`.\n */\n strict?: boolean\n\n /**\n * ECMAScript version. Default is `2018`.\n * - `2015` added `u` and `y` flags.\n * - `2018` added `s` flag, Named Capturing Group, Lookbehind Assertion,\n * and Unicode Property Escape.\n */\n ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018\n }\n}\n\nexport class RegExpParser {\n private _state: RegExpParserState\n private _validator: RegExpValidator\n\n /**\n * Initialize this parser.\n * @param options The options of parser.\n */\n constructor(options?: RegExpParser.Options) {\n this._state = new RegExpParserState(options)\n this._validator = new RegExpValidator(this._state)\n }\n\n /**\n * Parse a regular expression literal. E.g. \"/abc/g\"\n * @param source The source code to parse.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n * @returns The AST of the given regular expression.\n */\n parseLiteral(\n source: string,\n start: number = 0,\n end: number = source.length,\n ): RegExpLiteral {\n this._state.source = source\n this._validator.validateLiteral(source, start, end)\n const pattern = this._state.pattern\n const flags = this._state.flags\n const literal: RegExpLiteral = {\n type: \"RegExpLiteral\",\n parent: null,\n start,\n end,\n raw: source,\n pattern,\n flags,\n }\n pattern.parent = literal\n flags.parent = literal\n return literal\n }\n\n /**\n * Parse a regular expression flags. E.g. \"gim\"\n * @param source The source code to parse.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n * @returns The AST of the given flags.\n */\n parseFlags(\n source: string,\n start: number = 0,\n end: number = source.length,\n ): Flags {\n this._state.source = source\n this._validator.validateFlags(source, start, end)\n return this._state.flags\n }\n\n /**\n * Parse a regular expression pattern. E.g. \"abc\"\n * @param source The source code to parse.\n * @param start The start index in the source code.\n * @param end The end index in the source code.\n * @param uFlag The flag to set unicode mode.\n * @returns The AST of the given pattern.\n */\n parsePattern(\n source: string,\n start: number = 0,\n end: number = source.length,\n uFlag: boolean = false,\n ): Pattern {\n this._state.source = source\n this._validator.validatePattern(source, start, end, uFlag)\n return this._state.pattern\n }\n}\n","import * as AST from \"./ast\"\nimport { RegExpParser } from \"./parser\"\nimport { RegExpValidator } from \"./validator\"\n\nexport { AST, RegExpParser, RegExpValidator }\n\n/**\n * Parse a given regular expression literal then make AST object.\n * @param source The source code to parse.\n * @param options The options to parse.\n * @returns The AST of the regular expression.\n */\nexport function parseRegExpLiteral(\n source: string,\n options?: RegExpParser.Options,\n): AST.RegExpLiteral {\n return new RegExpParser(options).parseLiteral(source)\n}\n\n/**\n * Validate a given regular expression literal.\n * @param source The source code to validate.\n * @param options The options to validate.\n */\nexport function validateRegExpLiteral(\n source: string,\n options?: RegExpValidator.Options,\n): void {\n return new RegExpValidator(options).validateLiteral(source)\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/regexpp/package.json b/tools/node_modules/eslint/node_modules/regexpp/package.json
new file mode 100644
index 0000000000..3974824ed4
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/regexpp/package.json
@@ -0,0 +1,104 @@
+{
+ "_from": "regexpp@^1.0.1",
+ "_id": "regexpp@1.0.1",
+ "_inBundle": false,
+ "_integrity": "sha512-8Ph721maXiOYSLtaDGKVmDn5wdsNaF6Px85qFNeMPQq0r8K5Y10tgP6YuR65Ws35n4DvzFcCxEnRNBIXQunzLw==",
+ "_location": "/eslint/regexpp",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "regexpp@^1.0.1",
+ "name": "regexpp",
+ "escapedName": "regexpp",
+ "rawSpec": "^1.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.1"
+ },
+ "_requiredBy": [
+ "/eslint"
+ ],
+ "_resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.0.1.tgz",
+ "_shasum": "d857c3a741dce075c2848dcb019a0a975b190d43",
+ "_spec": "regexpp@^1.0.1",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
+ "author": {
+ "name": "Toru Nagashima",
+ "url": "https://github.com/mysticatea"
+ },
+ "bugs": {
+ "url": "https://github.com/mysticatea/regexpp/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Regular expression parser for ECMAScript 2018.",
+ "devDependencies": {
+ "@types/eslint": "^4.16.0",
+ "@types/mocha": "^2.2.48",
+ "@types/node": "^9.4.6",
+ "dts-bundle": "^0.7.3",
+ "eslint": "^4.18.0",
+ "eslint-config-mysticatea": "^13.0.2",
+ "eslint-config-prettier": "^2.9.0",
+ "eslint-plugin-prettier": "^2.4.0",
+ "mocha": "^5.0.1",
+ "npm-run-all": "^4.1.2",
+ "prettier": "^1.9.2",
+ "rimraf": "^2.6.2",
+ "rollup": "^0.56.1",
+ "rollup-plugin-node-resolve": "^3.0.3",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "rollup-watch": "^4.3.1",
+ "ts-node": "^5.0.0",
+ "typescript": "^2.7.2",
+ "typescript-eslint-parser": "^14.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ },
+ "files": [
+ "index.d.ts",
+ "index.js.map"
+ ],
+ "homepage": "https://github.com/mysticatea/regexpp#readme",
+ "keywords": [
+ "regexp",
+ "regular",
+ "expression",
+ "parser",
+ "validator",
+ "ast",
+ "abstract",
+ "syntax",
+ "tree",
+ "ecmascript",
+ "es2015",
+ "es2016",
+ "es2017",
+ "es2018",
+ "annexB"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "regexpp",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/mysticatea/regexpp.git"
+ },
+ "scripts": {
+ "build": "tsc --project tsconfig.prod.json && rollup -c -o index.js && dts-bundle --name regexpp --main .temp/index.d.ts --out ../index.d.ts",
+ "clean": "rimraf .temp index.*",
+ "lint": "eslint src test tools --ext .ts",
+ "postversion": "git push && git push --tags",
+ "prebuild": "npm run -s clean",
+ "pretest": "run-s build lint",
+ "preversion": "npm test",
+ "prewatch": "npm run -s clean",
+ "test": "_mocha --require ts-node/register --reporter dot --timeout 10000 \"test/*.ts\"",
+ "update:ids": "ts-node tools/update-unicode-ids.ts",
+ "update:test": "ts-node tools/update-fixtures.ts",
+ "version": "npm run -s build",
+ "watch": "npm run -s test -- --watch-extensions .ts --watch --growl"
+ },
+ "version": "1.0.1"
+}
diff --git a/tools/node_modules/eslint/node_modules/remark-parse/package.json b/tools/node_modules/eslint/node_modules/remark-parse/package.json
index 3396a02a9c..9f604fd5b3 100644
--- a/tools/node_modules/eslint/node_modules/remark-parse/package.json
+++ b/tools/node_modules/eslint/node_modules/remark-parse/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-3.0.1.tgz",
"_shasum": "1b9f841a44d8f4fbf2246850265459a4eb354c80",
"_spec": "remark-parse@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-plugin-markdown",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-plugin-markdown",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/repeat-string/package.json b/tools/node_modules/eslint/node_modules/repeat-string/package.json
index c27e2d93b8..b512887293 100644
--- a/tools/node_modules/eslint/node_modules/repeat-string/package.json
+++ b/tools/node_modules/eslint/node_modules/repeat-string/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"_shasum": "8dcae470e1c88abc2d600fff4a776286da75e637",
"_spec": "repeat-string@^1.5.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Jon Schlinkert",
"url": "http://github.com/jonschlinkert"
diff --git a/tools/node_modules/eslint/node_modules/replace-ext/package.json b/tools/node_modules/eslint/node_modules/replace-ext/package.json
index 5a49b66cb0..c91ddea88c 100644
--- a/tools/node_modules/eslint/node_modules/replace-ext/package.json
+++ b/tools/node_modules/eslint/node_modules/replace-ext/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"_shasum": "de63128373fcbf7c3ccfa4de5a480c45a67958eb",
"_spec": "replace-ext@1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
"author": {
"name": "Gulp Team",
"email": "team@gulpjs.com",
diff --git a/tools/node_modules/eslint/node_modules/require-uncached/package.json b/tools/node_modules/eslint/node_modules/require-uncached/package.json
index 32f68b6b3f..d2c2ae8abc 100644
--- a/tools/node_modules/eslint/node_modules/require-uncached/package.json
+++ b/tools/node_modules/eslint/node_modules/require-uncached/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"_shasum": "4e0d56d6c9662fd31e43011c4b95aa49955421d3",
"_spec": "require-uncached@^1.0.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/resolve-from/package.json b/tools/node_modules/eslint/node_modules/resolve-from/package.json
index 790705cabf..43ed73fc26 100644
--- a/tools/node_modules/eslint/node_modules/resolve-from/package.json
+++ b/tools/node_modules/eslint/node_modules/resolve-from/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"_shasum": "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226",
"_spec": "resolve-from@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/require-uncached",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/require-uncached",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/restore-cursor/package.json b/tools/node_modules/eslint/node_modules/restore-cursor/package.json
index edd2a234b8..083dd1de3a 100644
--- a/tools/node_modules/eslint/node_modules/restore-cursor/package.json
+++ b/tools/node_modules/eslint/node_modules/restore-cursor/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"_shasum": "9f7ee287f82fd326d4fd162923d62129eee0dfaf",
"_spec": "restore-cursor@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/cli-cursor",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/cli-cursor",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/rimraf/package.json b/tools/node_modules/eslint/node_modules/rimraf/package.json
index d1d1a8ced4..b6e4224e02 100644
--- a/tools/node_modules/eslint/node_modules/rimraf/package.json
+++ b/tools/node_modules/eslint/node_modules/rimraf/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"_shasum": "2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36",
"_spec": "rimraf@^2.2.8",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/del",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/del",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/run-async/package.json b/tools/node_modules/eslint/node_modules/run-async/package.json
index c7cd519b28..bcb38d8de7 100644
--- a/tools/node_modules/eslint/node_modules/run-async/package.json
+++ b/tools/node_modules/eslint/node_modules/run-async/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"_shasum": "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0",
"_spec": "run-async@^2.2.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Simon Boudrias",
"email": "admin@simonboudrias.com"
diff --git a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json
index 6e1e4cd062..c9447ae588 100644
--- a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json
+++ b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
"_shasum": "753b87a89a11c95467c4ac1626c4efc4e05c67be",
"_spec": "rx-lite-aggregates@^4.0.8",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Cloud Programmability Team",
"url": "https://github.com/Reactive-Extensions/RxJS/blob/master/authors.txt"
diff --git a/tools/node_modules/eslint/node_modules/rx-lite/package.json b/tools/node_modules/eslint/node_modules/rx-lite/package.json
index e02497d1a2..dc9feadb00 100644
--- a/tools/node_modules/eslint/node_modules/rx-lite/package.json
+++ b/tools/node_modules/eslint/node_modules/rx-lite/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"_shasum": "0b1e11af8bc44836f04a6407e92da42467b79444",
"_spec": "rx-lite@^4.0.8",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Cloud Programmability Team",
"url": "https://github.com/Reactive-Extensions/RxJS/blob/master/authors.txt"
diff --git a/tools/node_modules/eslint/node_modules/safe-buffer/package.json b/tools/node_modules/eslint/node_modules/safe-buffer/package.json
index c7df4b75f3..8b2eedf47a 100644
--- a/tools/node_modules/eslint/node_modules/safe-buffer/package.json
+++ b/tools/node_modules/eslint/node_modules/safe-buffer/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"_shasum": "893312af69b2123def71f57889001671eeb2c853",
"_spec": "safe-buffer@~5.1.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"author": {
"name": "Feross Aboukhadijeh",
"email": "feross@feross.org",
diff --git a/tools/node_modules/eslint/node_modules/semver/README.md b/tools/node_modules/eslint/node_modules/semver/README.md
index fd5151ab37..951c53956a 100644
--- a/tools/node_modules/eslint/node_modules/semver/README.md
+++ b/tools/node_modules/eslint/node_modules/semver/README.md
@@ -20,6 +20,8 @@ semver.clean(' =v1.2.3 ') // '1.2.3'
semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
semver.gt('1.2.3', '9.8.7') // false
semver.lt('1.2.3', '9.8.7') // true
+semver.valid(semver.coerce('v2')) // '2.0.0'
+semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
```
As a command-line utility:
@@ -52,6 +54,10 @@ Options:
-l --loose
Interpret versions and ranges loosely
+-c --coerce
+ Coerce a string into SemVer if possible
+ (does not imply --loose)
+
Program exits successfully if any valid version satisfies
all supplied ranges, and prints all satisfying versions.
@@ -364,3 +370,19 @@ satisfy the range.
If you want to know if a version satisfies or does not satisfy a
range, use the `satisfies(version, range)` function.
+
+### Coercion
+
+* `coerce(version)`: Coerces a string to semver if possible
+
+This aims to provide a very forgiving translation of a non-semver
+string to semver. It looks for the first digit in a string, and
+consumes all remaining characters which satisfy at least a partial semver
+(e.g., `1`, `1.2`, `1.2.3`) up to the max permitted length (256 characters).
+Longer versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`).
+All surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes `3.4.0`).
+Only text which lacks digits will fail coercion (`version one` is not valid).
+The maximum length for any semver component considered for coercion is 16 characters;
+longer components will be ignored (`10000000000000000.4.7.4` becomes `4.7.4`).
+The maximum value for any semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`;
+higher value components are invalid (`9999999999999999.4.7.4` is likely invalid).
diff --git a/tools/node_modules/eslint/node_modules/semver/bin/semver b/tools/node_modules/eslint/node_modules/semver/bin/semver
index c5f2e857e8..dddbcdf118 100755
--- a/tools/node_modules/eslint/node_modules/semver/bin/semver
+++ b/tools/node_modules/eslint/node_modules/semver/bin/semver
@@ -12,6 +12,7 @@ var argv = process.argv.slice(2)
, inc = null
, version = require("../package.json").version
, loose = false
+ , coerce = false
, identifier = undefined
, semver = require("../semver")
, reverse = false
@@ -54,6 +55,9 @@ function main () {
case "-r": case "--range":
range.push(argv.shift())
break
+ case "-c": case "--coerce":
+ coerce = true
+ break
case "-h": case "--help": case "-?":
return help()
default:
@@ -62,8 +66,10 @@ function main () {
}
}
- versions = versions.filter(function (v) {
- return semver.valid(v, loose)
+ versions = versions.map(function (v) {
+ return coerce ? (semver.coerce(v) || {version: v}).version : v
+ }).filter(function (v) {
+ return semver.valid(v)
})
if (!versions.length) return fail()
if (inc && (versions.length !== 1 || range.length))
@@ -122,6 +128,10 @@ function help () {
,"-l --loose"
," Interpret versions and ranges loosely"
,""
+ ,"-c --coerce"
+ ," Coerce a string into SemVer if possible"
+ ," (does not imply --loose)"
+ ,""
,"Program exits successfully if any valid version satisfies"
,"all supplied ranges, and prints all satisfying versions."
,""
diff --git a/tools/node_modules/eslint/node_modules/semver/package.json b/tools/node_modules/eslint/node_modules/semver/package.json
index 8ff4a28b0e..e5277bf5ef 100644
--- a/tools/node_modules/eslint/node_modules/semver/package.json
+++ b/tools/node_modules/eslint/node_modules/semver/package.json
@@ -1,8 +1,8 @@
{
"_from": "semver@^5.3.0",
- "_id": "semver@5.4.1",
+ "_id": "semver@5.5.0",
"_inBundle": false,
- "_integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
+ "_integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
"_location": "/eslint/semver",
"_phantomChildren": {},
"_requested": {
@@ -18,10 +18,10 @@
"_requiredBy": [
"/eslint"
],
- "_resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "_shasum": "e059c09d8571f0540823733433505d3a2f00b18e",
+ "_resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "_shasum": "dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab",
"_spec": "semver@^5.3.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"bin": {
"semver": "./bin/semver"
},
@@ -50,5 +50,5 @@
"scripts": {
"test": "tap test/*.js --cov -J"
},
- "version": "5.4.1"
+ "version": "5.5.0"
}
diff --git a/tools/node_modules/eslint/node_modules/semver/range.bnf b/tools/node_modules/eslint/node_modules/semver/range.bnf
index 25ebd5c832..d4c6ae0d76 100644
--- a/tools/node_modules/eslint/node_modules/semver/range.bnf
+++ b/tools/node_modules/eslint/node_modules/semver/range.bnf
@@ -3,10 +3,10 @@ logical-or ::= ( ' ' ) * '||' ( ' ' ) *
range ::= hyphen | simple ( ' ' simple ) * | ''
hyphen ::= partial ' - ' partial
simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial
+primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
+nr ::= '0' | [1-9] ( [0-9] ) *
tilde ::= '~' partial
caret ::= '^' partial
qualifier ::= ( '-' pre )? ( '+' build )?
diff --git a/tools/node_modules/eslint/node_modules/semver/semver.js b/tools/node_modules/eslint/node_modules/semver/semver.js
index 389cb44676..6a2bc01002 100644
--- a/tools/node_modules/eslint/node_modules/semver/semver.js
+++ b/tools/node_modules/eslint/node_modules/semver/semver.js
@@ -21,6 +21,9 @@ exports.SEMVER_SPEC_VERSION = '2.0.0';
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
+// Max safe segment length for coercion.
+var MAX_SAFE_COMPONENT_LENGTH = 16;
+
// The actual regexps go on exports.re
var re = exports.re = [];
var src = exports.src = [];
@@ -156,6 +159,15 @@ src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
var XRANGELOOSE = R++;
src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$';
+// Coercion.
+// Extract anything that could conceivably be a part of a valid semver
+var COERCE = R++;
+src[COERCE] = '(?:^|[^\\d])' +
+ '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
+ '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
+ '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
+ '(?:$|[^\\d])';
+
// Tilde ranges.
// Meaning is "reasonably at or greater than"
var LONETILDE = R++;
@@ -1294,3 +1306,19 @@ function intersects(r1, r2, loose) {
r2 = new Range(r2, loose)
return r1.intersects(r2)
}
+
+exports.coerce = coerce;
+function coerce(version) {
+ if (version instanceof SemVer)
+ return version;
+
+ if (typeof version !== 'string')
+ return null;
+
+ var match = version.match(re[COERCE]);
+
+ if (match == null)
+ return null;
+
+ return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0'));
+}
diff --git a/tools/node_modules/eslint/node_modules/shebang-command/package.json b/tools/node_modules/eslint/node_modules/shebang-command/package.json
index 295bdb9492..c11c76fb53 100644
--- a/tools/node_modules/eslint/node_modules/shebang-command/package.json
+++ b/tools/node_modules/eslint/node_modules/shebang-command/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"_shasum": "44aac65b695b03398968c39f363fee5deafdf1ea",
"_spec": "shebang-command@^1.2.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
"author": {
"name": "Kevin Martensson",
"email": "kevinmartensson@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/shebang-regex/package.json b/tools/node_modules/eslint/node_modules/shebang-regex/package.json
index d21954d734..75570d43b6 100644
--- a/tools/node_modules/eslint/node_modules/shebang-regex/package.json
+++ b/tools/node_modules/eslint/node_modules/shebang-regex/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"_shasum": "da42f49740c0b42db2ca9728571cb190c98efea3",
"_spec": "shebang-regex@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/shebang-command",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/shebang-command",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/signal-exit/package.json b/tools/node_modules/eslint/node_modules/signal-exit/package.json
index cb0278df26..0ba8c2d9e5 100644
--- a/tools/node_modules/eslint/node_modules/signal-exit/package.json
+++ b/tools/node_modules/eslint/node_modules/signal-exit/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"_shasum": "b5fdc08f1287ea1178628e415e25132b73646c6d",
"_spec": "signal-exit@^3.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/restore-cursor",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/restore-cursor",
"author": {
"name": "Ben Coe",
"email": "ben@npmjs.com"
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
index fab7475439..93c9a892d7 100644
--- a/tools/node_modules/eslint/node_modules/slice-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
"_shasum": "044f1a49d8842ff307aad6b505ed178bd950134d",
"_spec": "slice-ansi@1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/table",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/table",
"author": {
"name": "David Caccavella",
"email": "threedeecee@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/sprintf-js/package.json b/tools/node_modules/eslint/node_modules/sprintf-js/package.json
index 95d7c021e9..fc155edf90 100644
--- a/tools/node_modules/eslint/node_modules/sprintf-js/package.json
+++ b/tools/node_modules/eslint/node_modules/sprintf-js/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"_shasum": "04e6926f662895354f3dd015203633b857297e2c",
"_spec": "sprintf-js@~1.0.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/argparse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/argparse",
"author": {
"name": "Alexandru Marasteanu",
"email": "hello@alexei.ro",
diff --git a/tools/node_modules/eslint/node_modules/state-toggle/package.json b/tools/node_modules/eslint/node_modules/state-toggle/package.json
index ad8b38da8c..3b61c5490f 100644
--- a/tools/node_modules/eslint/node_modules/state-toggle/package.json
+++ b/tools/node_modules/eslint/node_modules/state-toggle/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
"_shasum": "d20f9a616bb4f0c3b98b91922d25b640aa2bc425",
"_spec": "state-toggle@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/string-width/package.json b/tools/node_modules/eslint/node_modules/string-width/package.json
index 1d4766f3cd..08cc96ce7b 100644
--- a/tools/node_modules/eslint/node_modules/string-width/package.json
+++ b/tools/node_modules/eslint/node_modules/string-width/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"_shasum": "ab93f27a8dc13d28cac815c462143a6d9012ae9e",
"_spec": "string-width@^2.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/string_decoder/package.json b/tools/node_modules/eslint/node_modules/string_decoder/package.json
index dbfefdce97..d7c6e8f609 100644
--- a/tools/node_modules/eslint/node_modules/string_decoder/package.json
+++ b/tools/node_modules/eslint/node_modules/string_decoder/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"_shasum": "0fc67d7c141825de94282dd536bec6b9bce860ab",
"_spec": "string_decoder@~1.0.3",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"bugs": {
"url": "https://github.com/rvagg/string_decoder/issues"
},
diff --git a/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json
index a36b25b12f..34447391aa 100644
--- a/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json
+++ b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"_shasum": "ed0317c322064f79466c02966bddb605ab37d998",
"_spec": "ansi-regex@^3.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/strip-ansi",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/strip-ansi",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/strip-ansi/package.json
index e21a3776bb..85d67763f9 100644
--- a/tools/node_modules/eslint/node_modules/strip-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/strip-ansi/package.json
@@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"_shasum": "a8479022eb1ac368a871389b635262c505ee368f",
"_spec": "strip-ansi@^4.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/strip-json-comments/package.json b/tools/node_modules/eslint/node_modules/strip-json-comments/package.json
index e15334ec5e..4f0b564c7d 100644
--- a/tools/node_modules/eslint/node_modules/strip-json-comments/package.json
+++ b/tools/node_modules/eslint/node_modules/strip-json-comments/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"_shasum": "3c531942e908c2697c0ec344858c286c7ca0a60a",
"_spec": "strip-json-comments@~2.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/supports-color/package.json
index 8e2f8ef3f2..c95cbc540c 100644
--- a/tools/node_modules/eslint/node_modules/supports-color/package.json
+++ b/tools/node_modules/eslint/node_modules/supports-color/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
"_spec": "supports-color@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json
index 93c7ad8da5..fdb9d4393f 100644
--- a/tools/node_modules/eslint/node_modules/table/package.json
+++ b/tools/node_modules/eslint/node_modules/table/package.json
@@ -1,27 +1,27 @@
{
- "_from": "table@^4.0.1",
+ "_from": "table@4.0.2",
"_id": "table@4.0.2",
"_inBundle": false,
"_integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
"_location": "/eslint/table",
"_phantomChildren": {},
"_requested": {
- "type": "range",
+ "type": "version",
"registry": true,
- "raw": "table@^4.0.1",
+ "raw": "table@4.0.2",
"name": "table",
"escapedName": "table",
- "rawSpec": "^4.0.1",
+ "rawSpec": "4.0.2",
"saveSpec": null,
- "fetchSpec": "^4.0.1"
+ "fetchSpec": "4.0.2"
},
"_requiredBy": [
"/eslint"
],
"_resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
"_shasum": "a33447375391e766ad34d3486e6e2aedc84d2e36",
- "_spec": "table@^4.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_spec": "table@4.0.2",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "Gajus Kuizinas",
"email": "gajus@gajus.com",
diff --git a/tools/node_modules/eslint/node_modules/text-table/package.json b/tools/node_modules/eslint/node_modules/text-table/package.json
index 73bae5ffff..b6e1194ebf 100644
--- a/tools/node_modules/eslint/node_modules/text-table/package.json
+++ b/tools/node_modules/eslint/node_modules/text-table/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"_shasum": "7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
"_spec": "text-table@~0.2.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/through/package.json b/tools/node_modules/eslint/node_modules/through/package.json
index 11ea86a34c..3f2153fdbc 100644
--- a/tools/node_modules/eslint/node_modules/through/package.json
+++ b/tools/node_modules/eslint/node_modules/through/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"_shasum": "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5",
"_spec": "through@^2.3.6",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
"author": {
"name": "Dominic Tarr",
"email": "dominic.tarr@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json
index 796cb6a197..c103ad1436 100644
--- a/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json
+++ b/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
"_shasum": "7aefbb7808df9d669f6da2e438cac8c46ada7684",
"_spec": "trim-trailing-lines@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/trim/package.json b/tools/node_modules/eslint/node_modules/trim/package.json
index 8195f8acd9..f33ad3df1b 100644
--- a/tools/node_modules/eslint/node_modules/trim/package.json
+++ b/tools/node_modules/eslint/node_modules/trim/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
"_shasum": "5858547f6b290757ee95cccc666fb50084c460dd",
"_spec": "trim@0.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
diff --git a/tools/node_modules/eslint/node_modules/trough/package.json b/tools/node_modules/eslint/node_modules/trough/package.json
index d751b3d211..13bd3a6c82 100644
--- a/tools/node_modules/eslint/node_modules/trough/package.json
+++ b/tools/node_modules/eslint/node_modules/trough/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
"_shasum": "a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86",
"_spec": "trough@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/type-check/package.json b/tools/node_modules/eslint/node_modules/type-check/package.json
index 08a4842e3d..58aad33248 100644
--- a/tools/node_modules/eslint/node_modules/type-check/package.json
+++ b/tools/node_modules/eslint/node_modules/type-check/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"_shasum": "5884cab512cf1d355e3fb784f30804b2b520db72",
"_spec": "type-check@~0.3.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/levn",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/levn",
"author": {
"name": "George Zahariev",
"email": "z@georgezahariev.com"
diff --git a/tools/node_modules/eslint/node_modules/typedarray/package.json b/tools/node_modules/eslint/node_modules/typedarray/package.json
index e3ca80479f..9c7e57f4f2 100644
--- a/tools/node_modules/eslint/node_modules/typedarray/package.json
+++ b/tools/node_modules/eslint/node_modules/typedarray/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"_shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
"_spec": "typedarray@^0.0.6",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/concat-stream",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/unherit/package.json b/tools/node_modules/eslint/node_modules/unherit/package.json
index ae0e898f43..80d286419b 100644
--- a/tools/node_modules/eslint/node_modules/unherit/package.json
+++ b/tools/node_modules/eslint/node_modules/unherit/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
"_shasum": "6b9aaedfbf73df1756ad9e316dd981885840cd7d",
"_spec": "unherit@^1.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/unified/package.json b/tools/node_modules/eslint/node_modules/unified/package.json
index 996770a1c7..32ed2c34c1 100644
--- a/tools/node_modules/eslint/node_modules/unified/package.json
+++ b/tools/node_modules/eslint/node_modules/unified/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
"_shasum": "5ea7f807a0898f1f8acdeefe5f25faa010cc42b1",
"_spec": "unified@^6.1.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-plugin-markdown",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-plugin-markdown",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/package.json b/tools/node_modules/eslint/node_modules/unist-util-is/package.json
index a13c93cc1c..f708427345 100644
--- a/tools/node_modules/eslint/node_modules/unist-util-is/package.json
+++ b/tools/node_modules/eslint/node_modules/unist-util-is/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
"_shasum": "0c312629e3f960c66e931e812d3d80e77010947b",
"_spec": "unist-util-is@^2.1.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unist-util-visit",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unist-util-visit",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json
index 3d28235883..c288ac2679 100644
--- a/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json
+++ b/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
"_shasum": "5a85c1555fc1ba0c101b86707d15e50fa4c871bb",
"_spec": "unist-util-remove-position@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json
index 02abf91518..501b94b2e2 100644
--- a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json
+++ b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
"_shasum": "3ccbdc53679eed6ecf3777dd7f5e3229c1b6aa3c",
"_spec": "unist-util-stringify-position@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint/node_modules/unist-util-visit/package.json
index b51e456b24..c7829a3752 100644
--- a/tools/node_modules/eslint/node_modules/unist-util-visit/package.json
+++ b/tools/node_modules/eslint/node_modules/unist-util-visit/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
"_shasum": "41ca7c82981fd1ce6c762aac397fc24e35711444",
"_spec": "unist-util-visit@^1.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unist-util-remove-position",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unist-util-remove-position",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/package.json b/tools/node_modules/eslint/node_modules/util-deprecate/package.json
index 245106a25a..4b2d763c61 100644
--- a/tools/node_modules/eslint/node_modules/util-deprecate/package.json
+++ b/tools/node_modules/eslint/node_modules/util-deprecate/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
"_spec": "util-deprecate@~1.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
"author": {
"name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json
index f03c086ef8..c8a1d7ace9 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-location/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
"_shasum": "d3675c59c877498e492b4756ff65e4af1a752255",
"_spec": "vfile-location@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json
index e508425ddd..302eb0b700 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-message/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
"_shasum": "a6adb0474ea400fa25d929f1d673abea6a17e359",
"_spec": "vfile-message@^1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/vfile",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/vfile/package.json b/tools/node_modules/eslint/node_modules/vfile/package.json
index e4bf1f189b..f7b017230c 100644
--- a/tools/node_modules/eslint/node_modules/vfile/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
"_shasum": "e62d8e72b20e83c324bc6c67278ee272488bf84a",
"_spec": "vfile@^2.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
diff --git a/tools/node_modules/eslint/node_modules/which/package.json b/tools/node_modules/eslint/node_modules/which/package.json
index 1ddff54b2c..482a024ff5 100644
--- a/tools/node_modules/eslint/node_modules/which/package.json
+++ b/tools/node_modules/eslint/node_modules/which/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"_shasum": "ff04bdfc010ee547d780bec38e1ac1c2777d253a",
"_spec": "which@^1.2.9",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/wordwrap/package.json b/tools/node_modules/eslint/node_modules/wordwrap/package.json
index 1c7aa36520..2aca21afbd 100644
--- a/tools/node_modules/eslint/node_modules/wordwrap/package.json
+++ b/tools/node_modules/eslint/node_modules/wordwrap/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"_shasum": "27584810891456a4171c8d0226441ade90cbcaeb",
"_spec": "wordwrap@~1.0.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
diff --git a/tools/node_modules/eslint/node_modules/wrappy/package.json b/tools/node_modules/eslint/node_modules/wrappy/package.json
index 130a43c3c5..bc1c1e2eac 100644
--- a/tools/node_modules/eslint/node_modules/wrappy/package.json
+++ b/tools/node_modules/eslint/node_modules/wrappy/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f",
"_spec": "wrappy@1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inflight",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inflight",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
diff --git a/tools/node_modules/eslint/node_modules/write/package.json b/tools/node_modules/eslint/node_modules/write/package.json
index e9224b6596..9229848c71 100644
--- a/tools/node_modules/eslint/node_modules/write/package.json
+++ b/tools/node_modules/eslint/node_modules/write/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
"_shasum": "5fc03828e264cea3fe91455476f7a3c566cb0757",
"_spec": "write@^0.2.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
diff --git a/tools/node_modules/eslint/node_modules/x-is-function/package.json b/tools/node_modules/eslint/node_modules/x-is-function/package.json
index c564b85925..6a8ced6788 100644
--- a/tools/node_modules/eslint/node_modules/x-is-function/package.json
+++ b/tools/node_modules/eslint/node_modules/x-is-function/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
"_shasum": "5d294dc3d268cbdd062580e0c5df77a391d1fa1e",
"_spec": "x-is-function@^1.0.4",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "@serapath"
},
diff --git a/tools/node_modules/eslint/node_modules/x-is-string/package.json b/tools/node_modules/eslint/node_modules/x-is-string/package.json
index 9d86d6c1ef..cfc0c71147 100644
--- a/tools/node_modules/eslint/node_modules/x-is-string/package.json
+++ b/tools/node_modules/eslint/node_modules/x-is-string/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"_shasum": "474b50865af3a49a9c4657f05acd145458f77d82",
"_spec": "x-is-string@^0.1.0",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
"author": {
"name": "Matt-Esch",
"email": "matt@mattesch.info"
diff --git a/tools/node_modules/eslint/node_modules/xtend/package.json b/tools/node_modules/eslint/node_modules/xtend/package.json
index 65fd979117..c04cd90c78 100644
--- a/tools/node_modules/eslint/node_modules/xtend/package.json
+++ b/tools/node_modules/eslint/node_modules/xtend/package.json
@@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"_shasum": "a5c6d532be656e23db820efb943a1f04998d63af",
"_spec": "xtend@^4.0.1",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
"author": {
"name": "Raynos",
"email": "raynos2@gmail.com"
diff --git a/tools/node_modules/eslint/node_modules/yallist/package.json b/tools/node_modules/eslint/node_modules/yallist/package.json
index 996854e6fd..1a26ba8193 100644
--- a/tools/node_modules/eslint/node_modules/yallist/package.json
+++ b/tools/node_modules/eslint/node_modules/yallist/package.json
@@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"_shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52",
"_spec": "yallist@^2.1.2",
- "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/lru-cache",
+ "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/lru-cache",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",