blob: 0ca21a324665b561d6ad6c31c7d7dc509a93e496 [file] [log] [blame]
diff --git a/node_modules/@docusaurus/utils/lib/.tsbuildinfo b/node_modules/@docusaurus/utils/lib/.tsbuildinfo
index 20d4fa6..f1d998b 100644
--- a/node_modules/@docusaurus/utils/lib/.tsbuildinfo
+++ b/node_modules/@docusaurus/utils/lib/.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../src/codetranslationsutils.ts","../src/escapepath.ts","../../../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../../../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../../../node_modules/@nodelib/fs.stat/out/settings.d.ts","../../../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.stat/out/index.d.ts","../../../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../../../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../../../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../../../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.scandir/out/index.d.ts","../../../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../../../node_modules/@nodelib/fs.walk/out/settings.d.ts","../../../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../../../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../../../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.walk/out/index.d.ts","../../../node_modules/fast-glob/out/types/index.d.ts","../../../node_modules/fast-glob/out/settings.d.ts","../../../node_modules/fast-glob/out/managers/tasks.d.ts","../../../node_modules/fast-glob/out/index.d.ts","../../../node_modules/globby/index.d.ts","../../../node_modules/@types/braces/index.d.ts","../../../node_modules/@types/micromatch/index.d.ts","../src/globutils.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../src/pathutils.ts","../src/hashutils.ts","../../../node_modules/chalk/index.d.ts","../node_modules/escape-string-regexp/index.d.ts","../../../node_modules/webpack/node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/webpack/types.d.ts","../../docusaurus-types/node_modules/commander/typings/index.d.ts","../../../node_modules/joi/lib/index.d.ts","../../docusaurus-types/src/index.d.ts","../src/posixpath.ts","../src/normalizeurl.ts","../src/tags.ts","../../../node_modules/gray-matter/gray-matter.d.ts","../src/markdownparser.ts","../src/markdownlinks.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/@types/clean-css/index.d.ts","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../../../node_modules/@types/color/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../node_modules/@types/cssnano/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/cssnano/index.d.ts","../../../node_modules/@types/decompress/index.d.ts","../../../node_modules/@types/dedent/index.d.ts","../../../node_modules/@types/detect-port/index.d.ts","../../../node_modules/@types/got/index.d.ts","../../../node_modules/@types/download/index.d.ts","../../../node_modules/@types/escape-html/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/github-slugger/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/history/domutils.d.ts","../../../node_modules/@types/history/createbrowserhistory.d.ts","../../../node_modules/@types/history/createhashhistory.d.ts","../../../node_modules/@types/history/creatememoryhistory.d.ts","../../../node_modules/@types/history/locationutils.d.ts","../../../node_modules/@types/history/pathutils.d.ts","../../../node_modules/@types/history/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/@types/relateurl/index.d.ts","../../../node_modules/@types/html-minifier/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/html-webpack-plugin/index.d.ts","../../../node_modules/@types/http-proxy/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/ast-types/types.d.ts","../../../node_modules/ast-types/gen/kinds.d.ts","../../../node_modules/ast-types/gen/nodes.d.ts","../../../node_modules/ast-types/lib/types.d.ts","../../../node_modules/ast-types/lib/path.d.ts","../../../node_modules/ast-types/lib/scope.d.ts","../../../node_modules/ast-types/lib/node-path.d.ts","../../../node_modules/ast-types/lib/path-visitor.d.ts","../../../node_modules/ast-types/fork.d.ts","../../../node_modules/ast-types/gen/namedtypes.d.ts","../../../node_modules/ast-types/gen/builders.d.ts","../../../node_modules/ast-types/gen/visitor.d.ts","../../../node_modules/ast-types/main.d.ts","../../../node_modules/recast/lib/types.d.ts","../../../node_modules/recast/lib/options.d.ts","../../../node_modules/recast/lib/parser.d.ts","../../../node_modules/recast/lib/printer.d.ts","../../../node_modules/recast/main.d.ts","../../../node_modules/@types/jscodeshift/src/collections/jsxelement.d.ts","../../../node_modules/@types/jscodeshift/src/collections/node.d.ts","../../../node_modules/@types/jscodeshift/src/collections/variabledeclarator.d.ts","../../../node_modules/@types/jscodeshift/src/collection.d.ts","../../../node_modules/@types/jscodeshift/src/template.d.ts","../../../node_modules/@types/jscodeshift/src/core.d.ts","../../../node_modules/@types/jscodeshift/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/katex/contrib/auto-render.d.ts","../../../node_modules/@types/katex/contrib/katex2tex.d.ts","../../../node_modules/@types/katex/contrib/index.d.ts","../../../node_modules/@types/katex/index.d.ts","../../../node_modules/@types/loader-utils/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/mdx-js__react/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mkdirp/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/nprogress/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse-numeric-range/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/picomatch/lib/constants.d.ts","../../../node_modules/@types/picomatch/lib/parse.d.ts","../../../node_modules/@types/picomatch/lib/scan.d.ts","../../../node_modules/@types/picomatch/lib/picomatch.d.ts","../../../node_modules/@types/picomatch/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/prismjs/index.d.ts","../../../node_modules/@types/prompts/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/react-dev-utils/index.d.ts","../../../node_modules/@types/react-helmet/index.d.ts","../../../node_modules/@types/react-loadable/index.d.ts","../../../node_modules/@types/react-router/index.d.ts","../../../node_modules/@types/react-router-config/index.d.ts","../../../node_modules/@types/react-router-dom/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/source-map-js/source-map.d.ts","../../../node_modules/postcss/lib/comment.d.ts","../../../node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/postcss/lib/rule.d.ts","../../../node_modules/postcss/lib/container.d.ts","../../../node_modules/postcss/lib/declaration.d.ts","../../../node_modules/postcss/lib/warning.d.ts","../../../node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/postcss/lib/input.d.ts","../../../node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/postcss/lib/document.d.ts","../../../node_modules/postcss/lib/root.d.ts","../../../node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/postcss/lib/processor.d.ts","../../../node_modules/postcss/lib/result.d.ts","../../../node_modules/postcss/lib/node.d.ts","../../../node_modules/postcss/lib/list.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/rtlcss/index.d.ts","../../../node_modules/@types/sax/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/shelljs/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/stringify-object/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/wait-on/index.d.ts","../../../node_modules/@types/webpack/node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/source.d.ts","../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts","../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts","../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts","../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts","../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts","../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/http-proxy-middleware/dist/types.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/public.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/index.d.ts","../../../node_modules/http-proxy-middleware/dist/index.d.ts","../../../node_modules/@types/webpack-dev-server/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75",{"version":"25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","a668dfae917097b30fc29bbebeeb869cee22529f2aa9976cea03c7e834a1b841","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"7ddd5487c03df04c01a8618e06d875e167524902ed3dd9a2a9345a0ef5202d6f","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","aab38abd210255237d4dc101c9e5b5f8d746fd75aeb30cc77b6a4d322b06693d","797a9d37eb1f76143311c3f0a186ce5c0d8735e94c0ca08ff8712a876c9b4f9e","bc31e01146eec89eb870b9ad8c55d759bcbc8989a894e6f0f81f832e0d10eb04",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce","affectsGlobalScope":true},"a44c87a409b60f211a240341905d818f5f173420dcf7f989ee6c8a1a3d812ae9","bdaf554ae2d9d09e2a42f58a29ef7f80e5b5c1d7b96bfb717243dc91a477216e","ea194ae7fee69ab77ee0ff7b7f35227eb09515583f6c08988a59fa65661af990","321ea733ae7f611077a2d7b4bc378ac4a6b7e365e1a51c71a7e5b2818e1e310a","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","ae7b9d7ab1652cc1866ba6e269d0eeaf1708d07327714124ed2cbd059f5e4766","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","21e64a125f65dff99cc3ed366c96e922b90daed343eb52ecdace5f220401dcda","f25b17702bd5d9e1a21e223863d09774197e0832a0534ba12bd7558bcc8548f4",{"version":"b0b00cf2e8107ab671243a73d2fbd6296a853bebe3fcfaaca293f65aaa245eaf","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","3b790d08129aca55fd5ae1672d1d26594147ac0d5f2eedc30c7575eb18daef7e","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","f89a6d56f0267f6e73c707f8a89d2f38e9928e10bfa505f39a4f4bf954093aee","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","e649840284bab8c4d09cadc125cd7fbde7529690cc1a0881872b6a9cd202819b","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","6c63cb179eda2be5ab45dc146fa4151bec8ce4781986935fe40adfc69cbbf214","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7","8d01c38ccb9af3a4035a68818799e5ef32ccc8cf70bdb83e181e1921d7ad32f6","495fe5f9708b202b8e560f940f2f1e8057f0e272681f925feab943e60bdc0e6f","1bd09d372ed4aae2fdd29d4ffd9b525bc6e4646b957bf552fcd3e4800f332bc6","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","4498108732bcb5b7000ff9cdc011058b4155e985271ac3f926468acfed0c79dd","36d7b72ed8f35f9e21cc223c06697eca0d4699178fc59cfd3a310e2983fd0fd6","8ef499f8b856beca668333ffd33b7a29a83641cbe18c9ad8f25d2748efdf4f0f","51bfe35171efe121cefb2501a6cd674c367d541c4c8b0ae639c126adcc84f37d","41c78f187749098f9b8e8982839a010b6bf00dacc654d759b9c169127bcda034","40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","22f248a7281ed7d653427f66fbadc2cf0fadb3986d69661789ab882166e8e91d","3594c022901a1c8993b0f78a3f534cfb81e7b619ed215348f7f6882f3db02abc","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","782abf371043fc65a987f835a3acfd80602a30c3e2122f6d5756a86bf6913352","509235563ea2b939e1bbe92aae17e71e6a82ceab8f568b45fb4fce7d72523a32","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","4908e4c00832b26ce77a629de8501b0e23a903c094f9e79a7fec313a15da796a","2630a7cbb597e85d713b7ef47f2946d4280d3d4c02733282770741d40672b1a5",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"b13c966b9b4757efcb1101af765d6eb9ace5a5ba7cfcfea791f68387caf0cf99","80159d7d471b1d75b5ea3ac96be1926e45995845ef1353d01a60191a3b158f51","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","a9fd76613c52aa62a036e7d85d6503601ac3aae1444f4765c738567e5f687f4f","f1e8ecd1d960d12e57316fd2889b0a57635f38f8c4c976d8deafa29650bbf320","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","327f42ab31ff4539ba868d0374f8825af328b104b5f78d26b2e3ce9cc17b43a0","62a05210201c793349ec28254f06a01814c5b4f5591f6d1921941286db78ea2a","8f877178233f74095130e129ce86128a6a15afcfc6171d714e154863b6a65fe8","b395ec0779c66de885f97974534e95ee2c8bbf9acaf5857a6782ddc32972b6d8","572b4d4c4e2cd3026db925ca5cb721f5c3f4f52938da404de1148a126348f29b","c72b982add26c5ddf410899bcafe3f47253a5d274d4b93d2ef67850d4af4545b","332bc92a89da24ef3a645208f2b3159292460a52fbe63c40eef64c2a63bb1e40","4257eb82208c9735912266ea8dcec5203a9c2d5a19db8038213fa6da5b7bb5cd","a5028e37a5e23e8185ca9d01f24e4058a0ff95ff0f28dfb030ef87c52e6659da","c2c5c45b25979dbddd94b964495b0edea464b7cf1fceadcc186507bdc766a801","cf386b5b17613da856eab27a85d33b87b8f9bd9db42a0eb43c97bd9ef8de20d1","a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","ba56cbd53f16fb5be5b295a5ffb9df2fd46c84ccd2aa9ca0bd8ccaf3605a6314","90c79eecacd20b37cd53a10ec239cc01b792ab2284493f02fc2b5dbd366d7071","7cd2fd18f5ed50d57dfa41c421023c44799d6849622afd2749fa85ae09e282ae","a17ba25a194979a88bfd925e849d76b63f68c4160b69a99c5d723eac5ffddaf0","b25c5f2970d06c729f464c0aeaa64b1a5b5f1355aa93554bb5f9c199b8624b1e","3e6297bcddf37e373d40ddb4c2b9e6fc98901b2a44c01b2d96af142874973c43","3051751533eee92572241b3cef28333212401408c4e7aa21718714b793c0f4ed","691aea9772797ca98334eb743e7686e29325b02c6931391bcee4cc7bf27a9f3b","6f1d39d26959517da3bd105c552eded4c34702705c64d75b03f54d864b6e41c2","81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb","ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078","4a8b6680f577878255690971bbfe6ec951ece19a0c86a493e66a715762d04db2","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","c0c0ce59aaee107786eca330b64eb2413bd9d14848f35282f6e61e6972b6f52e","f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970","4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e",{"version":"9ea2638b6eee61ff2c59c3ac74c1b5999a843da0e2bb60e8bf028b19aacf6246","affectsGlobalScope":true},"a9ef188a807dfa67e80eb100aeac1036f61d01f64d8b51ce68e78ee40cdef415","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","ef36fa133bed82cf3d1262c0894a643532bca4a743bea90b537f643003880315","fb32fb9b2a2c9cfccae34a6383834030ea9ebab2e46964ab6e876fe2b9ca2f42","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6","032d6a55e0d1b473bf06cc9f30cfa6313bc57202bc5aacf8077022c4a27ff7d6","ff27d48b9c7f85c9d38cb13fce5886bad9a30846aedb5f54759eee58391a79e1","912989089693cac2ce78c83289b98d5d9be6d399009c5d2e06ad3edf50e7b335","81f6af9b1d8e4f9e3b7318763a1a93f909ee61e0477b41cc7f3281d9da6ca7f4",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","9f3554130bc117f19a9d4186bd83a97145c71818c1b1c51424967e0f607324d5","e3dd9a5ce3e396a63d378146a2bce9f52ea86419ef787cd55d2e8bb2a4cd716f","274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01","3b05c396564e51753e921e1cc4aae1cf7cd9be53c891cf2e81fa29f11c0bd373","78a1efd7214a25b84e08af80fe2b027c3049e52b26dfcaf777b82c759d8548c9","95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2","393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f",{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"c6f2572e21f626260d2e4a65e4e1e42b9b273b6f43b5c3bc115c2926417d3eca","374ab77e05e0bf5a52acad6d65121d4bd31068108f23d70186dba5fcd7d6a1a3","a4ecd4bb653aa71093375845fba6250ca0f3c633d0e933fc9bf4b301834eab27","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","cc53cba64efb30576f2a36f1d7107e4453e84cbd0f371d49cd1dfd208e11233b","bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956","a523644fe1d30f36465118be107642c78c36afe0d885f93eae399b3c44dc8fe9","e966621f305cecf5ed6460197ff1652208257b5ca7da402a4285cc57589f6f36","6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d","dd96ff6ecc47584219c6301f1653eec514c2cb83fc8ad195ccb54c9759765e3a","8d068614f2f0c00d6b712f16f52511c054d3cf205d749ede8d9f231c0ddac03f","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","029769d13d9917e3284cb2356ed28a6576e8b07ae6a06ee1e672518adf21a102","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"bbc19287f48d4b3c753bd2c82dd9326af19cccbfa1506f859029dfcedc7c5522","affectsGlobalScope":true},"73a371996ab8b5f895fc4aff8018ad79804254ae32648c9ac11e87f2fce5658a","cc2dc362fc50995684e9f7e9b38ad9bdf19e74919294a694cbc05392352cad7d","e07b482ad35f73ea26312cb5bfbc735cfd2c68808e70634d32a43f8b53033a11","494d475b36a458bbfdcf60f54abaf2084a3840ff38fe5dcf8e3e8d405edc7938","55194e5c1f7fdd2a209da42b0b481c556bae31b20675fa7e7fbd7f49a6c40d57","8cd7362102d928e21b291a013f80fc68a038d4506d26ea9948c676e3fa1110d9","90f6830fb380f4d2b69df018343ae80ce92991e85a0d7be8d214c643b39d1175","1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","009e40fab9efa56ae3f540ff7a18cbeae6b4140647a040681c524bf19f52995e","0e7fbd72cba67a53642362282ec001d495fbb7ad575f47ba5ffa19006f124d60","24cf966363ab1b0200b7a720f9ae1f2efb5e2f9bd4a3c1f13482cd0456745f90","35acd8ffbb879ea4447df8fc7b422ed8af7dceec6036562eb2825eeea89222b1","262810de652d20b24b0e9872e33941972735c8c0a2bd794c361038f823dd7ecb","7bfe977bcf0f5fab4d0b2820af80cebf4765b77658cc238903f82873ea813e12","8648c31510a3a81275736733ec1a4562a012e4e1a0f5fea9d47a8ed30dc4280c","aad8c703de79100c97d6d6d753e6c3e5c355d8024f7c80e0275b3973208b9dd3","e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","b114b49f7cc89ed20375ec8f070ceed9748d022d9a6f94894f247c5e8182ccc7","187b38d2397b9ab2a459042295b6ae463d369ae1786f23abf6f58d925905ee09","68a982b9899e9df6bc37b62a57fdeac0b197d9f252a2386589a28ffc0e316503","63326d4f23f82d250abe61157183fd0d0612f00540d27681ef6458e60850c315","19f9e754bda221cc851c07454f43ae28d0faeb48fb17ef48802f022297603ed6","f5173cf4e2ae28cacdd974951e64e7e7476cecec52be1b218d309cc10b580436","0b7f81e8fa0bb70a104fd1ac689d56807b929006bf49557189ab06d756973f38","8faaa860d85e112c2898437d958f8f07cb847e53db3018c719ef4d0c2227f77b","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","a93bbe06d20763f821db7b671ba9efbf4b602fb4cd612ae9d40f01a30f62966c","1ced83d3606cfe4a0d2d98c24873b4147ac4c1b9beacb1d1dd0d8bacd3a00220","42c7f325d2075cf80f65ef6225692605b6516602209175d29281c7a53838d28f","451a3f75d74f7b130a0e28dc77f21b7d79b99381ebae3f0d849905c5ab33872e","fbd29ea9dd64c69ded0284cb1307557e8f7bf6265ce2bf1faa3840ffed2d38ac","cee164cd6c157d0ce3d3350c1df75dee40d2da203223a72890430ec6d8ccf4a1",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"7288cf81ca60c193ded5c5ea1303a7334a08a7b66ff5d775860c3403806249ff","affectsGlobalScope":true},"ac7c35cc5643ab7f4e2884aa0a383d8ac5cd3e995cc7f12349395192a4361c73","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","6396a7a06f3ef0fc31a7c89330e015146b78a2256b030c698b6d404594c37b8f","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","8fe9135b86994075c4192f3358a4350389e80d3abec712db2a82061962d9d21c","e0014889f31fee76a572b6b15e74b2174cbcf6346ae8ab5c69eb553a10e5c944","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","3c17de487f67fd2ce7a70090b19e791b0388ed9cb60cdbdc7a49277094ffc413","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","cf64eeeaef3601863fba2302368ec01bd9a991a24d39f68ddc9a525ffa20f1cc","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26","c0ad01cd660e5b8478c46ba9eda9bb60057de0744b3436fab3ce1ab764109da9","a811919884d27b7f56502cb3f89e8d5ba42a70af7d421f1a989a0b85825a93b2","a9ce2f5469b4648ad305fed3a23eabd09c6887fbbb9028c983851cbe8693bdf0","6faeb7075e31bb027045bf3c6c1ee73c34b2d4094e0f80e209f62d89ef3847ba","2c62313d703a4e95d56aae612fba35dc0eca38e399ed9729ee27facf64e9b993","08b428a44bc98005536a12456518797e9afe2a08e8b5d9785641713a54475881","831b44f91491d73ba21effa69d48698b09933db1c7f92a33c048852a76a79068","db6347c1934b46b5bab02cc6a4c3323d604a5cd4a72f92d5c7cfc24ea8dcd4ec","f9a2dd6a6084665f093ed0e9664b8e673be2a45e342a59dd4e0e4e552e68a9ad","b5478b9a935cf14fe43a00f80dee3805b5f5f6d33be9d96fae7babea0e0dad76","84b93958baf05d4d1dfd5e3583df4789257a8ac751a6046bce466771df6059fb",{"version":"8299ae8e2b6f219b89e33f5383e85b71b160550678a9c7aaf3729b95c59e57a6","affectsGlobalScope":true},"c78b1c30f9ea6f57c2c4beb62734bf0df604a537690d7a098e6ca99157f4c2a3","d4eeffab023f619ebaeeca01570c026eed02256061973bef5546a6c779552818","791da337747613f208302f66336cd238717afa0a8dbe25d7dcaf3d93b9928971","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","13e521f4402f90bde98f8820045ee230168810f98f818b61f99cac728abd17a3","0475e7b7d37d065501e741e3be9b99a12ac34ff847143d83bb9d2bc9101a2625","611105c6a693c07a8a1be7fd04cda603e71b12471d4bdef34820ce653eb313e9","cba0f7d95990ecef0d0dbfc6b265fd307bd052aff61cbd7b165cbffe9d75ae24","57b9abe6f1a8b32ddbe5f28cd4dd73fa095afc8b24ae341049950f6b465872d0","a059f9bec8cf889db591a9d569f66d22e9acb4cdc67225238391c79eff517524","7786c75c1b46e93b33c63dccf689143a5f47ff451a6b3bd9b10e4801cdeadcc2","b96468bc2136fc580140702e9845d4ebf3413de9fb64093b6f7415ceb184fe5a","93fee8994db07645f6d7e241d57d3d786aaea17179c30e4d81156cc31193009d","e8966f7c424780bb0b9d411ebe13eda8555ca15aa675603316c2952bc027b0e3","df0e5f3c4a518111d160cf3bebc9a3ac7d39c6e3bfb7a21d43c304896c3015e2","c20569bc091e62ebe362b422738e82dfc7eedce351960f71af861821d434a960","bd204da7ab4613d12650bd6a4947258890ca9793df0a7a72dc4231f19d53f08e","afe79664dc4e1688ec4c6def52f793706d4763f55676eebfe72e92681e779404","6fdb5e8e7c1fc94fab356bb804c6e134133b5ad03b929ac2c1460bd49e4caa22","d7e4a5f4ccfb749c3033fafc233073b4d1dcca0249785186c589602a81f9d86f","d8f284ecc998ccc96e151e0d96109613c4901371201ddb1d7103f84199460589","6e199fa01a463a67a34603881ff8862f94b2f88ad2384ae7808b2521638ed43a","c17785a46d81d27213ae62b86d6dc0e87e230106e9a57dbfb815d3bea978a6a5","3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","5192f9a6469f849e0863616b668fde54bcd6704394b4bfbd115691865f66d761","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b73abc91e3166b1951d302f8008c17e62d32e570e71b2680141f7c3f5d0a990d","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","2905bf42cddf7ba20c88922d36b7afa5431523c1cab119fdb38bf5baab02adf1","d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579","356c3df1d255b9fe81d7c3d822d60a2a66c99b1cf853b04a69810a31a449b735","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb","9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b","99c7f3bbc03f6eb3e663c26c104d639617620c2925e76fc284f7bedf1877fa2b","59115d08fbd0d93bbb2af3fe5b914194fea2906945f2ee08e264b96c7e8601fe","f90d85d4cb38445499bdb7e7b013e4f64d99d157a6fa0843e998495ceb27b520","94ae892ab0c0b2800dbd817ffd0a5bd6cfb60a0cc4ce6860a9f965712cc3eb5d","901becb8779e1089442378fda5623e607ee4588762a32e7692436f1ea81cf848","8286d84d2567b713fd6a1fdfbb1a0abc8cfa668ee1e0e83d7dd4ade5761f2750","f28dffc6bf9bbd8b9dc156aadb74d11de7faabf547eb9f0aebb8cd03e8750a6c","b2bcfd1c457bf7845a5e5f81d1b34785de14f07dc97a27571d7f54c8f4873b65","3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f","5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"importHelpers":true,"jsx":2,"module":1,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":6,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[154],[99,100],[100,101,102,103],[91,100,102],[99,101],[58,91],[58,91,95],[95,96,97,98],[95,97],[96],[74,91,104,105,106,109],[105,106,108],[57,91,104,105,106,107],[106],[104,105],[91,104],[154,155,156,157,158],[154,156],[60,91,160],[57,60,80,91,162,163,164],[60,62,91,166],[168],[169,170],[169],[171],[80,91,175],[60,91],[177],[166],[91],[91,179,182],[187,188],[137,185,186,187],[188],[57,60,91,173,174],[161,174,175,191],[57,91,194],[60,62,74,80,91],[197],[199,205],[200,201,202,203,204],[205],[167,206,207],[142,143,208],[57,60,62,65,74,80,91],[212],[212,213],[219,221],[247],[241,242,243,244],[226,241,245],[226,241,242,244,245,246],[241],[253],[250,251],[252],[57,91],[91,143],[119,121,122,123,124,125,126,127,128,129,130,131],[119,120,122,123,124,125,126,127,128,129,130,131],[120,121,122,123,124,125,126,127,128,129,130,131],[119,120,121,123,124,125,126,127,128,129,130,131],[119,120,121,122,124,125,126,127,128,129,130,131],[119,120,121,122,123,125,126,127,128,129,130,131],[119,120,121,122,123,124,126,127,128,129,130,131],[119,120,121,122,123,124,125,127,128,129,130,131],[119,120,121,122,123,124,125,126,128,129,130,131],[119,120,121,122,123,124,125,126,127,129,130,131],[119,120,121,122,123,124,125,126,127,128,130,131],[119,120,121,122,123,124,125,126,127,128,129,131],[119,120,121,122,123,124,125,126,127,128,129,130],[260],[116],[60,80,91,264,265],[88,89],[57,58,65,74],[49,57,65],[81],[53,58,66],[74],[55,57,65],[57],[57,59,74,80],[58],[65,74,80],[57,58,60,65,74,77,80],[60,77,80],[90],[80],[55,57,74],[47],[79],[72,81,83],[65],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],[71],[57,59,74,80,83],[275],[272,273,274],[74,91],[205,260,284],[205,260],[256,257,258,259],[60,74,91],[301,305],[309,348],[309,333,348],[348],[309],[309,334,348],[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347],[334,348],[60,91,190],[49,91,195],[77,91],[60,62,143,176,191,192,375],[91,357,358,359,360,361,362,363,364,365,366,367],[356,357,366],[357,366],[350,356,357,366],[356,357,358,359,360,361,362,363,364,365,367],[357],[53,356,366],[53,91,142,166,206,355,368],[377],[224,227,228,230,231],[225,226],[226],[226,227],[224,225],[226,230,231],[224,227,228,229],[224,227,230],[224,227],[224],[224,227,230,232,233,234,235],[91,111,112,113],[111,112],[111],[91,110],[114],[60,91,370],[373],[371,372],[370,374],[60,65,91,192,211],[215,216],[215,216,217,218],[292],[292,303],[289,290,291,293,303],[296],[292,299,302,305],[295,305],[294,299,301,302,305],[289,290,291,292,293,294,296,297,298,299,302,305],[288,289,290,291,292,293,294,296,297,298,299,300,301,302,303,304],[288,305],[299,300,302,305],[292,298,302,305],[303],[220],[238],[236],[237,238,239,240],[139,140],[137,138,139],[137,138,140],[136,140,141,142],[71,143,144,145],[45,67,92],[45],[45,67,115,117],[45,53,131,132],[45,53,67,80,92,93,94,118,131,133,134,135,146,147,148,149,151,152],[45,67,153],[45,92,134,150],[45,131,148]],"referencedMap":[[156,1],[101,2],[104,3],[103,4],[102,5],[100,6],[96,7],[99,8],[98,9],[97,10],[95,6],[110,11],[109,12],[108,13],[107,14],[106,15],[105,16],[159,17],[155,1],[157,18],[158,1],[161,19],[165,20],[167,21],[169,22],[171,23],[170,24],[172,25],[176,26],[160,27],[178,28],[177,29],[179,30],[183,31],[189,32],[188,33],[186,34],[175,35],[192,36],[92,6],[195,37],[182,38],[196,6],[198,39],[200,40],[201,40],[202,40],[205,41],[203,42],[204,42],[208,43],[210,44],[211,45],[213,46],[214,47],[222,48],[248,49],[245,50],[242,51],[243,51],[244,51],[247,52],[246,53],[250,54],[252,55],[253,56],[162,57],[254,58],[120,59],[121,60],[119,61],[122,62],[123,63],[124,64],[125,65],[126,66],[127,67],[128,68],[129,69],[130,70],[131,71],[255,39],[261,72],[117,73],[263,6],[266,74],[90,75],[49,76],[50,77],[51,78],[52,79],[53,80],[54,81],[56,82],[57,82],[58,83],[59,84],[60,85],[61,86],[62,87],[91,88],[63,82],[64,89],[65,90],[68,91],[69,92],[72,82],[73,93],[74,82],[77,94],[88,95],[79,94],[80,96],[82,80],[84,97],[85,80],[276,98],[275,99],[279,100],[282,72],[283,72],[285,101],[286,101],[284,102],[260,103],[287,30],[164,104],[306,105],[307,100],[333,106],[334,107],[309,108],[312,108],[331,106],[332,106],[322,109],[321,109],[319,106],[314,106],[327,106],[325,106],[329,106],[313,106],[326,106],[330,106],[315,106],[316,106],[328,106],[310,106],[317,106],[318,106],[320,106],[324,106],[335,110],[323,106],[311,106],[348,111],[342,110],[344,112],[343,110],[336,110],[337,110],[339,110],[341,110],[345,112],[346,112],[338,112],[340,112],[191,113],[349,114],[206,29],[354,115],[376,116],[368,117],[367,118],[358,119],[359,120],[366,121],[360,120],[361,119],[362,119],[363,119],[364,122],[357,123],[365,118],[369,124],[378,125],[232,126],[234,127],[225,128],[233,129],[226,130],[235,131],[230,132],[231,133],[228,134],[229,135],[227,135],[236,136],[114,137],[113,138],[112,139],[111,140],[264,104],[115,141],[372,142],[374,143],[373,144],[371,27],[375,145],[370,146],[217,147],[219,148],[218,147],[290,149],[289,150],[292,151],[297,152],[293,150],[298,153],[296,154],[300,155],[303,156],[305,157],[295,158],[301,159],[302,105],[299,160],[291,149],[294,161],[221,162],[238,135],[239,163],[237,164],[241,165],[141,166],[140,167],[139,168],[143,169],[146,170],[93,171],[94,172],[118,173],[133,174],[153,175],[152,176],[151,177],[148,172],[132,172],[147,172],[149,178]],"exportedModulesMap":[[156,1],[101,2],[104,3],[103,4],[102,5],[100,6],[96,7],[99,8],[98,9],[97,10],[95,6],[110,11],[109,12],[108,13],[107,14],[106,15],[105,16],[159,17],[155,1],[157,18],[158,1],[161,19],[165,20],[167,21],[169,22],[171,23],[170,24],[172,25],[176,26],[160,27],[178,28],[177,29],[179,30],[183,31],[189,32],[188,33],[186,34],[175,35],[192,36],[92,6],[195,37],[182,38],[196,6],[198,39],[200,40],[201,40],[202,40],[205,41],[203,42],[204,42],[208,43],[210,44],[211,45],[213,46],[214,47],[222,48],[248,49],[245,50],[242,51],[243,51],[244,51],[247,52],[246,53],[250,54],[252,55],[253,56],[162,57],[254,58],[120,59],[121,60],[119,61],[122,62],[123,63],[124,64],[125,65],[126,66],[127,67],[128,68],[129,69],[130,70],[131,71],[255,39],[261,72],[117,73],[263,6],[266,74],[90,75],[49,76],[50,77],[51,78],[52,79],[53,80],[54,81],[56,82],[57,82],[58,83],[59,84],[60,85],[61,86],[62,87],[91,88],[63,82],[64,89],[65,90],[68,91],[69,92],[72,82],[73,93],[74,82],[77,94],[88,95],[79,94],[80,96],[82,80],[84,97],[85,80],[276,98],[275,99],[279,100],[282,72],[283,72],[285,101],[286,101],[284,102],[260,103],[287,30],[164,104],[306,105],[307,100],[333,106],[334,107],[309,108],[312,108],[331,106],[332,106],[322,109],[321,109],[319,106],[314,106],[327,106],[325,106],[329,106],[313,106],[326,106],[330,106],[315,106],[316,106],[328,106],[310,106],[317,106],[318,106],[320,106],[324,106],[335,110],[323,106],[311,106],[348,111],[342,110],[344,112],[343,110],[336,110],[337,110],[339,110],[341,110],[345,112],[346,112],[338,112],[340,112],[191,113],[349,114],[206,29],[354,115],[376,116],[368,117],[367,118],[358,119],[359,120],[366,121],[360,120],[361,119],[362,119],[363,119],[364,122],[357,123],[365,118],[369,124],[378,125],[232,126],[234,127],[225,128],[233,129],[226,130],[235,131],[230,132],[231,133],[228,134],[229,135],[227,135],[236,136],[114,137],[113,138],[112,139],[111,140],[264,104],[115,141],[372,142],[374,143],[373,144],[371,27],[375,145],[370,146],[217,147],[219,148],[218,147],[290,149],[289,150],[292,151],[297,152],[293,150],[298,153],[296,154],[300,155],[303,156],[305,157],[295,158],[301,159],[302,105],[299,160],[291,149],[294,161],[221,162],[238,135],[239,163],[237,164],[241,165],[141,166],[140,167],[139,168],[143,169],[146,170],[93,171],[94,172],[118,173],[133,174],[153,175],[152,176],[151,177],[148,172],[132,172],[147,172],[149,178]],"semanticDiagnosticsPerFile":[156,154,101,104,103,102,100,96,99,98,97,95,110,109,108,107,106,105,159,155,157,158,161,116,165,167,169,171,170,168,172,176,160,178,177,179,180,181,183,184,189,185,188,186,187,175,192,92,193,195,182,196,198,200,201,202,199,205,203,204,209,208,210,163,211,212,213,214,222,223,248,245,242,243,244,247,246,137,249,250,252,251,253,162,254,120,121,119,122,123,124,125,126,127,128,129,130,131,255,261,117,190,194,262,263,265,266,89,47,90,48,49,50,51,52,53,54,55,56,57,58,59,46,86,60,61,62,91,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,88,79,80,81,82,83,87,84,85,267,268,269,270,271,276,272,273,275,274,277,278,279,258,280,174,173,281,282,283,285,286,284,256,260,207,287,164,306,307,308,259,333,334,309,312,331,332,322,321,319,314,327,325,329,313,326,330,315,316,328,310,317,318,320,324,335,323,311,348,347,342,344,343,336,337,339,341,345,346,338,340,191,349,350,351,352,353,206,197,354,376,368,367,358,359,366,360,361,362,363,364,357,365,356,369,355,377,378,138,232,234,225,233,226,235,230,231,228,229,227,236,224,134,257,114,113,112,111,264,115,150,372,374,373,371,375,370,215,217,219,218,216,145,290,289,292,297,293,298,296,300,304,303,305,295,301,302,299,291,294,221,220,238,239,240,237,241,141,140,139,288,166,142,45,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,136,143,144,146,135,93,94,118,133,153,152,151,148,132,147,149]},"version":"4.3.5"}
\ No newline at end of file
+{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../src/codeTranslationsUtils.ts","../src/escapePath.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/fast-glob/out/types/index.d.ts","../node_modules/fast-glob/out/settings.d.ts","../node_modules/fast-glob/out/managers/tasks.d.ts","../node_modules/fast-glob/out/index.d.ts","../node_modules/globby/index.d.ts","../node_modules/@types/braces/index.d.ts","../node_modules/@types/micromatch/index.d.ts","../src/globUtils.ts","../src/pathUtils.ts","../src/hashUtils.ts","../node_modules/chalk/index.d.ts","../node_modules/escape-string-regexp/index.d.ts","../node_modules/webpack/node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/schema-utils/declarations/ValidationError.d.ts","../node_modules/ajv/lib/ajv.d.ts","../node_modules/schema-utils/declarations/validate.d.ts","../node_modules/schema-utils/declarations/index.d.ts","../node_modules/tapable/tapable.d.ts","../node_modules/webpack/types.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/joi/lib/index.d.ts","../node_modules/@docusaurus/types/src/index.d.ts","../src/posixPath.ts","../src/normalizeUrl.ts","../src/tags.ts","../node_modules/gray-matter/gray-matter.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/vfile-message/types/index.d.ts","../node_modules/vfile/types/index.d.ts","../node_modules/remark/node_modules/unified/types/ts4.0/index.d.ts","../node_modules/unified/types/ts4.0/index.d.ts","../node_modules/remark-parse/types/index.d.ts","../node_modules/remark-stringify/types/index.d.ts","../node_modules/remark/types/index.d.ts","../node_modules/unist-util-is/index.d.ts","../node_modules/unist-util-visit-parents/types/index.d.ts","../node_modules/unist-util-visit/types/index.d.ts","../../../@types/unist/index.d.ts","../../../@types/mdast/index.d.ts","../src/markdownParser.ts","../src/markdownLinks.ts","../src/index.ts","../src/__tests__/codeTranslationsUtils.test.ts","../src/__tests__/escapePath.test.ts","../src/__tests__/globUtils.test.ts","../src/__tests__/hashUtils.test.ts","../src/__tests__/index.test.ts","../node_modules/@types/dedent/index.d.ts","../src/__tests__/markdownParser.test.ts","../src/__tests__/normalizeUrl.test.ts","../src/__tests__/pathUtils.test.ts","../src/__tests__/posixPath.test.ts","../src/__tests__/tags.test.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/github-slugger/index.d.ts","../../../@types/minimatch/index.d.ts","../../../@types/glob/index.d.ts","../../../@types/hast/index.d.ts","../../../@types/history/DOMUtils.d.ts","../../../@types/history/createBrowserHistory.d.ts","../../../@types/history/createHashHistory.d.ts","../../../@types/history/createMemoryHistory.d.ts","../../../@types/history/LocationUtils.d.ts","../../../@types/history/PathUtils.d.ts","../../../@types/history/index.d.ts","../../../@types/react/global.d.ts","../../../csstype/index.d.ts","../../../@types/prop-types/index.d.ts","../../../@types/scheduler/tracing.d.ts","../../../@types/react/index.d.ts","../../../@types/hoist-non-react-statics/index.d.ts","../../../@types/html-minifier-terser/index.d.ts","../../../@types/js-cookie/index.d.ts","../../../@types/json5/index.d.ts","../../../@types/minimist/index.d.ts","../../../@types/normalize-package-data/index.d.ts","../../../@types/parse-json/index.d.ts","../../../@types/parse5/index.d.ts","../../../@types/q/index.d.ts","../../../@types/react-helmet/index.d.ts","../../../@types/react-lazy-load-image-component/index.d.ts","../../../@types/react-router/index.d.ts","../../../@types/react-router-config/index.d.ts","../../../@types/react-router-dom/index.d.ts","../../../@types/sax/index.d.ts","../../../@types/scheduler/index.d.ts","../../../@types/styled-components/index.d.ts","../../../@types/video.js/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","impliedFormat":1},{"version":"495fe5f9708b202b8e560f940f2f1e8057f0e272681f925feab943e60bdc0e6f","signature":"98249526332851a623664fd515a293f50d680d4a86d633585ecb9168e67cd872","impliedFormat":1},{"version":"1bd09d372ed4aae2fdd29d4ffd9b525bc6e4646b957bf552fcd3e4800f332bc6","signature":"c7642b1c7345e546c81831fe5fa9233e15a12fa2743f6685b0d700af8292cdd0","impliedFormat":1},{"version":"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","impliedFormat":1},{"version":"a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","impliedFormat":1},{"version":"aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","impliedFormat":1},{"version":"7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","impliedFormat":1},{"version":"09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","impliedFormat":1},{"version":"8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","impliedFormat":1},{"version":"a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","impliedFormat":1},{"version":"d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","impliedFormat":1},{"version":"4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63","impliedFormat":1},{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","impliedFormat":1},{"version":"8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"d4fc97ea27a8226c5429b73efe7f0d9d78c0269e2995f6dba8bac64fc1b132dc","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","impliedFormat":1},{"version":"46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","impliedFormat":1},{"version":"d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","impliedFormat":1},{"version":"d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","impliedFormat":1},{"version":"98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","impliedFormat":1},{"version":"ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","impliedFormat":1},{"version":"fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","impliedFormat":1},{"version":"d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","impliedFormat":1},{"version":"9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","impliedFormat":1},{"version":"2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","impliedFormat":1},{"version":"2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","impliedFormat":1},{"version":"b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","impliedFormat":1},{"version":"6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","impliedFormat":1},{"version":"4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","impliedFormat":1},{"version":"04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","impliedFormat":1},{"version":"f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","impliedFormat":1},{"version":"011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","impliedFormat":1},{"version":"e175549fe57dbff5cd68c1a5ccf33717584d7db9afb8ec216fd2c0daa3b06931","impliedFormat":1},{"version":"ea68c312e1eb9b48f7064a8dda348594769ba8f9c8596315827c559734a60205","impliedFormat":1},{"version":"6ddb5fb4476ca702ecff9e5ff0295cde6ce138d71f817da65e118a2a3c534106","impliedFormat":1},{"version":"6dfff2e65f10158f5a868e642a2e74d2d1bd76f15291552f389f2b8c829a9a86","impliedFormat":1},{"version":"41c78f187749098f9b8e8982839a010b6bf00dacc654d759b9c169127bcda034","impliedFormat":1},{"version":"40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","impliedFormat":1},{"version":"1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","impliedFormat":1},{"version":"22f248a7281ed7d653427f66fbadc2cf0fadb3986d69661789ab882166e8e91d","signature":"4b72b4c3e5b21e06453e213fca18d0b2464199ccd5091da9eb2ba78fcdb91057","impliedFormat":1},{"version":"b13c966b9b4757efcb1101af765d6eb9ace5a5ba7cfcfea791f68387caf0cf99","signature":"57c20257e8226c4e9c8f8b657b1775af16364c9c0e600b0f480a518f8329de18","impliedFormat":1},{"version":"80159d7d471b1d75b5ea3ac96be1926e45995845ef1353d01a60191a3b158f51","signature":"857d6d4a53c4372a2799e733ab122d28f7b2b580fe58b80a5fe1321a733c20f7","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"a9fd76613c52aa62a036e7d85d6503601ac3aae1444f4765c738567e5f687f4f","impliedFormat":1},{"version":"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","impliedFormat":1},{"version":"67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","impliedFormat":1},{"version":"721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","impliedFormat":1},{"version":"0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","impliedFormat":1},{"version":"cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","impliedFormat":1},{"version":"577b537e1457a6814755a828f8baac682f18897dea74ded767bb7837d43d7c97","impliedFormat":1},{"version":"c72b982add26c5ddf410899bcafe3f47253a5d274d4b93d2ef67850d4af4545b","impliedFormat":1},{"version":"99182326c36998d9180e11f2c02dbb833d76554312ca7fb1c296903fc1d50ff7","impliedFormat":1},{"version":"4257eb82208c9735912266ea8dcec5203a9c2d5a19db8038213fa6da5b7bb5cd","impliedFormat":1},{"version":"a5028e37a5e23e8185ca9d01f24e4058a0ff95ff0f28dfb030ef87c52e6659da","signature":"0daf3165e72cc1ed5263a3374b98cb065f78922c76602477973ee0654b99df17","impliedFormat":1},{"version":"c2c5c45b25979dbddd94b964495b0edea464b7cf1fceadcc186507bdc766a801","signature":"aa7611487df30b0a4265c5d473b12fd472d7585253b94e811d07727e612f1cd5","impliedFormat":1},{"version":"cf386b5b17613da856eab27a85d33b87b8f9bd9db42a0eb43c97bd9ef8de20d1","signature":"eba3847a08cea18bd0b914fa1000f5bd6b412c6c19862e442051de8d969c202d","impliedFormat":1},{"version":"a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","impliedFormat":1},{"version":"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","impliedFormat":1},{"version":"eb09cf44043f7d6e0208dca6f0555207015e91fff5ff77b9c21d63672f7d68d5","impliedFormat":1},{"version":"bbf6f246061b92bb84241897eebfcdb9ce28444ab6acbc32c425388dd27c1011","impliedFormat":1},{"version":"8c5990f1b988eb2c72fc421763db2dd9c27357a9ee145e0b72160e0a0f26eb60","impliedFormat":1},{"version":"e9c23b6f6bfcb04f1d8b8f6f55fee93b99ac78e4929e6828938f96d6d86d6106","impliedFormat":1},{"version":"914bd301c653aef4bd821a5f771145c70fdf3f1a10f8d3335e618c5cb2775973","impliedFormat":1},{"version":"80841e184b7f1fd7e56b341085be8e8726eb2e982d528dd113fd777dd0c0dcee","impliedFormat":1},{"version":"7cbb19d824c05c74ea2106cec1c70e6266cbf4cc1e13dc52cdce948b3881e06d","impliedFormat":1},{"version":"9af8b6e6dcbc33cd5799771e6f9e011b59621eb67441cca80c74edf6109d4975","impliedFormat":1},{"version":"de9eba86728a709f0ee39f8e6dbbb3a72b6784394659d9d48081e78c72e550bb","impliedFormat":1},{"version":"19b9ab65ed201676380ecd0e12fd1c5fd1808e909f41d6a257fa8fd285eb1816","impliedFormat":1},{"version":"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","impliedFormat":1},{"version":"2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","impliedFormat":1},{"version":"6ac4166042f53e7688e91d2f82be52ed76b0e10e8736700d9df3402d05b63fd2","signature":"6e3bf7fa5a3a3deb71b3856cb81898f8593a9b012098132a6b7245206e80bccc","impliedFormat":1},{"version":"90c79eecacd20b37cd53a10ec239cc01b792ab2284493f02fc2b5dbd366d7071","signature":"4fae0cbdbb492b0fc847ec76d0a4af44eb04028200cec088d97fca05438213f1","impliedFormat":1},{"version":"7cd2fd18f5ed50d57dfa41c421023c44799d6849622afd2749fa85ae09e282ae","signature":"6dfb47347ed2cb776673215954dd2d494a9e56861728cc9ca90fa8e1f50df490","impliedFormat":1},{"version":"cbdaac8b45260fcfdbd8b7690401c128c1732ddbb9e79322748183a152d545ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"bce2266c695997884965191f1ebebbce9fb296aa7cfb19a1e737cdf8c3b56a0a","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"7c027ab91069981a7f3b14f0515beec789c987de9aa51ddc640f70167f53c2a4","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"bfccaab9e24517bcf639e09becec04ac6458f6daa84d994894723840097e34b6","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"e28634fbcc734900496000fe4f2f67e3f281a32a009b17668f46d86c810a1356","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6","impliedFormat":1},{"version":"0cc1d1c94c9e95bc351f37ff7777dd1c7511645aef4f3b663bdced2adedabebf","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"ae29b990a43995e1bc84d162f9da550b901371a2435175633abc41b52ec07c7d","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"9911e609e86d740754395a3559afd0461f995e115e11ad12db4116a7db1bf649","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"50878feec8f98897ed7c7cefcadabbf590184cd47fec6fbc250f8e7a4adfc588","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"48fb79a273c30f729b46e1ed9ddc3e92dab23f882289c6d979f93bfba385be9f","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","impliedFormat":1},{"version":"c6297435733f252a9c0e2297fab3b58014b8fde5fa097a4102dae4e12522bccd","impliedFormat":1},{"version":"e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","impliedFormat":1},{"version":"78a1efd7214a25b84e08af80fe2b027c3049e52b26dfcaf777b82c759d8548c9","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","impliedFormat":1},{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true,"impliedFormat":1},{"version":"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","impliedFormat":1},{"version":"a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","impliedFormat":1},{"version":"9c4e644fe9bf08d93c93bd892705842189fe345163f8896849d5964d21b56b78","impliedFormat":1},{"version":"25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","impliedFormat":1},{"version":"4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","impliedFormat":1},{"version":"8d32432f68ca4ce93ad717823976f2db2add94c70c19602bf87ee67fe51df48b","impliedFormat":1},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","impliedFormat":1},{"version":"f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","impliedFormat":1},{"version":"f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5","impliedFormat":1},{"version":"ce4e9cdf1ec90f3d435a4df18342b187805924f6046e872e76d3c1659ad545ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","impliedFormat":1},{"version":"ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","impliedFormat":1},{"version":"b3338366fe1f2c5f978e2ec200f57d35c5bd2c4c90c2191f1e638cfa5621c1f6","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","impliedFormat":1},{"version":"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","impliedFormat":1},{"version":"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","impliedFormat":1},{"version":"c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26","impliedFormat":1},{"version":"62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","impliedFormat":1},{"version":"633221230134e4fe3ce6004d5caa03f8e7ee04f1e9e9f43f79aa027a467ef5cb","impliedFormat":1},{"version":"4e6b20a1b39c04c89b43854e991228ea4219a2a89a226fd57a0104738c61ac1b","impliedFormat":1},{"version":"6c362c5d50652957065cf52f282a2bf0a456ed3713738d0ee1a9089dbb5b5fe7","impliedFormat":1},{"version":"2ffcb0c75e294706a4d425ee3ead87826a4cda729fa901c6c605e68948adaf55","impliedFormat":1},{"version":"8017277c3843df85296d8730f9edf097d68d7d5f9bc9d8124fcacf17ecfd487e","impliedFormat":1},{"version":"8b3ba0006858bfefa8fd045d446377e0fb1738baa819a1f7e4a520644a0dc131","impliedFormat":1},{"version":"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","impliedFormat":1},{"version":"20278d7dc78142b77cb5ebaadd6a20eae3eff7bec44fc70930520c2f4dba5e25","affectsGlobalScope":true,"impliedFormat":1},{"version":"a731eb78ba75bab5719ac09ebdf6e72f88f1387a1789e22419988b0bb5c6bf44","affectsGlobalScope":true,"impliedFormat":1}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"importHelpers":true,"jsx":3,"module":199,"noEmitHelpers":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":false,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[86,101,144,145,146],[101,113,114],[101,114,115,116,117],[101,108,114,116],[101,113,115],[73,101,108],[73,101,108,109],[101,109,110,111,112],[101,109,111],[101,110],[89,101,108,118,119,120,123],[101,119,120,122],[72,101,108,118,119,120,121],[101,120],[101,118,119],[101,108,118],[101],[101,180,181],[101,138,179,180],[101,130],[57,101],[60,101],[61,66,101],[62,72,73,80,89,100,101],[62,63,72,80,101],[64,101],[65,66,73,81,101],[66,89,97,101],[67,69,72,80,101],[68,101],[69,70,101],[71,72,101],[72,101],[72,73,74,89,100,101],[72,73,74,89,92,101],[101,105],[75,80,89,100,101],[72,73,75,76,80,89,97,100,101],[75,77,89,97,100,101],[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],[72,78,101],[79,100,101],[69,72,80,89,101],[81,101],[82,101],[60,83,101],[84,99,101,105],[85,101],[86,101],[72,87,101],[87,88,101,103],[72,89,90,91,92,101],[89,91,101],[89,90,101],[92,101],[93,101],[72,95,96,101],[95,96,101],[66,80,89,97,101],[98,101],[80,99,101],[61,75,86,100,101],[66,101],[89,101,102],[101,103],[101,104],[61,66,72,74,83,89,100,101,103,105],[89,101,106],[101,108,125,126,127],[101,125,126],[101,125],[101,108,124],[101,128],[101,152,156],[101,152,154],[101,155,157,158],[101,138,141],[101,141],[101,138,139,140],[101,152],[101,152,160],[101,152,160,161],[101,152,153],[61,75,80,97,101,137,139,141,142,143],[54,55,82,101],[54,56,101],[54,101,132],[54,101,134],[54,82,101,167],[54,101,165,173],[54,101,149],[54,101,133],[54,101,148],[54,101,150],[54,82,101],[54,101],[54,82,101,129,131],[54,66,101,133],[54,55,56,66,82,100,101,132,134,135,136,147,148,149,150,165,166],[54,101,151,152,156,159,162,164],[72,73,101,108,184],[101,193],[101,187,193],[101,188,189,190,191,192],[101,198],[101,193,198,210],[101,193,198],[101,194,195,196,197],[89,101,108],[101,195,198,199],[129],[55,56,132,134,147,148,149,150,165,166],[156]],"referencedMap":[[147,1],[115,2],[118,3],[117,4],[116,5],[114,6],[110,7],[113,8],[112,9],[111,10],[109,6],[124,11],[123,12],[122,13],[121,14],[120,15],[119,16],[130,17],[173,17],[182,18],[179,17],[181,19],[180,17],[183,17],[138,17],[131,20],[57,21],[58,21],[60,22],[61,23],[62,24],[63,25],[64,26],[65,27],[66,28],[67,29],[68,30],[69,31],[70,31],[71,32],[72,33],[73,34],[74,35],[59,36],[107,17],[75,37],[76,38],[77,39],[108,40],[78,41],[79,42],[80,43],[81,44],[82,45],[83,46],[84,47],[85,48],[86,49],[87,50],[88,51],[89,52],[91,53],[90,54],[92,55],[93,56],[94,17],[95,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,68],[152,17],[140,17],[135,17],[145,17],[136,17],[128,69],[127,70],[126,71],[125,72],[129,73],[151,17],[146,17],[157,74],[158,74],[155,75],[159,76],[139,77],[142,78],[141,79],[143,17],[54,17],[12,17],[11,17],[2,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[19,17],[20,17],[3,17],[4,17],[24,17],[21,17],[22,17],[23,17],[25,17],[26,17],[27,17],[5,17],[28,17],[29,17],[30,17],[31,17],[6,17],[32,17],[33,17],[34,17],[35,17],[7,17],[36,17],[41,17],[42,17],[37,17],[38,17],[39,17],[40,17],[8,17],[46,17],[43,17],[44,17],[45,17],[47,17],[9,17],[48,17],[49,17],[50,17],[51,17],[52,17],[1,17],[10,17],[53,17],[156,75],[160,80],[161,81],[162,82],[153,80],[154,83],[137,17],[144,84],[168,85],[169,86],[170,87],[171,88],[172,89],[174,90],[175,91],[176,92],[177,93],[178,94],[55,95],[56,96],[132,97],[134,98],[167,99],[166,89],[165,100],[149,96],[133,96],[148,96],[150,91],[185,101],[186,80],[187,17],[191,102],[192,102],[188,103],[189,103],[190,103],[193,104],[199,105],[200,17],[201,17],[202,17],[164,80],[184,17],[203,17],[204,17],[205,17],[206,17],[196,17],[207,17],[208,105],[209,105],[211,106],[212,106],[210,107],[194,17],[198,108],[213,109],[214,17],[197,17],[215,110],[163,17],[216,17],[195,17]],"exportedModulesMap":[[147,1],[115,2],[118,3],[117,4],[116,5],[114,6],[110,7],[113,8],[112,9],[111,10],[109,6],[124,11],[123,12],[122,13],[121,14],[120,15],[119,16],[130,17],[173,17],[182,18],[179,17],[181,19],[180,17],[183,17],[138,17],[131,20],[57,21],[58,21],[60,22],[61,23],[62,24],[63,25],[64,26],[65,27],[66,28],[67,29],[68,30],[69,31],[70,31],[71,32],[72,33],[73,34],[74,35],[59,36],[107,17],[75,37],[76,38],[77,39],[108,40],[78,41],[79,42],[80,43],[81,44],[82,45],[83,46],[84,47],[85,48],[86,49],[87,50],[88,51],[89,52],[91,53],[90,54],[92,55],[93,56],[94,17],[95,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,68],[152,17],[140,17],[135,17],[145,17],[136,17],[128,69],[127,70],[126,71],[125,72],[129,73],[151,17],[146,17],[157,74],[158,74],[155,75],[159,76],[139,77],[142,78],[141,79],[143,17],[54,17],[12,17],[11,17],[2,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[19,17],[20,17],[3,17],[4,17],[24,17],[21,17],[22,17],[23,17],[25,17],[26,17],[27,17],[5,17],[28,17],[29,17],[30,17],[31,17],[6,17],[32,17],[33,17],[34,17],[35,17],[7,17],[36,17],[41,17],[42,17],[37,17],[38,17],[39,17],[40,17],[8,17],[46,17],[43,17],[44,17],[45,17],[47,17],[9,17],[48,17],[49,17],[50,17],[51,17],[52,17],[1,17],[10,17],[53,17],[156,75],[160,80],[161,81],[162,82],[153,80],[154,83],[137,17],[144,84],[132,111],[167,112],[165,113],[185,101],[186,80],[187,17],[191,102],[192,102],[188,103],[189,103],[190,103],[193,104],[199,105],[200,17],[201,17],[202,17],[164,80],[184,17],[203,17],[204,17],[205,17],[206,17],[196,17],[207,17],[208,105],[209,105],[211,106],[212,106],[210,107],[194,17],[198,108],[213,109],[214,17],[197,17],[215,110],[163,17],[216,17],[195,17]],"semanticDiagnosticsPerFile":[147,115,118,117,116,114,110,113,112,111,109,124,123,122,121,120,119,130,173,182,179,181,180,183,138,131,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,59,107,75,76,77,108,78,79,80,81,82,83,84,85,86,87,88,89,91,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,152,140,135,145,136,128,127,126,125,129,151,146,157,158,155,159,139,142,141,143,54,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,10,53,156,160,161,162,153,154,137,144,[168,[{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":355,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":405,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":464,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":536,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":783,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":855,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":930,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1012,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1322,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1371,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1614,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1668,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1805,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1859,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2007,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2046,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2208,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2250,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2418,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2457,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2619,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2661,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2826,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2874,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[169,[{"file":"../src/__tests__/escapePath.test.ts","start":233,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/escapePath.test.ts","start":266,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/escapePath.test.ts","start":753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[170,[{"file":"../src/__tests__/globUtils.test.ts","start":295,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":385,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":453,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":499,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":554,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":628,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":675,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":806,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":852,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":907,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":974,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1029,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1096,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1168,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":1226,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1272,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1318,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1365,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1465,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1518,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1572,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1633,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1683,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1733,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1835,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1892,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1949,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2007,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2065,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2132,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2267,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2407,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2472,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2538,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2604,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2666,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2728,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2791,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2861,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":3090,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":3158,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3218,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3279,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3339,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3400,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3469,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3539,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3608,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3685,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3745,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3806,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3866,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3927,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3996,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4066,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4135,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4210,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":4268,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4336,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4489,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":4556,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[171,[{"file":"../src/__tests__/hashUtils.test.ts","start":242,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":274,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":1133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/hashUtils.test.ts","start":1199,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":1230,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":2665,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[172,[{"file":"../src/__tests__/index.test.ts","start":714,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":747,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":1081,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":1193,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":1702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":1771,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":2130,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2193,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":2430,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2782,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2940,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":3429,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":3547,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":3933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4244,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4351,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4432,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":4978,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5026,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5074,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5120,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5166,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5325,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5465,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5511,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5555,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5594,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":5903,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5957,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6011,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6065,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6117,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6174,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6210,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6255,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6303,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6354,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6406,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6463,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6543,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6609,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6654,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6757,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6877,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6916,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6949,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7011,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7044,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7108,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7146,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7179,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7236,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7269,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7328,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7370,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7403,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7466,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7502,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7569,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7604,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7639,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7704,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7739,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7804,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7839,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7901,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7942,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8007,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8042,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8077,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8142,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8177,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8242,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8277,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8339,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8380,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8445,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8485,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8532,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8649,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8760,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8871,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8993,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9045,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":9261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":9482,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9522,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9568,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":10248,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":10412,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":10760,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11239,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11279,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11317,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11434,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":11599,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":11694,"length":4,"messageText":"Cannot find name 'jest'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11832,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11937,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11982,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12034,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12162,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12198,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12245,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12470,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12550,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12682,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12728,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12783,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12951,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13020,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":13165,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13217,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13260,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":13941,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13986,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14042,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14171,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14224,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14370,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14431,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14588,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14643,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14789,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14844,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":15070,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":15121,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[174,[{"file":"../src/__tests__/markdownParser.test.ts","start":326,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":362,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":426,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":910,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":991,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":1628,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":1711,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":2375,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":2445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":2735,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":2815,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3104,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3195,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3329,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3410,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3860,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3986,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":4945,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5031,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5167,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5215,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5369,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5503,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5671,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5851,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6038,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6172,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6442,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6561,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6695,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6882,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7016,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7333,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7533,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7667,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7842,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7976,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8159,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8286,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8464,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8598,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8790,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8970,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":9447,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":9581,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":10478,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":10619,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":11530,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":11744,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12118,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":12252,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12640,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":12865,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12962,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13108,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":13301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13428,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":13658,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13785,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":15003,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":15137,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16369,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":16578,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16620,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16672,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17054,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":17117,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17449,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":17529,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17968,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":18058,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":18571,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":18663,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":19077,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":19130,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":19624,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":19684,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20083,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20459,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20503,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20730,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21066,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21121,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21491,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21564,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21849,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21902,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[175,[{"file":"../src/__tests__/normalizeUrl.test.ts","start":237,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/normalizeUrl.test.ts","start":272,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2498,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2571,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2590,"length":38,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],[176,[{"file":"../src/__tests__/pathUtils.test.ts","start":246,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":278,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":1150,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":1216,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":1250,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":2542,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":2853,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":3037,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":3103,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":3179,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":3280,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[177,[{"file":"../src/__tests__/posixPath.test.ts","start":231,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/posixPath.test.ts","start":263,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/posixPath.test.ts","start":715,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[178,[{"file":"../src/__tests__/tags.test.ts","start":300,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":469,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":690,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":773,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1049,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1132,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1398,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1481,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1814,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1899,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":2071,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":2585,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":2669,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":3303,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":3389,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":3730,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":5059,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[55,[{"file":"../src/codeTranslationsUtils.ts","start":368,"length":105,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],56,132,134,[167,[{"file":"../src/index.ts","start":533,"length":35,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],166,[165,[{"file":"../src/markdownParser.ts","start":209,"length":20,"messageText":"Cannot find module '@docusaurus/logger' or its corresponding type declarations.","category":1,"code":2307}]],149,133,148,150,185,186,187,191,192,188,189,190,193,199,200,201,202,164,184,203,204,205,206,196,207,208,209,211,212,210,194,198,213,214,197,215,163,216,195]},"version":"4.8.0-dev.20220719"}
\ No newline at end of file
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js
new file mode 100644
index 0000000..d88c9c0
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js
@@ -0,0 +1,77 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const tslib_1 = require("tslib");
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const path_1 = tslib_1.__importDefault(require("path"));
+const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
+const codeTranslationsUtils_1 = require("../codeTranslationsUtils");
+describe('codeTranslationLocalesToTry', () => {
+ test('should return appropriate locale lists', () => {
+ expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('fr')).toEqual(['fr', 'fr-FR']);
+ expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('fr-FR')).toEqual(['fr-FR', 'fr']);
+ // Note: "pt" is expanded into "pt-BR", not "pt-PT", as "pt-BR" is more widely used!
+ // See https://github.com/facebook/docusaurus/pull/4536#issuecomment-810088783
+ expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt')).toEqual(['pt', 'pt-BR']);
+ expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt-BR')).toEqual(['pt-BR', 'pt']);
+ expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt-PT')).toEqual(['pt-PT', 'pt']);
+ });
+});
+describe('readDefaultCodeTranslationMessages', () => {
+ const dirPath = path_1.default.resolve(__dirname, '__fixtures__', 'defaultCodeTranslations');
+ async function readAsJSON(filename) {
+ return JSON.parse(await fs_extra_1.default.readFile(path_1.default.resolve(dirPath, filename), 'utf8'));
+ }
+ test('for empty locale', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: '',
+ dirPath,
+ })).rejects.toThrowErrorMatchingInlineSnapshot(`"First argument to Intl.Locale constructor can't be empty or missing"`);
+ });
+ test('for unexisting locale', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'es',
+ dirPath,
+ })).resolves.toEqual({});
+ });
+ test('for fr but bad folder', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'fr',
+ dirPath: __dirname,
+ })).resolves.toEqual({});
+ });
+ test('for fr', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'fr',
+ dirPath,
+ })).resolves.toEqual(await readAsJSON('fr.json'));
+ });
+ test('for fr-FR', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'fr-FR',
+ dirPath,
+ })).resolves.toEqual(await readAsJSON('fr-FR.json'));
+ });
+ test('for en', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'en',
+ dirPath,
+ })).resolves.toEqual(await readAsJSON('en.json'));
+ });
+ test('for en-US', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'en-US',
+ dirPath,
+ })).resolves.toEqual(await readAsJSON('en.json'));
+ });
+ test('for en-WHATEVER', async () => {
+ await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({
+ locale: 'en-WHATEVER',
+ dirPath,
+ })).resolves.toEqual(await readAsJSON('en.json'));
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js
new file mode 100644
index 0000000..5e6252f
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js
@@ -0,0 +1,25 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const escapePath_1 = require("../escapePath");
+describe('escapePath', () => {
+ test('escapePath works', () => {
+ const asserts = {
+ 'c:/aaaa\\bbbb': 'c:/aaaa\\\\bbbb',
+ 'c:\\aaaa\\bbbb\\★': 'c:\\\\aaaa\\\\bbbb\\\\★',
+ '\\\\?\\c:\\aaaa\\bbbb': '\\\\\\\\?\\\\c:\\\\aaaa\\\\bbbb',
+ 'c:\\aaaa\\bbbb': 'c:\\\\aaaa\\\\bbbb',
+ 'foo\\bar': 'foo\\\\bar',
+ 'foo\\bar/lol': 'foo\\\\bar/lol',
+ 'website\\docs/**/*.{md,mdx}': 'website\\\\docs/**/*.{md,mdx}',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, escapePath_1.escapePath)(file)).toBe(asserts[file]);
+ });
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js
new file mode 100644
index 0000000..459dc2e
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js
@@ -0,0 +1,91 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const globUtils_1 = require("../globUtils");
+describe('createMatcher', () => {
+ const matcher = (0, globUtils_1.createMatcher)(globUtils_1.GlobExcludeDefault);
+ test('match default exclude MD/MDX partials correctly', () => {
+ expect(matcher('doc.md')).toEqual(false);
+ expect(matcher('category/doc.md')).toEqual(false);
+ expect(matcher('category/subcategory/doc.md')).toEqual(false);
+ //
+ expect(matcher('doc.mdx')).toEqual(false);
+ expect(matcher('category/doc.mdx')).toEqual(false);
+ expect(matcher('category/subcategory/doc.mdx')).toEqual(false);
+ //
+ expect(matcher('_doc.md')).toEqual(true);
+ expect(matcher('category/_doc.md')).toEqual(true);
+ expect(matcher('category/subcategory/_doc.md')).toEqual(true);
+ expect(matcher('_category/doc.md')).toEqual(true);
+ expect(matcher('_category/subcategory/doc.md')).toEqual(true);
+ expect(matcher('category/_subcategory/doc.md')).toEqual(true);
+ });
+ test('match default exclude tests correctly', () => {
+ expect(matcher('xyz.js')).toEqual(false);
+ expect(matcher('xyz.ts')).toEqual(false);
+ expect(matcher('xyz.jsx')).toEqual(false);
+ expect(matcher('xyz.tsx')).toEqual(false);
+ expect(matcher('folder/xyz.js')).toEqual(false);
+ expect(matcher('folder/xyz.ts')).toEqual(false);
+ expect(matcher('folder/xyz.jsx')).toEqual(false);
+ expect(matcher('folder/xyz.tsx')).toEqual(false);
+ //
+ expect(matcher('xyz.test.js')).toEqual(true);
+ expect(matcher('xyz.test.ts')).toEqual(true);
+ expect(matcher('xyz.test.jsx')).toEqual(true);
+ expect(matcher('xyz.test.tsx')).toEqual(true);
+ expect(matcher('folder/xyz.test.js')).toEqual(true);
+ expect(matcher('folder/xyz.test.ts')).toEqual(true);
+ expect(matcher('folder/xyz.test.jsx')).toEqual(true);
+ expect(matcher('folder/xyz.test.tsx')).toEqual(true);
+ expect(matcher('folder/subfolder/xyz.test.js')).toEqual(true);
+ expect(matcher('folder/subfolder/xyz.test.ts')).toEqual(true);
+ expect(matcher('folder/subfolder/xyz.test.jsx')).toEqual(true);
+ expect(matcher('folder/subfolder/xyz.test.tsx')).toEqual(true);
+ //
+ expect(matcher('__tests__/subfolder/xyz.js')).toEqual(true);
+ expect(matcher('__tests__/subfolder/xyz.ts')).toEqual(true);
+ expect(matcher('__tests__/subfolder/xyz.jsx')).toEqual(true);
+ expect(matcher('__tests__/subfolder/xyz.tsx')).toEqual(true);
+ expect(matcher('folder/__tests__/xyz.js')).toEqual(true);
+ expect(matcher('folder/__tests__/xyz.ts')).toEqual(true);
+ expect(matcher('folder/__tests__/xyz.jsx')).toEqual(true);
+ expect(matcher('folder/__tests__/xyz.tsx')).toEqual(true);
+ });
+});
+describe('createAbsoluteFilePathMatcher', () => {
+ const rootFolders = ['/_root/docs', '/root/_docs/', '/__test__/website/src'];
+ const matcher = (0, globUtils_1.createAbsoluteFilePathMatcher)(globUtils_1.GlobExcludeDefault, rootFolders);
+ test('match default exclude MD/MDX partials correctly', () => {
+ expect(matcher('/_root/docs/myDoc.md')).toEqual(false);
+ expect(matcher('/_root/docs/myDoc.mdx')).toEqual(false);
+ expect(matcher('/root/_docs/myDoc.md')).toEqual(false);
+ expect(matcher('/root/_docs/myDoc.mdx')).toEqual(false);
+ expect(matcher('/_root/docs/category/myDoc.md')).toEqual(false);
+ expect(matcher('/_root/docs/category/myDoc.mdx')).toEqual(false);
+ expect(matcher('/root/_docs/category/myDoc.md')).toEqual(false);
+ expect(matcher('/root/_docs/category/myDoc.mdx')).toEqual(false);
+ //
+ expect(matcher('/_root/docs/_myDoc.md')).toEqual(true);
+ expect(matcher('/_root/docs/_myDoc.mdx')).toEqual(true);
+ expect(matcher('/root/_docs/_myDoc.md')).toEqual(true);
+ expect(matcher('/root/_docs/_myDoc.mdx')).toEqual(true);
+ expect(matcher('/_root/docs/_category/myDoc.md')).toEqual(true);
+ expect(matcher('/_root/docs/_category/myDoc.mdx')).toEqual(true);
+ expect(matcher('/root/_docs/_category/myDoc.md')).toEqual(true);
+ expect(matcher('/root/_docs/_category/myDoc.mdx')).toEqual(true);
+ });
+ test('match default exclude tests correctly', () => {
+ expect(matcher('/__test__/website/src/xyz.js')).toEqual(false);
+ expect(matcher('/__test__/website/src/__test__/xyz.js')).toEqual(true);
+ expect(matcher('/__test__/website/src/xyz.test.js')).toEqual(true);
+ });
+ test('throw if file is not contained in any root doc', () => {
+ expect(() => matcher('/bad/path/myDoc.md')).toThrowErrorMatchingInlineSnapshot(`"createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=/bad/path/myDoc.md was not contained in any of the root folders [\\"/_root/docs\\",\\"/root/_docs/\\",\\"/__test__/website/src\\"]"`);
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js
new file mode 100644
index 0000000..b3369f7
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js
@@ -0,0 +1,46 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const hashUtils_1 = require("../hashUtils");
+describe('hashUtils', () => {
+ test('simpleHash', () => {
+ const asserts = {
+ '': 'd41',
+ '/foo-bar': '096',
+ '/foo/bar': '1df',
+ '/endi/lie': '9fa',
+ '/endi-lie': 'fd3',
+ '/yangshun/tay': '48d',
+ '/yangshun-tay': 'f3b',
+ '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': 'd46',
+ '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': '787',
+ };
+ Object.keys(asserts).forEach((str) => {
+ expect((0, hashUtils_1.simpleHash)(str, 3)).toBe(asserts[str]);
+ });
+ });
+});
+describe('docuHash', () => {
+ test('docuHash works', () => {
+ const asserts = {
+ '': '-d41',
+ '/': 'index',
+ '/foo-bar': 'foo-bar-096',
+ '/foo/bar': 'foo-bar-1df',
+ '/endi/lie': 'endi-lie-9fa',
+ '/endi-lie': 'endi-lie-fd3',
+ '/yangshun/tay': 'yangshun-tay-48d',
+ '/yangshun-tay': 'yangshun-tay-f3b',
+ '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo--d46',
+ '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test--787',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, hashUtils_1.docuHash)(file)).toBe(asserts[file]);
+ });
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/index.test.js b/node_modules/@docusaurus/utils/lib/__tests__/index.test.js
new file mode 100644
index 0000000..6b2eb3e
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/index.test.js
@@ -0,0 +1,408 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const tslib_1 = require("tslib");
+const path_1 = tslib_1.__importDefault(require("path"));
+const index_1 = require("../index");
+const lodash_1 = require("lodash");
+describe('load utils', () => {
+ test('aliasedSitePath', () => {
+ const asserts = {
+ 'user/website/docs/asd.md': '@site/docs/asd.md',
+ 'user/website/versioned_docs/foo/bar.md': '@site/versioned_docs/foo/bar.md',
+ 'user/docs/test.md': '@site/../docs/test.md',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, index_1.posixPath)((0, index_1.aliasedSitePath)(file, 'user/website'))).toBe(asserts[file]);
+ });
+ });
+ test('genComponentName', () => {
+ const asserts = {
+ '/': 'index',
+ '/foo-bar': 'FooBar096',
+ '/foo/bar': 'FooBar1Df',
+ '/blog/2017/12/14/introducing-docusaurus': 'Blog20171214IntroducingDocusaurus8D2',
+ '/blog/2017/12/14-introducing-docusaurus': 'Blog20171214IntroducingDocusaurus0Bc',
+ '/blog/201712/14-introducing-docusaurus': 'Blog20171214IntroducingDocusaurusA93',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, index_1.genComponentName)(file)).toBe(asserts[file]);
+ });
+ });
+ test('fileToPath', () => {
+ const asserts = {
+ 'index.md': '/',
+ 'hello/index.md': '/hello/',
+ 'foo.md': '/foo',
+ 'foo/bar.md': '/foo/bar',
+ 'index.js': '/',
+ 'hello/index.js': '/hello/',
+ 'foo.js': '/foo',
+ 'foo/bar.js': '/foo/bar',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, index_1.fileToPath)(file)).toBe(asserts[file]);
+ });
+ });
+ test('objectWithKeySorted', () => {
+ const obj = {
+ '/docs/adding-blog': '4',
+ '/docs/versioning': '5',
+ '/': '1',
+ '/blog/2018': '3',
+ '/youtube': '7',
+ '/users/en/': '6',
+ '/blog': '2',
+ };
+ expect((0, index_1.objectWithKeySorted)(obj)).toMatchInlineSnapshot(`
+ Object {
+ "/": "1",
+ "/blog": "2",
+ "/blog/2018": "3",
+ "/docs/adding-blog": "4",
+ "/docs/versioning": "5",
+ "/users/en/": "6",
+ "/youtube": "7",
+ }
+ `);
+ const obj2 = {
+ b: 'foo',
+ c: 'bar',
+ a: 'baz',
+ };
+ expect((0, index_1.objectWithKeySorted)(obj2)).toMatchInlineSnapshot(`
+ Object {
+ "a": "baz",
+ "b": "foo",
+ "c": "bar",
+ }
+ `);
+ });
+ test('genChunkName', () => {
+ const firstAssert = {
+ '/docs/adding-blog': 'docs-adding-blog-062',
+ '/docs/versioning': 'docs-versioning-8a8',
+ '/': 'index',
+ '/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus': 'blog-2018-04-30-how-i-converted-profilo-to-docusaurus-4f2',
+ '/youtube': 'youtube-429',
+ '/users/en/': 'users-en-f7a',
+ '/blog': 'blog-c06',
+ };
+ Object.keys(firstAssert).forEach((str) => {
+ expect((0, index_1.genChunkName)(str)).toBe(firstAssert[str]);
+ });
+ // Don't allow different chunk name for same path.
+ expect((0, index_1.genChunkName)('path/is/similar', 'oldPrefix')).toEqual((0, index_1.genChunkName)('path/is/similar', 'newPrefix'));
+ // Even with same preferred name, still different chunk name for different path
+ const secondAssert = {
+ '/blog/1': 'blog-85-f-089',
+ '/blog/2': 'blog-353-489',
+ };
+ Object.keys(secondAssert).forEach((str) => {
+ expect((0, index_1.genChunkName)(str, undefined, 'blog')).toBe(secondAssert[str]);
+ });
+ // Only generate short unique id
+ const thirdAssert = {
+ a: '0cc175b9',
+ b: '92eb5ffe',
+ c: '4a8a08f0',
+ d: '8277e091',
+ };
+ Object.keys(thirdAssert).forEach((str) => {
+ expect((0, index_1.genChunkName)(str, undefined, undefined, true)).toBe(thirdAssert[str]);
+ });
+ expect((0, index_1.genChunkName)('d', undefined, undefined, true)).toBe('8277e091');
+ });
+ test('idx', () => {
+ const a = {};
+ const b = { hello: 'world' };
+ const obj = {
+ translation: {
+ enabled: true,
+ enabledLanguages: [
+ {
+ enabled: true,
+ name: 'English',
+ tag: 'en',
+ },
+ {
+ enabled: true,
+ name: '日本語',
+ tag: 'ja',
+ },
+ ],
+ },
+ versioning: {
+ enabled: false,
+ versions: [],
+ },
+ };
+ const test = { arr: [1, 2, 3] };
+ const variable = 'enabledLanguages';
+ expect((0, index_1.idx)(a, ['b', 'c'])).toBeUndefined();
+ expect((0, index_1.idx)(b, ['hello'])).toEqual('world');
+ expect((0, index_1.idx)(b, 'hello')).toEqual('world');
+ expect((0, index_1.idx)(obj, 'typo')).toBeUndefined();
+ expect((0, index_1.idx)(obj, 'versioning')).toEqual({
+ enabled: false,
+ versions: [],
+ });
+ expect((0, index_1.idx)(obj, ['translation', 'enabled'])).toEqual(true);
+ expect((0, index_1.idx)(obj, ['translation', variable]).map((lang) => lang.tag)).toEqual(['en', 'ja']);
+ expect((0, index_1.idx)(test, ['arr', 0])).toEqual(1);
+ expect((0, index_1.idx)(undefined)).toBeUndefined();
+ expect((0, index_1.idx)(null)).toBeNull();
+ });
+ test('getSubFolder', () => {
+ const testA = path_1.default.join('folder', 'en', 'test.md');
+ const testB = path_1.default.join('folder', 'ja', 'test.md');
+ const testC = path_1.default.join('folder', 'ja', 'en', 'test.md');
+ const testD = path_1.default.join('docs', 'ro', 'test.md');
+ const testE = path_1.default.join('docs', 'test.md');
+ expect((0, index_1.getSubFolder)(testA, 'folder')).toBe('en');
+ expect((0, index_1.getSubFolder)(testB, 'folder')).toBe('ja');
+ expect((0, index_1.getSubFolder)(testC, 'folder')).toBe('ja');
+ expect((0, index_1.getSubFolder)(testD, 'docs')).toBe('ro');
+ expect((0, index_1.getSubFolder)(testE, 'docs')).toBeNull();
+ });
+ test('isValidPathname', () => {
+ expect((0, index_1.isValidPathname)('/')).toBe(true);
+ expect((0, index_1.isValidPathname)('/hey')).toBe(true);
+ expect((0, index_1.isValidPathname)('/hey/ho')).toBe(true);
+ expect((0, index_1.isValidPathname)('/hey/ho/')).toBe(true);
+ expect((0, index_1.isValidPathname)('/hey/h%C3%B4/')).toBe(true);
+ expect((0, index_1.isValidPathname)('/hey///ho///')).toBe(true); // Unexpected but valid
+ expect((0, index_1.isValidPathname)('/hey/héllô you')).toBe(true);
+ //
+ expect((0, index_1.isValidPathname)('')).toBe(false);
+ expect((0, index_1.isValidPathname)('hey')).toBe(false);
+ expect((0, index_1.isValidPathname)('/hey?qs=ho')).toBe(false);
+ expect((0, index_1.isValidPathname)('https://fb.com/hey')).toBe(false);
+ expect((0, index_1.isValidPathname)('//hey')).toBe(false);
+ });
+});
+describe('addTrailingSlash', () => {
+ test('should no-op', () => {
+ expect((0, index_1.addTrailingSlash)('/abcd/')).toEqual('/abcd/');
+ });
+ test('should add /', () => {
+ expect((0, index_1.addTrailingSlash)('/abcd')).toEqual('/abcd/');
+ });
+});
+describe('addLeadingSlash', () => {
+ test('should no-op', () => {
+ expect((0, index_1.addLeadingSlash)('/abc')).toEqual('/abc');
+ });
+ test('should add /', () => {
+ expect((0, index_1.addLeadingSlash)('abc')).toEqual('/abc');
+ });
+});
+describe('removeTrailingSlash', () => {
+ test('should no-op', () => {
+ expect((0, index_1.removeTrailingSlash)('/abcd')).toEqual('/abcd');
+ });
+ test('should remove /', () => {
+ expect((0, index_1.removeTrailingSlash)('/abcd/')).toEqual('/abcd');
+ });
+});
+describe('removeSuffix', () => {
+ test('should no-op 1', () => {
+ expect((0, index_1.removeSuffix)('abcdef', 'ijk')).toEqual('abcdef');
+ });
+ test('should no-op 2', () => {
+ expect((0, index_1.removeSuffix)('abcdef', 'abc')).toEqual('abcdef');
+ });
+ test('should no-op 3', () => {
+ expect((0, index_1.removeSuffix)('abcdef', '')).toEqual('abcdef');
+ });
+ test('should remove suffix', () => {
+ expect((0, index_1.removeSuffix)('abcdef', 'ef')).toEqual('abcd');
+ });
+});
+describe('removePrefix', () => {
+ test('should no-op 1', () => {
+ expect((0, index_1.removePrefix)('abcdef', 'ijk')).toEqual('abcdef');
+ });
+ test('should no-op 2', () => {
+ expect((0, index_1.removePrefix)('abcdef', 'def')).toEqual('abcdef');
+ });
+ test('should no-op 3', () => {
+ expect((0, index_1.removePrefix)('abcdef', '')).toEqual('abcdef');
+ });
+ test('should remove prefix', () => {
+ expect((0, index_1.removePrefix)('abcdef', 'ab')).toEqual('cdef');
+ });
+});
+describe('getElementsAround', () => {
+ test('can return elements around', () => {
+ expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 0)).toEqual({
+ previous: undefined,
+ next: 'b',
+ });
+ expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 1)).toEqual({
+ previous: 'a',
+ next: 'c',
+ });
+ expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 2)).toEqual({
+ previous: 'b',
+ next: 'd',
+ });
+ expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 3)).toEqual({
+ previous: 'c',
+ next: undefined,
+ });
+ });
+ test('throws if bad index is provided', () => {
+ expect(() => (0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], -1)).toThrowErrorMatchingInlineSnapshot(`"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided -1."`);
+ expect(() => (0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 4)).toThrowErrorMatchingInlineSnapshot(`"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided 4."`);
+ });
+});
+describe('mergeTranslations', () => {
+ test('should merge translations', () => {
+ expect((0, index_1.mergeTranslations)([
+ {
+ T1: { message: 'T1 message', description: 'T1 desc' },
+ T2: { message: 'T2 message', description: 'T2 desc' },
+ T3: { message: 'T3 message', description: 'T3 desc' },
+ },
+ {
+ T4: { message: 'T4 message', description: 'T4 desc' },
+ },
+ { T2: { message: 'T2 message 2', description: 'T2 desc 2' } },
+ ])).toEqual({
+ T1: { message: 'T1 message', description: 'T1 desc' },
+ T2: { message: 'T2 message 2', description: 'T2 desc 2' },
+ T3: { message: 'T3 message', description: 'T3 desc' },
+ T4: { message: 'T4 message', description: 'T4 desc' },
+ });
+ });
+});
+describe('mapAsyncSequencial', () => {
+ function sleep(timeout) {
+ return new Promise((resolve) => setTimeout(resolve, timeout));
+ }
+ test('map sequentially', async () => {
+ const itemToTimeout = {
+ '1': 50,
+ '2': 150,
+ '3': 100,
+ };
+ const items = Object.keys(itemToTimeout);
+ const itemMapStartsAt = {};
+ const itemMapEndsAt = {};
+ const timeBefore = Date.now();
+ await expect((0, index_1.mapAsyncSequencial)(items, async (item) => {
+ const itemTimeout = itemToTimeout[item];
+ itemMapStartsAt[item] = Date.now();
+ await sleep(itemTimeout);
+ itemMapEndsAt[item] = Date.now();
+ return `${item} mapped`;
+ })).resolves.toEqual(['1 mapped', '2 mapped', '3 mapped']);
+ const timeAfter = Date.now();
+ const timeTotal = timeAfter - timeBefore;
+ const totalTimeouts = (0, lodash_1.sum)(Object.values(itemToTimeout));
+ expect(timeTotal > totalTimeouts);
+ expect(itemMapStartsAt['1'] > 0);
+ expect(itemMapStartsAt['2'] > itemMapEndsAt['1']);
+ expect(itemMapStartsAt['3'] > itemMapEndsAt['2']);
+ });
+});
+describe('findAsyncSequencial', () => {
+ function sleep(timeout) {
+ return new Promise((resolve) => setTimeout(resolve, timeout));
+ }
+ test('find sequentially', async () => {
+ const items = ['1', '2', '3'];
+ const findFn = jest.fn(async (item) => {
+ await sleep(50);
+ return item === '2';
+ });
+ const timeBefore = Date.now();
+ await expect((0, index_1.findAsyncSequential)(items, findFn)).resolves.toEqual('2');
+ const timeAfter = Date.now();
+ expect(findFn).toHaveBeenCalledTimes(2);
+ expect(findFn).toHaveBeenNthCalledWith(1, '1');
+ expect(findFn).toHaveBeenNthCalledWith(2, '2');
+ const timeTotal = timeAfter - timeBefore;
+ expect(timeTotal > 100);
+ expect(timeTotal < 150);
+ });
+});
+describe('findFolderContainingFile', () => {
+ test('find appropriate folder', async () => {
+ await expect((0, index_1.findFolderContainingFile)(['/abcdef', '/gehij', __dirname, '/klmn'], 'index.test.ts')).resolves.toEqual(__dirname);
+ });
+ test('return undefined if no folder contain such file', async () => {
+ await expect((0, index_1.findFolderContainingFile)(['/abcdef', '/gehij', '/klmn'], 'index.test.ts')).resolves.toBeUndefined();
+ });
+});
+describe('getFolderContainingFile', () => {
+ test('get appropriate folder', async () => {
+ await expect((0, index_1.getFolderContainingFile)(['/abcdef', '/gehij', __dirname, '/klmn'], 'index.test.ts')).resolves.toEqual(__dirname);
+ });
+ test('throw if no folder contain such file', async () => {
+ await expect((0, index_1.getFolderContainingFile)(['/abcdef', '/gehij', '/klmn'], 'index.test.ts')).rejects.toThrowErrorMatchingSnapshot();
+ });
+});
+describe('updateTranslationFileMessages', () => {
+ test('should update messages', () => {
+ expect((0, index_1.updateTranslationFileMessages)({
+ path: 'abc',
+ content: {
+ t1: { message: 't1 message', description: 't1 desc' },
+ t2: { message: 't2 message', description: 't2 desc' },
+ t3: { message: 't3 message', description: 't3 desc' },
+ },
+ }, (message) => `prefix ${message} suffix`)).toEqual({
+ path: 'abc',
+ content: {
+ t1: { message: 'prefix t1 message suffix', description: 't1 desc' },
+ t2: { message: 'prefix t2 message suffix', description: 't2 desc' },
+ t3: { message: 'prefix t3 message suffix', description: 't3 desc' },
+ },
+ });
+ });
+});
+describe('parseMarkdownHeadingId', () => {
+ test('can parse simple heading without id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## Some heading')).toEqual({
+ text: '## Some heading',
+ id: undefined,
+ });
+ });
+ test('can parse simple heading with id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## Some heading {#custom-_id}')).toEqual({
+ text: '## Some heading',
+ id: 'custom-_id',
+ });
+ });
+ test('can parse heading not ending with the id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## {#custom-_id} Some heading')).toEqual({
+ text: '## {#custom-_id} Some heading',
+ id: undefined,
+ });
+ });
+ test('can parse heading with multiple id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## Some heading {#id1} {#id2}')).toEqual({
+ text: '## Some heading {#id1}',
+ id: 'id2',
+ });
+ });
+ test('can parse heading with link and id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## Some heading [facebook](https://facebook.com) {#id}')).toEqual({
+ text: '## Some heading [facebook](https://facebook.com)',
+ id: 'id',
+ });
+ });
+ test('can parse heading with only id', () => {
+ expect((0, index_1.parseMarkdownHeadingId)('## {#id}')).toEqual({
+ text: '##',
+ id: 'id',
+ });
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js
similarity index 50%
rename from node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts
rename to node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js
index 2f36481..2b54f42 100644
--- a/node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts
+++ b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js
@@ -1,49 +1,36 @@
+"use strict";
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-
-import {
- createExcerpt,
- parseMarkdownContentTitle,
- parseMarkdownString,
-} from '../markdownParser';
-import dedent from 'dedent';
-
+Object.defineProperty(exports, "__esModule", { value: true });
+const tslib_1 = require("tslib");
+const markdownParser_1 = require("../markdownParser");
+const dedent_1 = tslib_1.__importDefault(require("dedent"));
describe('createExcerpt', () => {
- test('should create excerpt for text-only content', () => {
- expect(
- createExcerpt(dedent`
+ test('should create excerpt for text-only content', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual(
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.',
- );
- });
-
- test('should create excerpt for regular content with regular title', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.');
+ });
+ test('should create excerpt for regular content with regular title', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
# Markdown Regular Title
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual(
- // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.',
- );
- });
-
- test('should create excerpt for regular content with alternate title', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual(
+ // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.');
+ });
+ test('should create excerpt for regular content with alternate title', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
Markdown Alternate Title
================
@@ -51,44 +38,31 @@ describe('createExcerpt', () => {
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual(
- // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.',
- );
- });
-
- test('should create excerpt for content with h2 heading', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual(
+ // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.');
+ });
+ test('should create excerpt for content with h2 heading', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
## Lorem ipsum dolor sit amet
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual('Lorem ipsum dolor sit amet');
- });
-
- test('should create excerpt for content beginning with blockquote', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum dolor sit amet');
+ });
+ test('should create excerpt for content beginning with blockquote', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
> Lorem ipsum dolor sit amet
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual('Lorem ipsum dolor sit amet');
- });
-
- test('should create excerpt for content beginning with image (eg. blog post)', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum dolor sit amet');
+ });
+ test('should create excerpt for content beginning with image (eg. blog post)', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
![Lorem ipsum](/img/lorem-ipsum.svg)
- `),
- ).toEqual('Lorem ipsum');
- });
-
- test('should create excerpt for content beginning with admonitions', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum');
+ });
+ test('should create excerpt for content beginning with admonitions', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
import Component from '@site/src/components/Component'
:::caution
@@ -98,13 +72,10 @@ describe('createExcerpt', () => {
:::
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
- });
-
- test('should create excerpt for content with imports/exports declarations and Markdown markup, as well as Emoji', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
+ });
+ test('should create excerpt for content with imports/exports declarations and Markdown markup, as well as Emoji', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
import Component from '@site/src/components/Component';
import Component from '@site/src/components/Component'
import './styles.css';
@@ -116,68 +87,56 @@ describe('createExcerpt', () => {
Lorem **ipsum** dolor sit \`amet\`[^1], consectetur _adipiscing_ elit. [**Vestibulum**](https://wiktionary.org/wiki/vestibulum) ex urna[^bignote], ~molestie~ et sagittis ut, varius ac justo :wink:.
Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis.
- `),
- ).toEqual(
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.',
- );
- });
-
- test('should create excerpt for heading specified with anchor-id syntax', () => {
- expect(
- createExcerpt(dedent`
+ `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.');
+ });
+ test('should create excerpt for heading specified with anchor-id syntax', () => {
+ expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) `
## Markdown title {#my-anchor-id}
- `),
- ).toEqual('Markdown title');
- });
+ `)).toEqual('Markdown title');
+ });
});
-
describe('parseMarkdownContentTitle', () => {
- test('Should parse markdown h1 title at the top', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title at the top', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title at the top and remove it', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title at the top and remove it', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title
Lorem Ipsum
`;
- expect(
- parseMarkdownContentTitle(markdown, {removeContentTitle: true}),
- ).toEqual({
- content: 'Lorem Ipsum',
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({
+ content: 'Lorem Ipsum',
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title at the top and unwrap inline code block', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title at the top and unwrap inline code block', () => {
+ const markdown = (0, dedent_1.default) `
# \`Markdown Title\`
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title and trim content', () => {
- const markdown = `
+ test('Should parse markdown h1 title and trim content', () => {
+ const markdown = `
# Markdown Title
@@ -186,56 +145,50 @@ Lorem Ipsum
`;
-
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown.trim(),
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown.trim(),
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse not parse markdown h1 title and trim content', () => {
- const markdown = `
+ test('Should parse not parse markdown h1 title and trim content', () => {
+ const markdown = `
Lorem Ipsum
`;
-
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown.trim(),
- contentTitle: undefined,
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown.trim(),
+ contentTitle: undefined,
+ });
});
- });
-
- test('Should parse markdown h1 title with fixed anchor-id syntax', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title with fixed anchor-id syntax', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title {#my-anchor-id}
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title at the top (atx style with closing #)', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title at the top (atx style with closing #)', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title #
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title at the top followed by h2 title', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title at the top followed by h2 title', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title
@@ -244,14 +197,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse only first h1 title', () => {
- const markdown = dedent`
+ test('Should parse only first h1 title', () => {
+ const markdown = (0, dedent_1.default) `
# Markdown Title
@@ -260,14 +212,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should not parse title that is not at the top', () => {
- const markdown = dedent`
+ test('Should not parse title that is not at the top', () => {
+ const markdown = (0, dedent_1.default) `
Lorem Ipsum
@@ -276,14 +227,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: undefined,
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: undefined,
+ });
});
- });
-
- test('Should parse markdown h1 alternate title', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 alternate title', () => {
+ const markdown = (0, dedent_1.default) `
Markdown Title
================
@@ -291,14 +241,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 alternate title and remove it', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 alternate title and remove it', () => {
+ const markdown = (0, dedent_1.default) `
Markdown Title
================
@@ -306,16 +255,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(
- parseMarkdownContentTitle(markdown, {removeContentTitle: true}),
- ).toEqual({
- content: 'Lorem Ipsum',
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({
+ content: 'Lorem Ipsum',
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title placed after import declarations', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title placed after import declarations', () => {
+ const markdown = (0, dedent_1.default) `
import Component1 from '@site/src/components/Component1';
import Component2 from '@site/src/components/Component2'
@@ -327,16 +273,14 @@ Lorem Ipsum
Lorem Ipsum
`;
-
- // remove the useless line breaks? Does not matter too much
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ // remove the useless line breaks? Does not matter too much
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title placed after various import declarations', () => {
- const markdown = `
+ test('Should parse markdown h1 title placed after various import declarations', () => {
+ const markdown = `
import DefaultComponent from '@site/src/components/Component1';
import DefaultComponent2 from '../relative/path/Component2';
import * as EntireComponent from './relative/path/Component3';
@@ -356,15 +300,13 @@ import "module-name"
Lorem Ipsum
`;
-
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown.trim(),
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown.trim(),
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title placed after various import declarations and remove it', () => {
- const markdown = `
+ test('Should parse markdown h1 title placed after various import declarations and remove it', () => {
+ const markdown = `
import DefaultComponent from '@site/src/components/Component1';
import DefaultComponent2 from '../relative/path/Component2';
import * as EntireComponent from './relative/path/Component3';
@@ -384,17 +326,13 @@ import "module-name"
Lorem Ipsum
`;
-
- expect(
- parseMarkdownContentTitle(markdown, {removeContentTitle: true}),
- ).toEqual({
- content: markdown.trim().replace('# Markdown Title', ''),
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({
+ content: markdown.trim().replace('# Markdown Title', ''),
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 alternate title placed after import declarations', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 alternate title placed after import declarations', () => {
+ const markdown = (0, dedent_1.default) `
import Component from '@site/src/components/Component';
import Component from '@site/src/components/Component'
@@ -406,14 +344,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 alternate title placed after import declarations and remove it', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 alternate title placed after import declarations and remove it', () => {
+ const markdown = (0, dedent_1.default) `
import Component from '@site/src/components/Component';
import Component from '@site/src/components/Component'
@@ -425,24 +362,20 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(
- parseMarkdownContentTitle(markdown, {removeContentTitle: true}),
- ).toEqual({
- content: markdown.replace('Markdown Title\n==============\n\n', ''),
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({
+ content: markdown.replace('Markdown Title\n==============\n\n', ''),
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse title-only', () => {
- const markdown = '# Document With Only A Title';
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Document With Only A Title',
+ test('Should parse title-only', () => {
+ const markdown = '# Document With Only A Title';
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Document With Only A Title',
+ });
});
- });
-
- test('Should not parse markdown h1 title in the middle of a doc', () => {
- const markdown = dedent`
+ test('Should not parse markdown h1 title in the middle of a doc', () => {
+ const markdown = (0, dedent_1.default) `
Lorem Ipsum
@@ -451,14 +384,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: undefined,
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: undefined,
+ });
});
- });
-
- test('Should not parse markdown h1 alternate title in the middle of the doc', () => {
- const markdown = dedent`
+ test('Should not parse markdown h1 alternate title in the middle of the doc', () => {
+ const markdown = (0, dedent_1.default) `
Lorem Ipsum
@@ -468,14 +400,13 @@ Lorem Ipsum
Lorem Ipsum
`;
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: undefined,
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: undefined,
+ });
});
- });
-
- test('Should parse markdown h1 title placed after multiple import declarations', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title placed after multiple import declarations', () => {
+ const markdown = (0, dedent_1.default) `
import Component1 from '@site/src/components/Component1';
import Component2 from '@site/src/components/Component2';
import Component3 from '@site/src/components/Component3';
@@ -497,15 +428,13 @@ Lorem Ipsum
Lorem Ipsum
`;
-
- expect(parseMarkdownContentTitle(markdown)).toEqual({
- content: markdown,
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({
+ content: markdown,
+ contentTitle: 'Markdown Title',
+ });
});
- });
-
- test('Should parse markdown h1 title placed after multiple import declarations and remove it', () => {
- const markdown = dedent`
+ test('Should parse markdown h1 title placed after multiple import declarations and remove it', () => {
+ const markdown = (0, dedent_1.default) `
import Component1 from '@site/src/components/Component1';
import Component2 from '@site/src/components/Component2';
import Component3 from '@site/src/components/Component3';
@@ -527,27 +456,21 @@ Lorem Ipsum
Lorem Ipsum
`;
-
- expect(
- parseMarkdownContentTitle(markdown, {removeContentTitle: true}),
- ).toEqual({
- content: markdown.replace('# Markdown Title', ''),
- contentTitle: 'Markdown Title',
+ expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({
+ content: markdown.replace('# Markdown Title', ''),
+ contentTitle: 'Markdown Title',
+ });
});
- });
});
-
describe('parseMarkdownString', () => {
- test('parse markdown with frontmatter', () => {
- expect(
- parseMarkdownString(dedent`
+ test('parse markdown with frontmatter', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
Some text
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "Some text",
"contentTitle": undefined,
@@ -557,16 +480,13 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should parse first heading as contentTitle', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should parse first heading as contentTitle', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
# Markdown Title
Some text
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "# Markdown Title
@@ -576,11 +496,9 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
-
- test('should warn about duplicate titles (frontmatter + markdown)', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should warn about duplicate titles (frontmatter + markdown)', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
@@ -588,8 +506,7 @@ describe('parseMarkdownString', () => {
# Markdown Title
Some text
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "# Markdown Title
@@ -601,11 +518,9 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should warn about duplicate titles (frontmatter + markdown alternate)', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should warn about duplicate titles (frontmatter + markdown alternate)', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
@@ -614,8 +529,7 @@ describe('parseMarkdownString', () => {
================
Some text
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "Markdown Title alternate
================
@@ -628,11 +542,9 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should not warn for duplicate title if markdown title is not at the top', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should not warn for duplicate title if markdown title is not at the top', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
@@ -640,8 +552,7 @@ describe('parseMarkdownString', () => {
foo
# Markdown Title
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "foo
@@ -653,11 +564,9 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should delete only first heading', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should delete only first heading', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
# Markdown Title
test test test # test bar
@@ -665,8 +574,7 @@ describe('parseMarkdownString', () => {
# Markdown Title 2
### Markdown Title h3
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "# Markdown Title
@@ -680,19 +588,14 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
-
- test('should parse front-matter and ignore h2', () => {
- expect(
- parseMarkdownString(
- dedent`
+ });
+ test('should parse front-matter and ignore h2', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
## test
- `,
- ),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "## test",
"contentTitle": undefined,
@@ -702,16 +605,13 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should read front matter only', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should read front matter only', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: test
---
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "",
"contentTitle": undefined,
@@ -721,10 +621,9 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should parse title only', () => {
- expect(parseMarkdownString('# test')).toMatchInlineSnapshot(`
+ });
+ test('should parse title only', () => {
+ expect((0, markdownParser_1.parseMarkdownString)('# test')).toMatchInlineSnapshot(`
Object {
"content": "# test",
"contentTitle": "test",
@@ -732,15 +631,12 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
-
- test('should parse title only alternate', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should parse title only alternate', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
test
===
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "test
===",
@@ -749,17 +645,14 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
-
- test('should warn about duplicate titles', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should warn about duplicate titles', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
---
title: Frontmatter title
---
# test
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "# test",
"contentTitle": "test",
@@ -769,15 +662,12 @@ describe('parseMarkdownString', () => {
},
}
`);
- });
-
- test('should ignore markdown title if its not a first text', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should ignore markdown title if its not a first text', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
foo
# test
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "foo
# test",
@@ -786,11 +676,9 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
-
- test('should delete only first heading', () => {
- expect(
- parseMarkdownString(dedent`
+ });
+ test('should delete only first heading', () => {
+ expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) `
# test
test test test test test test
@@ -798,8 +686,7 @@ describe('parseMarkdownString', () => {
# test2
### test
test3
- `),
- ).toMatchInlineSnapshot(`
+ `)).toMatchInlineSnapshot(`
Object {
"content": "# test
@@ -813,5 +700,5 @@ describe('parseMarkdownString', () => {
"frontMatter": Object {},
}
`);
- });
+ });
});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js
new file mode 100644
index 0000000..fb525f2
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js
@@ -0,0 +1,113 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const normalizeUrl_1 = require("../normalizeUrl");
+describe('normalizeUrl', () => {
+ test('should normalize urls correctly', () => {
+ const asserts = [
+ {
+ input: ['/', ''],
+ output: '/',
+ },
+ {
+ input: ['', '/'],
+ output: '/',
+ },
+ {
+ input: ['/'],
+ output: '/',
+ },
+ {
+ input: [''],
+ output: '',
+ },
+ {
+ input: ['/', '/'],
+ output: '/',
+ },
+ {
+ input: ['/', 'docs'],
+ output: '/docs',
+ },
+ {
+ input: ['/', 'docs', 'en', 'next', 'blog'],
+ output: '/docs/en/next/blog',
+ },
+ {
+ input: ['/test/', '/docs', 'ro', 'doc1'],
+ output: '/test/docs/ro/doc1',
+ },
+ {
+ input: ['/test/', '/', 'ro', 'doc1'],
+ output: '/test/ro/doc1',
+ },
+ {
+ input: ['/', '/', '2020/02/29/leap-day'],
+ output: '/2020/02/29/leap-day',
+ },
+ {
+ input: ['', '/', 'ko', 'hello'],
+ output: '/ko/hello',
+ },
+ {
+ input: ['hello', 'world'],
+ output: 'hello/world',
+ },
+ {
+ input: ['http://www.google.com/', 'foo/bar', '?test=123'],
+ output: 'http://www.google.com/foo/bar?test=123',
+ },
+ {
+ input: ['http:', 'www.google.com///', 'foo/bar', '?test=123'],
+ output: 'http://www.google.com/foo/bar?test=123',
+ },
+ {
+ input: ['http://foobar.com', '', 'test'],
+ output: 'http://foobar.com/test',
+ },
+ {
+ input: ['http://foobar.com', '', 'test', '/'],
+ output: 'http://foobar.com/test/',
+ },
+ {
+ input: ['/', '', 'hello', '', '/', '/', '', '/', '/world'],
+ output: '/hello/world',
+ },
+ {
+ input: ['', '', '/tt', 'ko', 'hello'],
+ output: '/tt/ko/hello',
+ },
+ {
+ input: ['', '///hello///', '', '///world'],
+ output: '/hello/world',
+ },
+ {
+ input: ['', '/hello/', ''],
+ output: '/hello/',
+ },
+ {
+ input: ['', '/', ''],
+ output: '/',
+ },
+ {
+ input: ['///', '///'],
+ output: '/',
+ },
+ {
+ input: ['/', '/hello/world/', '///'],
+ output: '/hello/world/',
+ },
+ ];
+ asserts.forEach((testCase) => {
+ expect((0, normalizeUrl_1.normalizeUrl)(testCase.input)).toBe(testCase.output);
+ });
+ expect(() =>
+ // @ts-expect-error undefined for test
+ (0, normalizeUrl_1.normalizeUrl)(['http:example.com', undefined])).toThrowErrorMatchingInlineSnapshot(`"Url must be a string. Received undefined"`);
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js
new file mode 100644
index 0000000..b2938e9
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js
@@ -0,0 +1,56 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const pathUtils_1 = require("../pathUtils");
+describe('pathUtils', () => {
+ test('isNameTooLong', () => {
+ const asserts = {
+ '': false,
+ 'foo-bar-096': false,
+ 'foo-bar-1df': false,
+ 'endi-lie-9fa': false,
+ 'endi-lie-fd3': false,
+ 'yangshun-tay-48d': false,
+ 'yangshun-tay-f3b': false,
+ 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-d46': true,
+ 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2-787': true,
+ };
+ Object.keys(asserts).forEach((path) => {
+ expect((0, pathUtils_1.isNameTooLong)(path)).toBe(asserts[path]);
+ });
+ });
+ describe('shortName', () => {
+ test('works', () => {
+ const asserts = {
+ '': '',
+ 'foo-bar': 'foo-bar',
+ 'endi-lie': 'endi-lie',
+ 'yangshun-tay': 'yangshun-tay',
+ 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-',
+ 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, pathUtils_1.shortName)(file)).toBe(asserts[file]);
+ });
+ });
+ // Based on https://github.com/gatsbyjs/gatsby/pull/21518/files
+ const SHORT_PATH = `/short/path/without/trailing/slash`;
+ const VERY_LONG_PATH = `/${`x`.repeat(256)}/`;
+ const VERY_LONG_PATH_NON_LATIN = `/${``.repeat(255)}/`;
+ it(`Truncates long paths correctly`, () => {
+ const truncatedPathLatin = (0, pathUtils_1.shortName)(VERY_LONG_PATH);
+ const truncatedPathNonLatin = (0, pathUtils_1.shortName)(VERY_LONG_PATH_NON_LATIN);
+ expect(truncatedPathLatin.length).toBeLessThanOrEqual(255);
+ expect(truncatedPathNonLatin.length).toBeLessThanOrEqual(255);
+ });
+ it(`Does not truncate short paths`, () => {
+ const truncatedPath = (0, pathUtils_1.shortName)(SHORT_PATH);
+ expect(truncatedPath).toEqual(SHORT_PATH);
+ });
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js
new file mode 100644
index 0000000..041c34e
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js
@@ -0,0 +1,25 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const posixPath_1 = require("../posixPath");
+describe('posixPath', () => {
+ test('posixPath works', () => {
+ const asserts = {
+ 'c:/aaaa\\bbbb': 'c:/aaaa/bbbb',
+ 'c:\\aaaa\\bbbb\\★': 'c:\\aaaa\\bbbb\\★',
+ '\\\\?\\c:\\aaaa\\bbbb': '\\\\?\\c:\\aaaa\\bbbb',
+ 'c:\\aaaa\\bbbb': 'c:/aaaa/bbbb',
+ 'foo\\bar': 'foo/bar',
+ 'foo\\bar/lol': 'foo/bar/lol',
+ 'website\\docs/**/*.{md,mdx}': 'website/docs/**/*.{md,mdx}',
+ };
+ Object.keys(asserts).forEach((file) => {
+ expect((0, posixPath_1.posixPath)(file)).toBe(asserts[file]);
+ });
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts
new file mode 100644
index 0000000..027eb80
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export {};
diff --git a/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js
new file mode 100644
index 0000000..b8ef81e
--- /dev/null
+++ b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js
@@ -0,0 +1,151 @@
+"use strict";
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const tags_1 = require("../tags");
+describe('normalizeFrontMatterTag', () => {
+ test('should normalize simple string tag', () => {
+ const tagsPath = '/all/tags';
+ const input = 'tag';
+ const expectedOutput = {
+ label: 'tag',
+ permalink: `${tagsPath}/tag`,
+ };
+ expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput);
+ });
+ test('should normalize complex string tag', () => {
+ const tagsPath = '/all/tags';
+ const input = 'some more Complex_tag';
+ const expectedOutput = {
+ label: 'some more Complex_tag',
+ permalink: `${tagsPath}/some-more-complex-tag`,
+ };
+ expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput);
+ });
+ test('should normalize simple object tag', () => {
+ const tagsPath = '/all/tags';
+ const input = { label: 'tag', permalink: 'tagPermalink' };
+ const expectedOutput = {
+ label: 'tag',
+ permalink: `${tagsPath}/tagPermalink`,
+ };
+ expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput);
+ });
+ test('should normalize complex string tag', () => {
+ const tagsPath = '/all/tags';
+ const input = {
+ label: 'tag complex Label',
+ permalink: '/MoreComplex/Permalink',
+ };
+ const expectedOutput = {
+ label: 'tag complex Label',
+ permalink: `${tagsPath}/MoreComplex/Permalink`,
+ };
+ expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput);
+ });
+});
+describe('normalizeFrontMatterTags', () => {
+ test('should normalize string list', () => {
+ const tagsPath = '/all/tags';
+ const input = ['tag 1', 'tag-1', 'tag 3', 'tag1', 'tag-2'];
+ // Keep user input order but remove tags that lead to same permalink
+ const expectedOutput = [
+ {
+ label: 'tag 1',
+ permalink: `${tagsPath}/tag-1`,
+ },
+ {
+ label: 'tag 3',
+ permalink: `${tagsPath}/tag-3`,
+ },
+ {
+ label: 'tag-2',
+ permalink: `${tagsPath}/tag-2`,
+ },
+ ];
+ expect((0, tags_1.normalizeFrontMatterTags)(tagsPath, input)).toEqual(expectedOutput);
+ });
+ test('should normalize complex mixed list', () => {
+ const tagsPath = '/all/tags';
+ const input = [
+ 'tag 1',
+ { label: 'tag-1', permalink: '/tag-1' },
+ 'tag 3',
+ 'tag1',
+ { label: 'tag 4', permalink: '/tag4Permalink' },
+ ];
+ // Keep user input order but remove tags that lead to same permalink
+ const expectedOutput = [
+ {
+ label: 'tag 1',
+ permalink: `${tagsPath}/tag-1`,
+ },
+ {
+ label: 'tag 3',
+ permalink: `${tagsPath}/tag-3`,
+ },
+ {
+ label: 'tag 4',
+ permalink: `${tagsPath}/tag4Permalink`,
+ },
+ ];
+ expect((0, tags_1.normalizeFrontMatterTags)(tagsPath, input)).toEqual(expectedOutput);
+ });
+});
+describe('groupTaggedItems', () => {
+ function groupItems(items) {
+ return (0, tags_1.groupTaggedItems)(items, (item) => item.nested.tags);
+ }
+ test('should group items by tag permalink', () => {
+ const tagGuide = { label: 'Guide', permalink: '/guide' };
+ const tagTutorial = { label: 'Tutorial', permalink: '/tutorial' };
+ const tagAPI = { label: 'API', permalink: '/api' };
+ // This one will be grouped under same permalink and label is ignored
+ const tagTutorialOtherLabel = {
+ label: 'TutorialOtherLabel',
+ permalink: '/tutorial',
+ };
+ const item1 = {
+ id: '1',
+ nested: {
+ tags: [
+ tagGuide,
+ tagTutorial,
+ tagAPI,
+ // Add some duplicates on purpose: they should be filtered
+ tagGuide,
+ tagTutorialOtherLabel,
+ ],
+ },
+ };
+ const item2 = {
+ id: '2',
+ nested: {
+ tags: [tagAPI],
+ },
+ };
+ const item3 = {
+ id: '3',
+ nested: {
+ tags: [tagTutorial],
+ },
+ };
+ const item4 = {
+ id: '4',
+ nested: {
+ tags: [tagTutorialOtherLabel],
+ },
+ };
+ const input = [item1, item2, item3, item4];
+ const expectedOutput = {
+ '/guide': { tag: tagGuide, items: [item1] },
+ '/tutorial': { tag: tagTutorial, items: [item1, item3, item4] },
+ '/api': { tag: tagAPI, items: [item1, item2] },
+ };
+ expect(groupItems(input)).toEqual(expectedOutput);
+ });
+});
diff --git a/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js b/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js
index 558ae6a..3070be1 100644
--- a/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js
+++ b/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js
@@ -5,14 +5,15 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.readDefaultCodeTranslationMessages = exports.codeTranslationLocalesToTry = void 0;
-const tslib_1 = require("tslib");
-const path_1 = tslib_1.__importDefault(require("path"));
-const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
+const path_1 = __importDefault(require("path"));
+const fs_extra_1 = __importDefault(require("fs-extra"));
// Return an ordered list of locales we should try
function codeTranslationLocalesToTry(locale) {
- // @ts-expect-error: TODO until available in TS, see https://github.com/microsoft/TypeScript/issues/37326
const intlLocale = Intl.Locale ? new Intl.Locale(locale) : undefined;
if (!intlLocale) {
return [locale];
diff --git a/node_modules/@docusaurus/utils/lib/globUtils.js b/node_modules/@docusaurus/utils/lib/globUtils.js
index 7146019..cdf3b02 100644
--- a/node_modules/@docusaurus/utils/lib/globUtils.js
+++ b/node_modules/@docusaurus/utils/lib/globUtils.js
@@ -5,14 +5,16 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = void 0;
-const tslib_1 = require("tslib");
// Globby/Micromatch are the 2 libs we use in Docusaurus consistently
var globby_1 = require("globby");
-Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return tslib_1.__importDefault(globby_1).default; } });
-const micromatch_1 = tslib_1.__importDefault(require("micromatch")); // Note: Micromatch is used by Globby
-const path_1 = tslib_1.__importDefault(require("path"));
+Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return __importDefault(globby_1).default; } });
+const micromatch_1 = __importDefault(require("micromatch")); // Note: Micromatch is used by Globby
+const path_1 = __importDefault(require("path"));
// The default patterns we ignore when globbing
// using _ prefix for exclusion by convention
exports.GlobExcludeDefault = [
diff --git a/node_modules/@docusaurus/utils/lib/hashUtils.js b/node_modules/@docusaurus/utils/lib/hashUtils.js
index f1c4be6..e6ffbbf 100644
--- a/node_modules/@docusaurus/utils/lib/hashUtils.js
+++ b/node_modules/@docusaurus/utils/lib/hashUtils.js
@@ -11,7 +11,7 @@ const crypto_1 = require("crypto");
const lodash_1 = require("lodash");
const pathUtils_1 = require("./pathUtils");
function md5Hash(str) {
- return crypto_1.createHash('md5').update(str).digest('hex');
+ return (0, crypto_1.createHash)('md5').update(str).digest('hex');
}
exports.md5Hash = md5Hash;
function simpleHash(str, length) {
@@ -30,9 +30,9 @@ function docuHash(str) {
return 'index';
}
const shortHash = simpleHash(str, 3);
- const parsedPath = `${lodash_1.kebabCase(str)}-${shortHash}`;
- if (pathUtils_1.isNameTooLong(parsedPath)) {
- return `${pathUtils_1.shortName(lodash_1.kebabCase(str))}-${shortHash}`;
+ const parsedPath = `${(0, lodash_1.kebabCase)(str)}-${shortHash}`;
+ if ((0, pathUtils_1.isNameTooLong)(parsedPath)) {
+ return `${(0, pathUtils_1.shortName)((0, lodash_1.kebabCase)(str))}-${shortHash}`;
}
return parsedPath;
}
diff --git a/node_modules/@docusaurus/utils/lib/index.js b/node_modules/@docusaurus/utils/lib/index.js
index 0f251b4..b82d65e 100644
--- a/node_modules/@docusaurus/utils/lib/index.js
+++ b/node_modules/@docusaurus/utils/lib/index.js
@@ -5,28 +5,43 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseMarkdownHeadingId = exports.updateTranslationFileMessages = exports.getSwizzledComponent = exports.mergeTranslations = exports.reportMessage = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.findAsyncSequential = exports.mapAsyncSequencial = exports.getPluginI18nPath = exports.getElementsAround = exports.removePrefix = exports.removeSuffix = exports.removeTrailingSlash = exports.addTrailingSlash = exports.addTrailingPathSeparator = exports.addLeadingSlash = exports.resolvePathname = exports.isValidPathname = exports.getEditUrl = exports.aliasedSitePath = exports.getSubFolder = exports.idx = exports.genChunkName = exports.toMessageRelativeFilePath = exports.genComponentName = exports.upperFirst = exports.encodePath = exports.fileToPath = exports.objectWithKeySorted = exports.generate = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.posixPath = void 0;
-const tslib_1 = require("tslib");
-const chalk_1 = tslib_1.__importDefault(require("chalk"));
-const path_1 = tslib_1.__importDefault(require("path"));
+const chalk_1 = __importDefault(require("chalk"));
+const path_1 = __importDefault(require("path"));
const crypto_1 = require("crypto");
const lodash_1 = require("lodash");
-const escape_string_regexp_1 = tslib_1.__importDefault(require("escape-string-regexp"));
-const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
+const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
+const fs_extra_1 = __importDefault(require("fs-extra"));
const url_1 = require("url");
-// @ts-expect-error: no typedefs :s
-const resolve_pathname_1 = tslib_1.__importDefault(require("resolve-pathname"));
+const resolve_pathname_1 = __importDefault(require("resolve-pathname"));
const posixPath_1 = require("./posixPath");
const hashUtils_1 = require("./hashUtils");
const normalizeUrl_1 = require("./normalizeUrl");
-tslib_1.__exportStar(require("./normalizeUrl"), exports);
-tslib_1.__exportStar(require("./tags"), exports);
+__exportStar(require("./normalizeUrl"), exports);
+__exportStar(require("./tags"), exports);
exports.posixPath = posixPath_1.posixPath;
-tslib_1.__exportStar(require("./codeTranslationsUtils"), exports);
-tslib_1.__exportStar(require("./markdownParser"), exports);
-tslib_1.__exportStar(require("./markdownLinks"), exports);
-tslib_1.__exportStar(require("./escapePath"), exports);
+__exportStar(require("./codeTranslationsUtils"), exports);
+__exportStar(require("./markdownParser"), exports);
+__exportStar(require("./markdownLinks"), exports);
+__exportStar(require("./escapePath"), exports);
var hashUtils_2 = require("./hashUtils");
Object.defineProperty(exports, "md5Hash", { enumerable: true, get: function () { return hashUtils_2.md5Hash; } });
Object.defineProperty(exports, "simpleHash", { enumerable: true, get: function () { return hashUtils_2.simpleHash; } });
@@ -50,10 +65,10 @@ async function generate(generatedFilesDir, file, content, skipCache = process.en
// This is to avoid unnecessary overwriting and we can reuse old file.
if (!lastHash && fs_extra_1.default.existsSync(filepath)) {
const lastContent = await fs_extra_1.default.readFile(filepath, 'utf8');
- lastHash = crypto_1.createHash('md5').update(lastContent).digest('hex');
+ lastHash = (0, crypto_1.createHash)('md5').update(lastContent).digest('hex');
fileHash.set(filepath, lastHash);
}
- const currentHash = crypto_1.createHash('md5').update(content).digest('hex');
+ const currentHash = (0, crypto_1.createHash)('md5').update(content).digest('hex');
if (lastHash !== currentHash) {
await fs_extra_1.default.ensureDir(path_1.default.dirname(filepath));
await fs_extra_1.default.writeFile(filepath, content);
@@ -107,8 +122,8 @@ function genComponentName(pagePath) {
if (pagePath === '/') {
return 'index';
}
- const pageHash = hashUtils_1.docuHash(pagePath);
- return upperFirst(lodash_1.camelCase(pageHash));
+ const pageHash = (0, hashUtils_1.docuHash)(pagePath);
+ return upperFirst((0, lodash_1.camelCase)(pageHash));
}
exports.genComponentName = genComponentName;
// When you want to display a path in a message/warning/error,
@@ -119,7 +134,7 @@ exports.genComponentName = genComponentName;
// on both Unix/Windows
// For Windows users this is not perfect (as they see / instead of \) but it's probably good enough
function toMessageRelativeFilePath(filePath) {
- return exports.posixPath(path_1.default.relative(process.cwd(), filePath));
+ return (0, exports.posixPath)(path_1.default.relative(process.cwd(), filePath));
}
exports.toMessageRelativeFilePath = toMessageRelativeFilePath;
const chunkNameCache = new Map();
@@ -130,15 +145,15 @@ function genChunkName(modulePath, prefix, preferredName, shortId = process.env.N
let chunkName = chunkNameCache.get(modulePath);
if (!chunkName) {
if (shortId) {
- chunkName = hashUtils_1.simpleHash(modulePath, 8);
+ chunkName = (0, hashUtils_1.simpleHash)(modulePath, 8);
}
else {
let str = modulePath;
if (preferredName) {
- const shortHash = hashUtils_1.simpleHash(modulePath, 3);
+ const shortHash = (0, hashUtils_1.simpleHash)(modulePath, 3);
str = `${preferredName}${shortHash}`;
}
- const name = str === '/' ? 'index' : hashUtils_1.docuHash(str);
+ const name = str === '/' ? 'index' : (0, hashUtils_1.docuHash)(str);
chunkName = prefix ? `${prefix}---${name}` : name;
}
chunkNameCache.set(modulePath, chunkName);
@@ -160,8 +175,8 @@ exports.idx = idx;
* Given a filepath and dirpath, get the first directory.
*/
function getSubFolder(file, refDir) {
- const separator = escape_string_regexp_1.default(path_1.default.sep);
- const baseDir = escape_string_regexp_1.default(path_1.default.basename(refDir));
+ const separator = (0, escape_string_regexp_1.default)(path_1.default.sep);
+ const baseDir = (0, escape_string_regexp_1.default)(path_1.default.basename(refDir));
const regexSubFolder = new RegExp(`${baseDir}${separator}(.*?)${separator}.*`);
const match = regexSubFolder.exec(file);
return match && match[1];
@@ -173,7 +188,7 @@ exports.getSubFolder = getSubFolder;
* Example: some/path/to/website/docs/foo.md -> @site/docs/foo.md
*/
function aliasedSitePath(filePath, siteDir) {
- const relativePath = exports.posixPath(path_1.default.relative(siteDir, filePath));
+ const relativePath = (0, exports.posixPath)(path_1.default.relative(siteDir, filePath));
// Cannot use path.join() as it resolves '../' and removes
// the '@site'. Let webpack loader resolve it.
return `@site/${relativePath}`;
@@ -181,7 +196,7 @@ function aliasedSitePath(filePath, siteDir) {
exports.aliasedSitePath = aliasedSitePath;
function getEditUrl(fileRelativePath, editUrl) {
return editUrl
- ? normalizeUrl_1.normalizeUrl([editUrl, exports.posixPath(fileRelativePath)])
+ ? (0, normalizeUrl_1.normalizeUrl)([editUrl, (0, exports.posixPath)(fileRelativePath)])
: undefined;
}
exports.getEditUrl = getEditUrl;
@@ -201,7 +216,7 @@ function isValidPathname(str) {
exports.isValidPathname = isValidPathname;
// resolve pathname and fail fast if resolution fails
function resolvePathname(to, from) {
- return resolve_pathname_1.default(to, from);
+ return (0, resolve_pathname_1.default)(to, from);
}
exports.resolvePathname = resolvePathname;
function addLeadingSlash(str) {
@@ -329,7 +344,7 @@ exports.getSwizzledComponent = getSwizzledComponent;
function updateTranslationFileMessages(translationFile, updateMessage) {
return {
...translationFile,
- content: lodash_1.mapValues(translationFile.content, (translation) => ({
+ content: (0, lodash_1.mapValues)(translationFile.content, (translation) => ({
...translation,
message: updateMessage(translation.message),
})),
diff --git a/node_modules/@docusaurus/utils/lib/markdownLinks.js b/node_modules/@docusaurus/utils/lib/markdownLinks.js
index 10e3e2b..c1781a2 100644
--- a/node_modules/@docusaurus/utils/lib/markdownLinks.js
+++ b/node_modules/@docusaurus/utils/lib/markdownLinks.js
@@ -5,10 +5,12 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceMarkdownLinks = void 0;
-const tslib_1 = require("tslib");
-const path_1 = tslib_1.__importDefault(require("path"));
+const path_1 = __importDefault(require("path"));
const index_1 = require("./index");
function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sourceToPermalink, }) {
const { contentPath, contentPathLocalized } = contentPaths;
@@ -37,7 +39,7 @@ function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sou
`${contentPath}/${decodeURIComponent(mdLink)}`,
];
const aliasedSourceMatch = sourcesToTry
- .map((source) => index_1.aliasedSitePath(source, siteDir))
+ .map((source) => (0, index_1.aliasedSitePath)(source, siteDir))
.find((source) => sourceToPermalink[source]);
const permalink = aliasedSourceMatch
? sourceToPermalink[aliasedSourceMatch]
diff --git a/node_modules/@docusaurus/utils/lib/markdownParser.d.ts b/node_modules/@docusaurus/utils/lib/markdownParser.d.ts
index 37561bc..fe87e3c 100644
--- a/node_modules/@docusaurus/utils/lib/markdownParser.d.ts
+++ b/node_modules/@docusaurus/utils/lib/markdownParser.d.ts
@@ -1,17 +1,18 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-export declare function createExcerpt(fileString: string): string | undefined;
+import type { Plugin } from 'unified';
+export declare function parseMarkdownHeadingId(heading: string): {
+ text: string;
+ id?: string;
+};
+declare type MarkdownParserOptions = {
+ remarkPlugins?: Plugin[];
+ removeContentTitle?: boolean;
+};
+export declare function createExcerpt(fileString: string, options?: MarkdownParserOptions): string | undefined;
export declare function parseFrontMatter(markdownFileContent: string): {
frontMatter: Record<string, unknown>;
content: string;
};
-export declare function parseMarkdownContentTitle(contentUntrimmed: string, options?: {
- removeContentTitle?: boolean;
-}): {
+export declare function parseMarkdownContentTitle(contentUntrimmed: string, options?: MarkdownParserOptions): {
content: string;
contentTitle: string | undefined;
};
@@ -21,10 +22,5 @@ declare type ParsedMarkdown = {
contentTitle: string | undefined;
excerpt: string | undefined;
};
-export declare function parseMarkdownString(markdownFileContent: string, options?: {
- removeContentTitle?: boolean;
-}): ParsedMarkdown;
-export declare function parseMarkdownFile(source: string, options?: {
- removeContentTitle?: boolean;
-}): Promise<ParsedMarkdown>;
+export declare function parseMarkdownString(markdownFileContent: string, options?: MarkdownParserOptions): ParsedMarkdown;
export {};
diff --git a/node_modules/@docusaurus/utils/lib/markdownParser.js b/node_modules/@docusaurus/utils/lib/markdownParser.js
index 42834cf..06f48bb 100644
--- a/node_modules/@docusaurus/utils/lib/markdownParser.js
+++ b/node_modules/@docusaurus/utils/lib/markdownParser.js
@@ -1,119 +1,115 @@
"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = exports.parseMarkdownHeadingId = void 0;
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.parseMarkdownFile = exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = void 0;
-const tslib_1 = require("tslib");
-const chalk_1 = tslib_1.__importDefault(require("chalk"));
-const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
-const gray_matter_1 = tslib_1.__importDefault(require("gray-matter"));
-// Hacky way of stripping out import statements from the excerpt
-// TODO: Find a better way to do so, possibly by compiling the Markdown content,
-// stripping out HTML tags and obtaining the first line.
-function createExcerpt(fileString) {
- const fileLines = fileString
- .trimLeft()
- // Remove Markdown alternate title
- .replace(/^[^\n]*\n[=]+/g, '')
- .split('\n');
- /* eslint-disable no-continue */
- // eslint-disable-next-line no-restricted-syntax
- for (const fileLine of fileLines) {
- // Skip empty line.
- if (!fileLine.trim()) {
- continue;
+const logger_1 = __importDefault(require("@docusaurus/logger"));
+const gray_matter_1 = __importDefault(require("gray-matter"));
+const remark_1 = __importDefault(require("remark"));
+const remark_mdx_1 = __importDefault(require("remark-mdx"));
+const unist_util_visit_1 = __importDefault(require("unist-util-visit"));
+const isImage = (node) => node.type === 'image';
+const isHeading = (node) => node.type === 'heading';
+const isParagraph = (node) => node.type === 'paragraph';
+const isText = (node) => node.type === 'text';
+// Input: ## Some heading {#some-heading}
+// Output: {text: "## Some heading", id: "some-heading"}
+function parseMarkdownHeadingId(heading) {
+ const customHeadingIdRegex = /^(.*?)\s*\{#([\w-]+)\}$/;
+ const matches = customHeadingIdRegex.exec(heading);
+ if (matches) {
+ return {
+ text: matches[1],
+ id: matches[2],
+ };
+ }
+ else {
+ return { text: heading, id: undefined };
+ }
+}
+exports.parseMarkdownHeadingId = parseMarkdownHeadingId;
+function toText(node) {
+ let excerpt = '';
+ (0, unist_util_visit_1.default)(node, ['text', 'inlineCode'], (child, index, parent) => {
+ if (parent?.type !== 'linkReference') {
+ excerpt += child.value;
+ }
+ });
+ return excerpt;
+}
+const remarkParser = (0, remark_1.default)().use(remark_mdx_1.default);
+function createExcerpt(fileString, options = { remarkPlugins: [] }) {
+ const mdast = (0, remark_1.default)().use(remark_mdx_1.default).use(options.remarkPlugins).parse(fileString);
+ let excerpt = '';
+ (0, unist_util_visit_1.default)(mdast, ['paragraph', 'heading', 'image'], (node) => {
+ const isAdmonitionFence = isParagraph(node) &&
+ isText(node.children[0]) &&
+ node.children[0].value.startsWith(':::');
+ const isMainHeading = isHeading(node) && node.depth === 1;
+ if (isAdmonitionFence || isMainHeading) {
+ return true;
}
- // Skip import/export declaration.
- if (/^\s*?import\s.*(from.*)?;?|export\s.*{.*};?/.test(fileLine)) {
- continue;
+ if (isImage(node)) {
+ if (node.alt) {
+ excerpt = node.alt;
+ // Already obtained the excerpt; stop traversal
+ return false;
+ }
}
- const cleanedLine = fileLine
- // Remove HTML tags.
- .replace(/<[^>]*>/g, '')
- // Remove Title headers
- .replace(/^#\s*([^#]*)\s*#?/gm, '')
- // Remove Markdown + ATX-style headers
- .replace(/^#{1,6}\s*([^#]*)\s*(#{1,6})?/gm, '$1')
- // Remove emphasis and strikethroughs.
- .replace(/([*_~]{1,3})(\S.*?\S{0,1})\1/g, '$2')
- // Remove images.
- .replace(/!\[(.*?)\][[(].*?[\])]/g, '$1')
- // Remove footnotes.
- .replace(/\[\^.+?\](: .*?$)?/g, '')
- // Remove inline links.
- .replace(/\[(.*?)\][[(].*?[\])]/g, '$1')
- // Remove inline code.
- .replace(/`(.+?)`/g, '$1')
- // Remove blockquotes.
- .replace(/^\s{0,3}>\s?/g, '')
- // Remove admonition definition.
- .replace(/(:{3}.*)/, '')
- // Remove Emoji names within colons include preceding whitespace.
- .replace(/\s?(:(::|[^:\n])+:)/g, '')
- // Remove custom Markdown heading id.
- .replace(/{#*[\w-]+}/, '')
- .trim();
- if (cleanedLine) {
- return cleanedLine;
+ else if (isParagraph(node)) {
+ excerpt = toText(node);
+ if (excerpt) {
+ return false;
+ }
}
- }
- return undefined;
+ return true;
+ });
+ return excerpt || undefined;
}
exports.createExcerpt = createExcerpt;
function parseFrontMatter(markdownFileContent) {
- var _a;
- const { data, content } = gray_matter_1.default(markdownFileContent);
+ const { data, content } = (0, gray_matter_1.default)(markdownFileContent);
return {
- frontMatter: data !== null && data !== void 0 ? data : {},
- content: (_a = content === null || content === void 0 ? void 0 : content.trim()) !== null && _a !== void 0 ? _a : '',
+ frontMatter: data,
+ content: content.trim(),
};
}
exports.parseFrontMatter = parseFrontMatter;
-// Try to convert markdown heading as text
-// Does not need to be perfect, it is only used as a fallback when frontMatter.title is not provided
-// For now, we just unwrap possible inline code blocks (# `config.js`)
-function toTextContentTitle(contentTitle) {
- if (contentTitle.startsWith('`') && contentTitle.endsWith('`')) {
- return contentTitle.substring(1, contentTitle.length - 1);
- }
- return contentTitle;
-}
-function parseMarkdownContentTitle(contentUntrimmed, options) {
- var _a, _b;
- const removeContentTitleOption = (_a = options === null || options === void 0 ? void 0 : options.removeContentTitle) !== null && _a !== void 0 ? _a : false;
- const content = contentUntrimmed.trim();
- const IMPORT_STATEMENT = /import\s+(([\w*{}\s\n,]+)from\s+)?["'\s]([@\w/_.-]+)["'\s];?|\n/
- .source;
- const REGULAR_TITLE = /(?<pattern>#\s*(?<title>[^#\n{]*)+[ \t]*(?<suffix>({#*[\w-]+})|#)?\n*?)/
- .source;
- const ALTERNATE_TITLE = /(?<pattern>\s*(?<title>[^\n]*)\s*\n[=]+)/.source;
- const regularTitleMatch = new RegExp(`^(?:${IMPORT_STATEMENT})*?${REGULAR_TITLE}`, 'g').exec(content);
- const alternateTitleMatch = new RegExp(`^(?:${IMPORT_STATEMENT})*?${ALTERNATE_TITLE}`, 'g').exec(content);
- const titleMatch = regularTitleMatch !== null && regularTitleMatch !== void 0 ? regularTitleMatch : alternateTitleMatch;
- const { pattern, title } = (_b = titleMatch === null || titleMatch === void 0 ? void 0 : titleMatch.groups) !== null && _b !== void 0 ? _b : {};
- if (!pattern || !title) {
- return { content, contentTitle: undefined };
- }
- else {
- const newContent = removeContentTitleOption
- ? content.replace(pattern, '')
- : content;
- return {
- content: newContent.trim(),
- contentTitle: toTextContentTitle(title.trim()).trim(),
- };
+function parseMarkdownContentTitle(contentUntrimmed, options = {
+ removeContentTitle: false,
+ remarkPlugins: [],
+}) {
+ const { removeContentTitle = false } = options;
+ let content = contentUntrimmed.trim();
+ const mdast = remarkParser.parse(content);
+ let contentTitle;
+ const firstConcreteNode = mdast?.children.find((child) => child.type !== 'import' && child.type !== 'export');
+ if (firstConcreteNode &&
+ isHeading(firstConcreteNode) &&
+ firstConcreteNode.depth === 1) {
+ contentTitle = parseMarkdownHeadingId(toText(firstConcreteNode)).text;
+ if (removeContentTitle) {
+ const { start: { line: startLine }, end: { line: endLine }, } = firstConcreteNode.position;
+ const lines = content.split('\n');
+ lines.splice(startLine - 1, endLine - startLine + 1);
+ content = lines.join('\n');
+ }
}
+ return { content: content.trim(), contentTitle };
}
exports.parseMarkdownContentTitle = parseMarkdownContentTitle;
function parseMarkdownString(markdownFileContent, options) {
try {
const { frontMatter, content: contentWithoutFrontMatter } = parseFrontMatter(markdownFileContent);
const { content, contentTitle } = parseMarkdownContentTitle(contentWithoutFrontMatter, options);
- const excerpt = createExcerpt(content);
+ const excerpt = createExcerpt(content, options);
return {
frontMatter,
content,
@@ -122,19 +118,9 @@ function parseMarkdownString(markdownFileContent, options) {
};
}
catch (e) {
- console.error(chalk_1.default.red(`Error while parsing Markdown frontmatter.
-This can happen if you use special characters in frontmatter values (try using double quotes around that value).`));
+ logger_1.default.error(`Error while parsing Markdown front matter.
+ This can happen if you use special characters in front matter values (try using double quotes around that value).`);
throw e;
}
}
exports.parseMarkdownString = parseMarkdownString;
-async function parseMarkdownFile(source, options) {
- const markdownString = await fs_extra_1.default.readFile(source, 'utf-8');
- try {
- return parseMarkdownString(markdownString, options);
- }
- catch (e) {
- throw new Error(`Error while parsing Markdown file ${source}: "${e.message}".`);
- }
-}
-exports.parseMarkdownFile = parseMarkdownFile;
diff --git a/node_modules/@docusaurus/utils/lib/tags.js b/node_modules/@docusaurus/utils/lib/tags.js
index 02583ee..88b0578 100644
--- a/node_modules/@docusaurus/utils/lib/tags.js
+++ b/node_modules/@docusaurus/utils/lib/tags.js
@@ -13,7 +13,7 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) {
function toTagObject(tagString) {
return {
label: tagString,
- permalink: lodash_1.kebabCase(tagString),
+ permalink: (0, lodash_1.kebabCase)(tagString),
};
}
// TODO maybe make ensure the permalink is valid url path?
@@ -21,7 +21,7 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) {
// note: we always apply tagsPath on purpose
// for versioned docs, v1/doc.md and v2/doc.md tags with custom permalinks don't lead to the same created page
// tagsPath is different for each doc version
- return normalizeUrl_1.normalizeUrl([tagsPath, permalink]);
+ return (0, normalizeUrl_1.normalizeUrl)([tagsPath, permalink]);
}
const tag = typeof frontMatterTag === 'string'
? toTagObject(frontMatterTag)
@@ -33,9 +33,8 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) {
}
exports.normalizeFrontMatterTag = normalizeFrontMatterTag;
function normalizeFrontMatterTags(tagsPath, frontMatterTags) {
- var _a;
- const tags = (_a = frontMatterTags === null || frontMatterTags === void 0 ? void 0 : frontMatterTags.map((tag) => normalizeFrontMatterTag(tagsPath, tag))) !== null && _a !== void 0 ? _a : [];
- return lodash_1.uniqBy(tags, (tag) => tag.permalink);
+ const tags = frontMatterTags?.map((tag) => normalizeFrontMatterTag(tagsPath, tag)) ?? [];
+ return (0, lodash_1.uniqBy)(tags, (tag) => tag.permalink);
}
exports.normalizeFrontMatterTags = normalizeFrontMatterTags;
// Permits to group docs/blogPosts by tag (provided by FrontMatter)
@@ -46,11 +45,10 @@ exports.normalizeFrontMatterTags = normalizeFrontMatterTags;
function groupTaggedItems(items, getItemTags) {
const result = {};
function handleItemTag(item, tag) {
- var _a;
// Init missing tag groups
// TODO: it's not really clear what should be the behavior if 2 items have the same tag but the permalink is different for each
// For now, the first tag found wins
- result[tag.permalink] = (_a = result[tag.permalink]) !== null && _a !== void 0 ? _a : {
+ result[tag.permalink] = result[tag.permalink] ?? {
tag,
items: [],
};
@@ -65,7 +63,7 @@ function groupTaggedItems(items, getItemTags) {
// If user add twice the same tag to a md doc (weird but possible),
// we don't want the item to appear twice in the list...
Object.values(result).forEach((group) => {
- group.items = lodash_1.uniq(group.items);
+ group.items = (0, lodash_1.uniq)(group.items);
});
return result;
}
diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json
deleted file mode 100644
index e0bfbb2..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "id1": "message 1 en",
- "id2": "message 2 en"
-}
diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json
deleted file mode 100644
index d6b796f..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "id1": "message 1 fr_FR",
- "id2": "message 2 fr_FR",
- "id3": "message 3 fr_FR"
-}
diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json
deleted file mode 100644
index 30a174f..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "id1": "message 1 fr",
- "id2": "message 2 fr"
-}
diff --git a/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap b/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap
deleted file mode 100644
index 0ef40ce..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap
+++ /dev/null
@@ -1,8 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`getFolderContainingFile throw if no folder contain such file 1`] = `
-"File \\"index.test.ts\\" does not exist in any of these folders:
-- /abcdef
-- /gehij
-- /klmn]"
-`;
diff --git a/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts
deleted file mode 100644
index ffb7b0b..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-import path from 'path';
-import fs from 'fs-extra';
-import {
- codeTranslationLocalesToTry,
- readDefaultCodeTranslationMessages,
-} from '../codeTranslationsUtils';
-
-describe('codeTranslationLocalesToTry', () => {
- test('should return appropriate locale lists', () => {
- expect(codeTranslationLocalesToTry('fr')).toEqual(['fr', 'fr-FR']);
- expect(codeTranslationLocalesToTry('fr-FR')).toEqual(['fr-FR', 'fr']);
- // Note: "pt" is expanded into "pt-BR", not "pt-PT", as "pt-BR" is more widely used!
- // See https://github.com/facebook/docusaurus/pull/4536#issuecomment-810088783
- expect(codeTranslationLocalesToTry('pt')).toEqual(['pt', 'pt-BR']);
- expect(codeTranslationLocalesToTry('pt-BR')).toEqual(['pt-BR', 'pt']);
- expect(codeTranslationLocalesToTry('pt-PT')).toEqual(['pt-PT', 'pt']);
- });
-});
-
-describe('readDefaultCodeTranslationMessages', () => {
- const dirPath = path.resolve(
- __dirname,
- '__fixtures__',
- 'defaultCodeTranslations',
- );
-
- async function readAsJSON(filename: string) {
- return JSON.parse(
- await fs.readFile(path.resolve(dirPath, filename), 'utf8'),
- );
- }
-
- test('for empty locale', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: '',
- dirPath,
- }),
- ).rejects.toThrowErrorMatchingInlineSnapshot(
- `"First argument to Intl.Locale constructor can't be empty or missing"`,
- );
- });
-
- test('for unexisting locale', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'es',
- dirPath,
- }),
- ).resolves.toEqual({});
- });
-
- test('for fr but bad folder', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'fr',
- dirPath: __dirname,
- }),
- ).resolves.toEqual({});
- });
-
- test('for fr', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'fr',
- dirPath,
- }),
- ).resolves.toEqual(await readAsJSON('fr.json'));
- });
-
- test('for fr-FR', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'fr-FR',
- dirPath,
- }),
- ).resolves.toEqual(await readAsJSON('fr-FR.json'));
- });
-
- test('for en', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'en',
- dirPath,
- }),
- ).resolves.toEqual(await readAsJSON('en.json'));
- });
-
- test('for en-US', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'en-US',
- dirPath,
- }),
- ).resolves.toEqual(await readAsJSON('en.json'));
- });
-
- test('for en-WHATEVER', async () => {
- await expect(
- readDefaultCodeTranslationMessages({
- locale: 'en-WHATEVER',
- dirPath,
- }),
- ).resolves.toEqual(await readAsJSON('en.json'));
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts b/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts
deleted file mode 100644
index 4a9e467..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {escapePath} from '../escapePath';
-
-describe('escapePath', () => {
- test('escapePath works', () => {
- const asserts: Record<string, string> = {
- 'c:/aaaa\\bbbb': 'c:/aaaa\\\\bbbb',
- 'c:\\aaaa\\bbbb\\★': 'c:\\\\aaaa\\\\bbbb\\\\★',
- '\\\\?\\c:\\aaaa\\bbbb': '\\\\\\\\?\\\\c:\\\\aaaa\\\\bbbb',
- 'c:\\aaaa\\bbbb': 'c:\\\\aaaa\\\\bbbb',
- 'foo\\bar': 'foo\\\\bar',
- 'foo\\bar/lol': 'foo\\\\bar/lol',
- 'website\\docs/**/*.{md,mdx}': 'website\\\\docs/**/*.{md,mdx}',
- };
- Object.keys(asserts).forEach((file) => {
- expect(escapePath(file)).toBe(asserts[file]);
- });
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts
deleted file mode 100644
index 95555e0..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {
- GlobExcludeDefault,
- createMatcher,
- createAbsoluteFilePathMatcher,
-} from '../globUtils';
-
-describe('createMatcher', () => {
- const matcher = createMatcher(GlobExcludeDefault);
-
- test('match default exclude MD/MDX partials correctly', () => {
- expect(matcher('doc.md')).toEqual(false);
- expect(matcher('category/doc.md')).toEqual(false);
- expect(matcher('category/subcategory/doc.md')).toEqual(false);
- //
- expect(matcher('doc.mdx')).toEqual(false);
- expect(matcher('category/doc.mdx')).toEqual(false);
- expect(matcher('category/subcategory/doc.mdx')).toEqual(false);
- //
- expect(matcher('_doc.md')).toEqual(true);
- expect(matcher('category/_doc.md')).toEqual(true);
- expect(matcher('category/subcategory/_doc.md')).toEqual(true);
- expect(matcher('_category/doc.md')).toEqual(true);
- expect(matcher('_category/subcategory/doc.md')).toEqual(true);
- expect(matcher('category/_subcategory/doc.md')).toEqual(true);
- });
-
- test('match default exclude tests correctly', () => {
- expect(matcher('xyz.js')).toEqual(false);
- expect(matcher('xyz.ts')).toEqual(false);
- expect(matcher('xyz.jsx')).toEqual(false);
- expect(matcher('xyz.tsx')).toEqual(false);
- expect(matcher('folder/xyz.js')).toEqual(false);
- expect(matcher('folder/xyz.ts')).toEqual(false);
- expect(matcher('folder/xyz.jsx')).toEqual(false);
- expect(matcher('folder/xyz.tsx')).toEqual(false);
- //
- expect(matcher('xyz.test.js')).toEqual(true);
- expect(matcher('xyz.test.ts')).toEqual(true);
- expect(matcher('xyz.test.jsx')).toEqual(true);
- expect(matcher('xyz.test.tsx')).toEqual(true);
- expect(matcher('folder/xyz.test.js')).toEqual(true);
- expect(matcher('folder/xyz.test.ts')).toEqual(true);
- expect(matcher('folder/xyz.test.jsx')).toEqual(true);
- expect(matcher('folder/xyz.test.tsx')).toEqual(true);
- expect(matcher('folder/subfolder/xyz.test.js')).toEqual(true);
- expect(matcher('folder/subfolder/xyz.test.ts')).toEqual(true);
- expect(matcher('folder/subfolder/xyz.test.jsx')).toEqual(true);
- expect(matcher('folder/subfolder/xyz.test.tsx')).toEqual(true);
- //
- expect(matcher('__tests__/subfolder/xyz.js')).toEqual(true);
- expect(matcher('__tests__/subfolder/xyz.ts')).toEqual(true);
- expect(matcher('__tests__/subfolder/xyz.jsx')).toEqual(true);
- expect(matcher('__tests__/subfolder/xyz.tsx')).toEqual(true);
- expect(matcher('folder/__tests__/xyz.js')).toEqual(true);
- expect(matcher('folder/__tests__/xyz.ts')).toEqual(true);
- expect(matcher('folder/__tests__/xyz.jsx')).toEqual(true);
- expect(matcher('folder/__tests__/xyz.tsx')).toEqual(true);
- });
-});
-
-describe('createAbsoluteFilePathMatcher', () => {
- const rootFolders = ['/_root/docs', '/root/_docs/', '/__test__/website/src'];
-
- const matcher = createAbsoluteFilePathMatcher(
- GlobExcludeDefault,
- rootFolders,
- );
-
- test('match default exclude MD/MDX partials correctly', () => {
- expect(matcher('/_root/docs/myDoc.md')).toEqual(false);
- expect(matcher('/_root/docs/myDoc.mdx')).toEqual(false);
- expect(matcher('/root/_docs/myDoc.md')).toEqual(false);
- expect(matcher('/root/_docs/myDoc.mdx')).toEqual(false);
- expect(matcher('/_root/docs/category/myDoc.md')).toEqual(false);
- expect(matcher('/_root/docs/category/myDoc.mdx')).toEqual(false);
- expect(matcher('/root/_docs/category/myDoc.md')).toEqual(false);
- expect(matcher('/root/_docs/category/myDoc.mdx')).toEqual(false);
- //
- expect(matcher('/_root/docs/_myDoc.md')).toEqual(true);
- expect(matcher('/_root/docs/_myDoc.mdx')).toEqual(true);
- expect(matcher('/root/_docs/_myDoc.md')).toEqual(true);
- expect(matcher('/root/_docs/_myDoc.mdx')).toEqual(true);
- expect(matcher('/_root/docs/_category/myDoc.md')).toEqual(true);
- expect(matcher('/_root/docs/_category/myDoc.mdx')).toEqual(true);
- expect(matcher('/root/_docs/_category/myDoc.md')).toEqual(true);
- expect(matcher('/root/_docs/_category/myDoc.mdx')).toEqual(true);
- });
-
- test('match default exclude tests correctly', () => {
- expect(matcher('/__test__/website/src/xyz.js')).toEqual(false);
- expect(matcher('/__test__/website/src/__test__/xyz.js')).toEqual(true);
- expect(matcher('/__test__/website/src/xyz.test.js')).toEqual(true);
- });
-
- test('throw if file is not contained in any root doc', () => {
- expect(() =>
- matcher('/bad/path/myDoc.md'),
- ).toThrowErrorMatchingInlineSnapshot(
- `"createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=/bad/path/myDoc.md was not contained in any of the root folders [\\"/_root/docs\\",\\"/root/_docs/\\",\\"/__test__/website/src\\"]"`,
- );
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts
deleted file mode 100644
index 4fae659..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {simpleHash, docuHash} from '../hashUtils';
-
-describe('hashUtils', () => {
- test('simpleHash', () => {
- const asserts: Record<string, string> = {
- '': 'd41',
- '/foo-bar': '096',
- '/foo/bar': '1df',
- '/endi/lie': '9fa',
- '/endi-lie': 'fd3',
- '/yangshun/tay': '48d',
- '/yangshun-tay': 'f3b',
- '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar':
- 'd46',
- '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2':
- '787',
- };
- Object.keys(asserts).forEach((str) => {
- expect(simpleHash(str, 3)).toBe(asserts[str]);
- });
- });
-});
-
-describe('docuHash', () => {
- test('docuHash works', () => {
- const asserts: Record<string, string> = {
- '': '-d41',
- '/': 'index',
- '/foo-bar': 'foo-bar-096',
- '/foo/bar': 'foo-bar-1df',
- '/endi/lie': 'endi-lie-9fa',
- '/endi-lie': 'endi-lie-fd3',
- '/yangshun/tay': 'yangshun-tay-48d',
- '/yangshun-tay': 'yangshun-tay-f3b',
- '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar':
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo--d46',
- '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2':
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test--787',
- };
- Object.keys(asserts).forEach((file) => {
- expect(docuHash(file)).toBe(asserts[file]);
- });
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/index.test.ts b/node_modules/@docusaurus/utils/src/__tests__/index.test.ts
deleted file mode 100644
index ea626ca..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/index.test.ts
+++ /dev/null
@@ -1,523 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import path from 'path';
-import {
- fileToPath,
- genComponentName,
- genChunkName,
- idx,
- getSubFolder,
- posixPath,
- objectWithKeySorted,
- aliasedSitePath,
- isValidPathname,
- addTrailingSlash,
- removeTrailingSlash,
- removeSuffix,
- removePrefix,
- addLeadingSlash,
- getElementsAround,
- mergeTranslations,
- mapAsyncSequencial,
- findAsyncSequential,
- findFolderContainingFile,
- getFolderContainingFile,
- updateTranslationFileMessages,
- parseMarkdownHeadingId,
-} from '../index';
-import {sum} from 'lodash';
-
-describe('load utils', () => {
- test('aliasedSitePath', () => {
- const asserts: Record<string, string> = {
- 'user/website/docs/asd.md': '@site/docs/asd.md',
- 'user/website/versioned_docs/foo/bar.md':
- '@site/versioned_docs/foo/bar.md',
- 'user/docs/test.md': '@site/../docs/test.md',
- };
- Object.keys(asserts).forEach((file) => {
- expect(posixPath(aliasedSitePath(file, 'user/website'))).toBe(
- asserts[file],
- );
- });
- });
-
- test('genComponentName', () => {
- const asserts: Record<string, string> = {
- '/': 'index',
- '/foo-bar': 'FooBar096',
- '/foo/bar': 'FooBar1Df',
- '/blog/2017/12/14/introducing-docusaurus':
- 'Blog20171214IntroducingDocusaurus8D2',
- '/blog/2017/12/14-introducing-docusaurus':
- 'Blog20171214IntroducingDocusaurus0Bc',
- '/blog/201712/14-introducing-docusaurus':
- 'Blog20171214IntroducingDocusaurusA93',
- };
- Object.keys(asserts).forEach((file) => {
- expect(genComponentName(file)).toBe(asserts[file]);
- });
- });
-
- test('fileToPath', () => {
- const asserts: Record<string, string> = {
- 'index.md': '/',
- 'hello/index.md': '/hello/',
- 'foo.md': '/foo',
- 'foo/bar.md': '/foo/bar',
- 'index.js': '/',
- 'hello/index.js': '/hello/',
- 'foo.js': '/foo',
- 'foo/bar.js': '/foo/bar',
- };
- Object.keys(asserts).forEach((file) => {
- expect(fileToPath(file)).toBe(asserts[file]);
- });
- });
-
- test('objectWithKeySorted', () => {
- const obj = {
- '/docs/adding-blog': '4',
- '/docs/versioning': '5',
- '/': '1',
- '/blog/2018': '3',
- '/youtube': '7',
- '/users/en/': '6',
- '/blog': '2',
- };
- expect(objectWithKeySorted(obj)).toMatchInlineSnapshot(`
- Object {
- "/": "1",
- "/blog": "2",
- "/blog/2018": "3",
- "/docs/adding-blog": "4",
- "/docs/versioning": "5",
- "/users/en/": "6",
- "/youtube": "7",
- }
- `);
- const obj2 = {
- b: 'foo',
- c: 'bar',
- a: 'baz',
- };
- expect(objectWithKeySorted(obj2)).toMatchInlineSnapshot(`
- Object {
- "a": "baz",
- "b": "foo",
- "c": "bar",
- }
- `);
- });
-
- test('genChunkName', () => {
- const firstAssert: Record<string, string> = {
- '/docs/adding-blog': 'docs-adding-blog-062',
- '/docs/versioning': 'docs-versioning-8a8',
- '/': 'index',
- '/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus':
- 'blog-2018-04-30-how-i-converted-profilo-to-docusaurus-4f2',
- '/youtube': 'youtube-429',
- '/users/en/': 'users-en-f7a',
- '/blog': 'blog-c06',
- };
- Object.keys(firstAssert).forEach((str) => {
- expect(genChunkName(str)).toBe(firstAssert[str]);
- });
-
- // Don't allow different chunk name for same path.
- expect(genChunkName('path/is/similar', 'oldPrefix')).toEqual(
- genChunkName('path/is/similar', 'newPrefix'),
- );
-
- // Even with same preferred name, still different chunk name for different path
- const secondAssert: Record<string, string> = {
- '/blog/1': 'blog-85-f-089',
- '/blog/2': 'blog-353-489',
- };
- Object.keys(secondAssert).forEach((str) => {
- expect(genChunkName(str, undefined, 'blog')).toBe(secondAssert[str]);
- });
-
- // Only generate short unique id
- const thirdAssert: Record<string, string> = {
- a: '0cc175b9',
- b: '92eb5ffe',
- c: '4a8a08f0',
- d: '8277e091',
- };
- Object.keys(thirdAssert).forEach((str) => {
- expect(genChunkName(str, undefined, undefined, true)).toBe(
- thirdAssert[str],
- );
- });
- expect(genChunkName('d', undefined, undefined, true)).toBe('8277e091');
- });
-
- test('idx', () => {
- const a = {};
- const b = {hello: 'world'};
- const obj = {
- translation: {
- enabled: true,
- enabledLanguages: [
- {
- enabled: true,
- name: 'English',
- tag: 'en',
- },
- {
- enabled: true,
- name: '日本語',
- tag: 'ja',
- },
- ],
- },
- versioning: {
- enabled: false,
- versions: [],
- },
- };
- const test = {arr: [1, 2, 3]};
- const variable = 'enabledLanguages';
- expect(idx(a, ['b', 'c'])).toBeUndefined();
- expect(idx(b, ['hello'])).toEqual('world');
- expect(idx(b, 'hello')).toEqual('world');
- expect(idx(obj, 'typo')).toBeUndefined();
- expect(idx(obj, 'versioning')).toEqual({
- enabled: false,
- versions: [],
- });
- expect(idx(obj, ['translation', 'enabled'])).toEqual(true);
- expect(
- idx(obj, ['translation', variable]).map(
- (lang: {tag: string}) => lang.tag,
- ),
- ).toEqual(['en', 'ja']);
- expect(idx(test, ['arr', 0])).toEqual(1);
- expect(idx(undefined)).toBeUndefined();
- expect(idx(null)).toBeNull();
- });
-
- test('getSubFolder', () => {
- const testA = path.join('folder', 'en', 'test.md');
- const testB = path.join('folder', 'ja', 'test.md');
- const testC = path.join('folder', 'ja', 'en', 'test.md');
- const testD = path.join('docs', 'ro', 'test.md');
- const testE = path.join('docs', 'test.md');
- expect(getSubFolder(testA, 'folder')).toBe('en');
- expect(getSubFolder(testB, 'folder')).toBe('ja');
- expect(getSubFolder(testC, 'folder')).toBe('ja');
- expect(getSubFolder(testD, 'docs')).toBe('ro');
- expect(getSubFolder(testE, 'docs')).toBeNull();
- });
-
- test('isValidPathname', () => {
- expect(isValidPathname('/')).toBe(true);
- expect(isValidPathname('/hey')).toBe(true);
- expect(isValidPathname('/hey/ho')).toBe(true);
- expect(isValidPathname('/hey/ho/')).toBe(true);
- expect(isValidPathname('/hey/h%C3%B4/')).toBe(true);
- expect(isValidPathname('/hey///ho///')).toBe(true); // Unexpected but valid
- expect(isValidPathname('/hey/héllô you')).toBe(true);
-
- //
- expect(isValidPathname('')).toBe(false);
- expect(isValidPathname('hey')).toBe(false);
- expect(isValidPathname('/hey?qs=ho')).toBe(false);
- expect(isValidPathname('https://fb.com/hey')).toBe(false);
- expect(isValidPathname('//hey')).toBe(false);
- });
-});
-
-describe('addTrailingSlash', () => {
- test('should no-op', () => {
- expect(addTrailingSlash('/abcd/')).toEqual('/abcd/');
- });
- test('should add /', () => {
- expect(addTrailingSlash('/abcd')).toEqual('/abcd/');
- });
-});
-
-describe('addLeadingSlash', () => {
- test('should no-op', () => {
- expect(addLeadingSlash('/abc')).toEqual('/abc');
- });
- test('should add /', () => {
- expect(addLeadingSlash('abc')).toEqual('/abc');
- });
-});
-
-describe('removeTrailingSlash', () => {
- test('should no-op', () => {
- expect(removeTrailingSlash('/abcd')).toEqual('/abcd');
- });
- test('should remove /', () => {
- expect(removeTrailingSlash('/abcd/')).toEqual('/abcd');
- });
-});
-
-describe('removeSuffix', () => {
- test('should no-op 1', () => {
- expect(removeSuffix('abcdef', 'ijk')).toEqual('abcdef');
- });
- test('should no-op 2', () => {
- expect(removeSuffix('abcdef', 'abc')).toEqual('abcdef');
- });
- test('should no-op 3', () => {
- expect(removeSuffix('abcdef', '')).toEqual('abcdef');
- });
- test('should remove suffix', () => {
- expect(removeSuffix('abcdef', 'ef')).toEqual('abcd');
- });
-});
-
-describe('removePrefix', () => {
- test('should no-op 1', () => {
- expect(removePrefix('abcdef', 'ijk')).toEqual('abcdef');
- });
- test('should no-op 2', () => {
- expect(removePrefix('abcdef', 'def')).toEqual('abcdef');
- });
- test('should no-op 3', () => {
- expect(removePrefix('abcdef', '')).toEqual('abcdef');
- });
- test('should remove prefix', () => {
- expect(removePrefix('abcdef', 'ab')).toEqual('cdef');
- });
-});
-
-describe('getElementsAround', () => {
- test('can return elements around', () => {
- expect(getElementsAround(['a', 'b', 'c', 'd'], 0)).toEqual({
- previous: undefined,
- next: 'b',
- });
- expect(getElementsAround(['a', 'b', 'c', 'd'], 1)).toEqual({
- previous: 'a',
- next: 'c',
- });
- expect(getElementsAround(['a', 'b', 'c', 'd'], 2)).toEqual({
- previous: 'b',
- next: 'd',
- });
- expect(getElementsAround(['a', 'b', 'c', 'd'], 3)).toEqual({
- previous: 'c',
- next: undefined,
- });
- });
-
- test('throws if bad index is provided', () => {
- expect(() =>
- getElementsAround(['a', 'b', 'c', 'd'], -1),
- ).toThrowErrorMatchingInlineSnapshot(
- `"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided -1."`,
- );
- expect(() =>
- getElementsAround(['a', 'b', 'c', 'd'], 4),
- ).toThrowErrorMatchingInlineSnapshot(
- `"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided 4."`,
- );
- });
-});
-
-describe('mergeTranslations', () => {
- test('should merge translations', () => {
- expect(
- mergeTranslations([
- {
- T1: {message: 'T1 message', description: 'T1 desc'},
- T2: {message: 'T2 message', description: 'T2 desc'},
- T3: {message: 'T3 message', description: 'T3 desc'},
- },
- {
- T4: {message: 'T4 message', description: 'T4 desc'},
- },
- {T2: {message: 'T2 message 2', description: 'T2 desc 2'}},
- ]),
- ).toEqual({
- T1: {message: 'T1 message', description: 'T1 desc'},
- T2: {message: 'T2 message 2', description: 'T2 desc 2'},
- T3: {message: 'T3 message', description: 'T3 desc'},
- T4: {message: 'T4 message', description: 'T4 desc'},
- });
- });
-});
-
-describe('mapAsyncSequencial', () => {
- function sleep(timeout: number): Promise<void> {
- return new Promise((resolve) => setTimeout(resolve, timeout));
- }
-
- test('map sequentially', async () => {
- const itemToTimeout: Record<string, number> = {
- '1': 50,
- '2': 150,
- '3': 100,
- };
- const items = Object.keys(itemToTimeout);
-
- const itemMapStartsAt: Record<string, number> = {};
- const itemMapEndsAt: Record<string, number> = {};
-
- const timeBefore = Date.now();
- await expect(
- mapAsyncSequencial(items, async (item) => {
- const itemTimeout = itemToTimeout[item];
- itemMapStartsAt[item] = Date.now();
- await sleep(itemTimeout);
- itemMapEndsAt[item] = Date.now();
- return `${item} mapped`;
- }),
- ).resolves.toEqual(['1 mapped', '2 mapped', '3 mapped']);
- const timeAfter = Date.now();
-
- const timeTotal = timeAfter - timeBefore;
-
- const totalTimeouts = sum(Object.values(itemToTimeout));
- expect(timeTotal > totalTimeouts);
-
- expect(itemMapStartsAt['1'] > 0);
- expect(itemMapStartsAt['2'] > itemMapEndsAt['1']);
- expect(itemMapStartsAt['3'] > itemMapEndsAt['2']);
- });
-});
-
-describe('findAsyncSequencial', () => {
- function sleep(timeout: number): Promise<void> {
- return new Promise((resolve) => setTimeout(resolve, timeout));
- }
-
- test('find sequentially', async () => {
- const items = ['1', '2', '3'];
-
- const findFn = jest.fn(async (item: string) => {
- await sleep(50);
- return item === '2';
- });
-
- const timeBefore = Date.now();
- await expect(findAsyncSequential(items, findFn)).resolves.toEqual('2');
- const timeAfter = Date.now();
-
- expect(findFn).toHaveBeenCalledTimes(2);
- expect(findFn).toHaveBeenNthCalledWith(1, '1');
- expect(findFn).toHaveBeenNthCalledWith(2, '2');
-
- const timeTotal = timeAfter - timeBefore;
- expect(timeTotal > 100);
- expect(timeTotal < 150);
- });
-});
-
-describe('findFolderContainingFile', () => {
- test('find appropriate folder', async () => {
- await expect(
- findFolderContainingFile(
- ['/abcdef', '/gehij', __dirname, '/klmn'],
- 'index.test.ts',
- ),
- ).resolves.toEqual(__dirname);
- });
-
- test('return undefined if no folder contain such file', async () => {
- await expect(
- findFolderContainingFile(['/abcdef', '/gehij', '/klmn'], 'index.test.ts'),
- ).resolves.toBeUndefined();
- });
-});
-
-describe('getFolderContainingFile', () => {
- test('get appropriate folder', async () => {
- await expect(
- getFolderContainingFile(
- ['/abcdef', '/gehij', __dirname, '/klmn'],
- 'index.test.ts',
- ),
- ).resolves.toEqual(__dirname);
- });
-
- test('throw if no folder contain such file', async () => {
- await expect(
- getFolderContainingFile(['/abcdef', '/gehij', '/klmn'], 'index.test.ts'),
- ).rejects.toThrowErrorMatchingSnapshot();
- });
-});
-
-describe('updateTranslationFileMessages', () => {
- test('should update messages', () => {
- expect(
- updateTranslationFileMessages(
- {
- path: 'abc',
- content: {
- t1: {message: 't1 message', description: 't1 desc'},
- t2: {message: 't2 message', description: 't2 desc'},
- t3: {message: 't3 message', description: 't3 desc'},
- },
- },
- (message) => `prefix ${message} suffix`,
- ),
- ).toEqual({
- path: 'abc',
- content: {
- t1: {message: 'prefix t1 message suffix', description: 't1 desc'},
- t2: {message: 'prefix t2 message suffix', description: 't2 desc'},
- t3: {message: 'prefix t3 message suffix', description: 't3 desc'},
- },
- });
- });
-});
-
-describe('parseMarkdownHeadingId', () => {
- test('can parse simple heading without id', () => {
- expect(parseMarkdownHeadingId('## Some heading')).toEqual({
- text: '## Some heading',
- id: undefined,
- });
- });
-
- test('can parse simple heading with id', () => {
- expect(parseMarkdownHeadingId('## Some heading {#custom-_id}')).toEqual({
- text: '## Some heading',
- id: 'custom-_id',
- });
- });
-
- test('can parse heading not ending with the id', () => {
- expect(parseMarkdownHeadingId('## {#custom-_id} Some heading')).toEqual({
- text: '## {#custom-_id} Some heading',
- id: undefined,
- });
- });
-
- test('can parse heading with multiple id', () => {
- expect(parseMarkdownHeadingId('## Some heading {#id1} {#id2}')).toEqual({
- text: '## Some heading {#id1}',
- id: 'id2',
- });
- });
-
- test('can parse heading with link and id', () => {
- expect(
- parseMarkdownHeadingId(
- '## Some heading [facebook](https://facebook.com) {#id}',
- ),
- ).toEqual({
- text: '## Some heading [facebook](https://facebook.com)',
- id: 'id',
- });
- });
-
- test('can parse heading with only id', () => {
- expect(parseMarkdownHeadingId('## {#id}')).toEqual({
- text: '##',
- id: 'id',
- });
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts b/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts
deleted file mode 100644
index 5731ab7..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {normalizeUrl} from '../normalizeUrl';
-
-describe('normalizeUrl', () => {
- test('should normalize urls correctly', () => {
- const asserts = [
- {
- input: ['/', ''],
- output: '/',
- },
- {
- input: ['', '/'],
- output: '/',
- },
- {
- input: ['/'],
- output: '/',
- },
- {
- input: [''],
- output: '',
- },
- {
- input: ['/', '/'],
- output: '/',
- },
- {
- input: ['/', 'docs'],
- output: '/docs',
- },
- {
- input: ['/', 'docs', 'en', 'next', 'blog'],
- output: '/docs/en/next/blog',
- },
- {
- input: ['/test/', '/docs', 'ro', 'doc1'],
- output: '/test/docs/ro/doc1',
- },
- {
- input: ['/test/', '/', 'ro', 'doc1'],
- output: '/test/ro/doc1',
- },
- {
- input: ['/', '/', '2020/02/29/leap-day'],
- output: '/2020/02/29/leap-day',
- },
- {
- input: ['', '/', 'ko', 'hello'],
- output: '/ko/hello',
- },
- {
- input: ['hello', 'world'],
- output: 'hello/world',
- },
- {
- input: ['http://www.google.com/', 'foo/bar', '?test=123'],
- output: 'http://www.google.com/foo/bar?test=123',
- },
- {
- input: ['http:', 'www.google.com///', 'foo/bar', '?test=123'],
- output: 'http://www.google.com/foo/bar?test=123',
- },
- {
- input: ['http://foobar.com', '', 'test'],
- output: 'http://foobar.com/test',
- },
- {
- input: ['http://foobar.com', '', 'test', '/'],
- output: 'http://foobar.com/test/',
- },
- {
- input: ['/', '', 'hello', '', '/', '/', '', '/', '/world'],
- output: '/hello/world',
- },
- {
- input: ['', '', '/tt', 'ko', 'hello'],
- output: '/tt/ko/hello',
- },
- {
- input: ['', '///hello///', '', '///world'],
- output: '/hello/world',
- },
- {
- input: ['', '/hello/', ''],
- output: '/hello/',
- },
- {
- input: ['', '/', ''],
- output: '/',
- },
- {
- input: ['///', '///'],
- output: '/',
- },
- {
- input: ['/', '/hello/world/', '///'],
- output: '/hello/world/',
- },
- ];
- asserts.forEach((testCase) => {
- expect(normalizeUrl(testCase.input)).toBe(testCase.output);
- });
-
- expect(() =>
- // @ts-expect-error undefined for test
- normalizeUrl(['http:example.com', undefined]),
- ).toThrowErrorMatchingInlineSnapshot(
- `"Url must be a string. Received undefined"`,
- );
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts
deleted file mode 100644
index 6c43397..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {isNameTooLong, shortName} from '../pathUtils';
-
-describe('pathUtils', () => {
- test('isNameTooLong', () => {
- const asserts: Record<string, boolean> = {
- '': false,
- 'foo-bar-096': false,
- 'foo-bar-1df': false,
- 'endi-lie-9fa': false,
- 'endi-lie-fd3': false,
- 'yangshun-tay-48d': false,
- 'yangshun-tay-f3b': false,
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-d46': true,
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2-787': true,
- };
- Object.keys(asserts).forEach((path) => {
- expect(isNameTooLong(path)).toBe(asserts[path]);
- });
- });
-
- describe('shortName', () => {
- test('works', () => {
- const asserts: Record<string, string> = {
- '': '',
- 'foo-bar': 'foo-bar',
- 'endi-lie': 'endi-lie',
- 'yangshun-tay': 'yangshun-tay',
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar':
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-',
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2':
- 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-',
- };
- Object.keys(asserts).forEach((file) => {
- expect(shortName(file)).toBe(asserts[file]);
- });
- });
-
- // Based on https://github.com/gatsbyjs/gatsby/pull/21518/files
-
- const SHORT_PATH = `/short/path/without/trailing/slash`;
- const VERY_LONG_PATH = `/${`x`.repeat(256)}/`;
- const VERY_LONG_PATH_NON_LATIN = `/${``.repeat(255)}/`;
-
- it(`Truncates long paths correctly`, () => {
- const truncatedPathLatin = shortName(VERY_LONG_PATH);
- const truncatedPathNonLatin = shortName(VERY_LONG_PATH_NON_LATIN);
- expect(truncatedPathLatin.length).toBeLessThanOrEqual(255);
- expect(truncatedPathNonLatin.length).toBeLessThanOrEqual(255);
- });
-
- it(`Does not truncate short paths`, () => {
- const truncatedPath = shortName(SHORT_PATH);
- expect(truncatedPath).toEqual(SHORT_PATH);
- });
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts b/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts
deleted file mode 100644
index 866ad0e..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {posixPath} from '../posixPath';
-
-describe('posixPath', () => {
- test('posixPath works', () => {
- const asserts: Record<string, string> = {
- 'c:/aaaa\\bbbb': 'c:/aaaa/bbbb',
- 'c:\\aaaa\\bbbb\\★': 'c:\\aaaa\\bbbb\\★',
- '\\\\?\\c:\\aaaa\\bbbb': '\\\\?\\c:\\aaaa\\bbbb',
- 'c:\\aaaa\\bbbb': 'c:/aaaa/bbbb',
- 'foo\\bar': 'foo/bar',
- 'foo\\bar/lol': 'foo/bar/lol',
- 'website\\docs/**/*.{md,mdx}': 'website/docs/**/*.{md,mdx}',
- };
- Object.keys(asserts).forEach((file) => {
- expect(posixPath(file)).toBe(asserts[file]);
- });
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts b/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts
deleted file mode 100644
index 5f3b761..0000000
--- a/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {
- normalizeFrontMatterTag,
- normalizeFrontMatterTags,
- groupTaggedItems,
- Tag,
-} from '../tags';
-
-describe('normalizeFrontMatterTag', () => {
- type Input = Parameters<typeof normalizeFrontMatterTag>[1];
- type Output = ReturnType<typeof normalizeFrontMatterTag>;
-
- test('should normalize simple string tag', () => {
- const tagsPath = '/all/tags';
- const input: Input = 'tag';
- const expectedOutput: Output = {
- label: 'tag',
- permalink: `${tagsPath}/tag`,
- };
- expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput);
- });
-
- test('should normalize complex string tag', () => {
- const tagsPath = '/all/tags';
- const input: Input = 'some more Complex_tag';
- const expectedOutput: Output = {
- label: 'some more Complex_tag',
- permalink: `${tagsPath}/some-more-complex-tag`,
- };
- expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput);
- });
-
- test('should normalize simple object tag', () => {
- const tagsPath = '/all/tags';
- const input: Input = {label: 'tag', permalink: 'tagPermalink'};
- const expectedOutput: Output = {
- label: 'tag',
- permalink: `${tagsPath}/tagPermalink`,
- };
- expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput);
- });
-
- test('should normalize complex string tag', () => {
- const tagsPath = '/all/tags';
- const input: Input = {
- label: 'tag complex Label',
- permalink: '/MoreComplex/Permalink',
- };
- const expectedOutput: Output = {
- label: 'tag complex Label',
- permalink: `${tagsPath}/MoreComplex/Permalink`,
- };
- expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput);
- });
-});
-
-describe('normalizeFrontMatterTags', () => {
- type Input = Parameters<typeof normalizeFrontMatterTags>[1];
- type Output = ReturnType<typeof normalizeFrontMatterTags>;
-
- test('should normalize string list', () => {
- const tagsPath = '/all/tags';
- const input: Input = ['tag 1', 'tag-1', 'tag 3', 'tag1', 'tag-2'];
- // Keep user input order but remove tags that lead to same permalink
- const expectedOutput: Output = [
- {
- label: 'tag 1',
- permalink: `${tagsPath}/tag-1`,
- },
- {
- label: 'tag 3',
- permalink: `${tagsPath}/tag-3`,
- },
- {
- label: 'tag-2',
- permalink: `${tagsPath}/tag-2`,
- },
- ];
- expect(normalizeFrontMatterTags(tagsPath, input)).toEqual(expectedOutput);
- });
-
- test('should normalize complex mixed list', () => {
- const tagsPath = '/all/tags';
- const input: Input = [
- 'tag 1',
- {label: 'tag-1', permalink: '/tag-1'},
- 'tag 3',
- 'tag1',
- {label: 'tag 4', permalink: '/tag4Permalink'},
- ];
- // Keep user input order but remove tags that lead to same permalink
- const expectedOutput: Output = [
- {
- label: 'tag 1',
- permalink: `${tagsPath}/tag-1`,
- },
- {
- label: 'tag 3',
- permalink: `${tagsPath}/tag-3`,
- },
- {
- label: 'tag 4',
- permalink: `${tagsPath}/tag4Permalink`,
- },
- ];
- expect(normalizeFrontMatterTags(tagsPath, input)).toEqual(expectedOutput);
- });
-});
-
-describe('groupTaggedItems', () => {
- type SomeTaggedItem = {
- id: string;
- nested: {
- tags: Tag[];
- };
- };
- function groupItems(items: SomeTaggedItem[]) {
- return groupTaggedItems(items, (item) => item.nested.tags);
- }
-
- type Input = Parameters<typeof groupItems>[0];
- type Output = ReturnType<typeof groupItems>;
-
- test('should group items by tag permalink', () => {
- const tagGuide = {label: 'Guide', permalink: '/guide'};
- const tagTutorial = {label: 'Tutorial', permalink: '/tutorial'};
- const tagAPI = {label: 'API', permalink: '/api'};
-
- // This one will be grouped under same permalink and label is ignored
- const tagTutorialOtherLabel = {
- label: 'TutorialOtherLabel',
- permalink: '/tutorial',
- };
-
- const item1: SomeTaggedItem = {
- id: '1',
- nested: {
- tags: [
- tagGuide,
- tagTutorial,
- tagAPI,
- // Add some duplicates on purpose: they should be filtered
- tagGuide,
- tagTutorialOtherLabel,
- ],
- },
- };
- const item2: SomeTaggedItem = {
- id: '2',
- nested: {
- tags: [tagAPI],
- },
- };
- const item3: SomeTaggedItem = {
- id: '3',
- nested: {
- tags: [tagTutorial],
- },
- };
- const item4: SomeTaggedItem = {
- id: '4',
- nested: {
- tags: [tagTutorialOtherLabel],
- },
- };
-
- const input: Input = [item1, item2, item3, item4];
-
- const expectedOutput: Output = {
- '/guide': {tag: tagGuide, items: [item1]},
- '/tutorial': {tag: tagTutorial, items: [item1, item3, item4]},
- '/api': {tag: tagAPI, items: [item1, item2]},
- };
-
- expect(groupItems(input)).toEqual(expectedOutput);
- });
-});
diff --git a/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts b/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts
index b908d38..9f3e2b9 100644
--- a/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts
+++ b/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts
@@ -10,7 +10,6 @@ import fs from 'fs-extra';
// Return an ordered list of locales we should try
export function codeTranslationLocalesToTry(locale: string): string[] {
- // @ts-expect-error: TODO until available in TS, see https://github.com/microsoft/TypeScript/issues/37326
const intlLocale = Intl.Locale ? new Intl.Locale(locale) : undefined;
if (!intlLocale) {
return [locale];
diff --git a/node_modules/@docusaurus/utils/src/index.ts b/node_modules/@docusaurus/utils/src/index.ts
index 3550b54..a43afc2 100644
--- a/node_modules/@docusaurus/utils/src/index.ts
+++ b/node_modules/@docusaurus/utils/src/index.ts
@@ -18,7 +18,6 @@ import {
TranslationFile,
} from '@docusaurus/types';
-// @ts-expect-error: no typedefs :s
import resolvePathnameUnsafe from 'resolve-pathname';
import {posixPath as posixPathImport} from './posixPath';
diff --git a/node_modules/@docusaurus/utils/src/markdownParser.ts b/node_modules/@docusaurus/utils/src/markdownParser.ts
index 1f9377d..89a0762 100644
--- a/node_modules/@docusaurus/utils/src/markdownParser.ts
+++ b/node_modules/@docusaurus/utils/src/markdownParser.ts
@@ -4,179 +4,169 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-
-import chalk from 'chalk';
-import fs from 'fs-extra';
-import matter from 'gray-matter';
-
-// Hacky way of stripping out import statements from the excerpt
-// TODO: Find a better way to do so, possibly by compiling the Markdown content,
-// stripping out HTML tags and obtaining the first line.
-export function createExcerpt(fileString: string): string | undefined {
- const fileLines = fileString
- .trimLeft()
- // Remove Markdown alternate title
- .replace(/^[^\n]*\n[=]+/g, '')
- .split('\n');
-
- /* eslint-disable no-continue */
- // eslint-disable-next-line no-restricted-syntax
- for (const fileLine of fileLines) {
- // Skip empty line.
- if (!fileLine.trim()) {
- continue;
- }
-
- // Skip import/export declaration.
- if (/^\s*?import\s.*(from.*)?;?|export\s.*{.*};?/.test(fileLine)) {
- continue;
- }
-
- const cleanedLine = fileLine
- // Remove HTML tags.
- .replace(/<[^>]*>/g, '')
- // Remove Title headers
- .replace(/^#\s*([^#]*)\s*#?/gm, '')
- // Remove Markdown + ATX-style headers
- .replace(/^#{1,6}\s*([^#]*)\s*(#{1,6})?/gm, '$1')
- // Remove emphasis and strikethroughs.
- .replace(/([*_~]{1,3})(\S.*?\S{0,1})\1/g, '$2')
- // Remove images.
- .replace(/!\[(.*?)\][[(].*?[\])]/g, '$1')
- // Remove footnotes.
- .replace(/\[\^.+?\](: .*?$)?/g, '')
- // Remove inline links.
- .replace(/\[(.*?)\][[(].*?[\])]/g, '$1')
- // Remove inline code.
- .replace(/`(.+?)`/g, '$1')
- // Remove blockquotes.
- .replace(/^\s{0,3}>\s?/g, '')
- // Remove admonition definition.
- .replace(/(:{3}.*)/, '')
- // Remove Emoji names within colons include preceding whitespace.
- .replace(/\s?(:(::|[^:\n])+:)/g, '')
- // Remove custom Markdown heading id.
- .replace(/{#*[\w-]+}/, '')
- .trim();
-
- if (cleanedLine) {
- return cleanedLine;
- }
- }
-
- return undefined;
-}
-
-export function parseFrontMatter(
- markdownFileContent: string,
-): {
- frontMatter: Record<string, unknown>;
- content: string;
-} {
- const {data, content} = matter(markdownFileContent);
- return {
- frontMatter: data ?? {},
- content: content?.trim() ?? '',
- };
-}
-
-// Try to convert markdown heading as text
-// Does not need to be perfect, it is only used as a fallback when frontMatter.title is not provided
-// For now, we just unwrap possible inline code blocks (# `config.js`)
-function toTextContentTitle(contentTitle: string): string {
- if (contentTitle.startsWith('`') && contentTitle.endsWith('`')) {
- return contentTitle.substring(1, contentTitle.length - 1);
- }
- return contentTitle;
-}
-
-export function parseMarkdownContentTitle(
- contentUntrimmed: string,
- options?: {removeContentTitle?: boolean},
-): {content: string; contentTitle: string | undefined} {
- const removeContentTitleOption = options?.removeContentTitle ?? false;
-
- const content = contentUntrimmed.trim();
-
- const IMPORT_STATEMENT = /import\s+(([\w*{}\s\n,]+)from\s+)?["'\s]([@\w/_.-]+)["'\s];?|\n/
- .source;
- const REGULAR_TITLE = /(?<pattern>#\s*(?<title>[^#\n{]*)+[ \t]*(?<suffix>({#*[\w-]+})|#)?\n*?)/
- .source;
- const ALTERNATE_TITLE = /(?<pattern>\s*(?<title>[^\n]*)\s*\n[=]+)/.source;
-
- const regularTitleMatch = new RegExp(
- `^(?:${IMPORT_STATEMENT})*?${REGULAR_TITLE}`,
- 'g',
- ).exec(content);
- const alternateTitleMatch = new RegExp(
- `^(?:${IMPORT_STATEMENT})*?${ALTERNATE_TITLE}`,
- 'g',
- ).exec(content);
-
- const titleMatch = regularTitleMatch ?? alternateTitleMatch;
- const {pattern, title} = titleMatch?.groups ?? {};
-
- if (!pattern || !title) {
- return {content, contentTitle: undefined};
- } else {
- const newContent = removeContentTitleOption
- ? content.replace(pattern, '')
- : content;
- return {
- content: newContent.trim(),
- contentTitle: toTextContentTitle(title.trim()).trim(),
- };
- }
-}
-
-type ParsedMarkdown = {
- frontMatter: Record<string, unknown>;
- content: string;
- contentTitle: string | undefined;
- excerpt: string | undefined;
-};
-
-export function parseMarkdownString(
- markdownFileContent: string,
- options?: {removeContentTitle?: boolean},
-): ParsedMarkdown {
- try {
- const {frontMatter, content: contentWithoutFrontMatter} = parseFrontMatter(
- markdownFileContent,
- );
-
- const {content, contentTitle} = parseMarkdownContentTitle(
- contentWithoutFrontMatter,
- options,
- );
-
- const excerpt = createExcerpt(content);
-
- return {
- frontMatter,
- content,
- contentTitle,
- excerpt,
- };
- } catch (e) {
- console.error(
- chalk.red(`Error while parsing Markdown frontmatter.
-This can happen if you use special characters in frontmatter values (try using double quotes around that value).`),
- );
- throw e;
- }
-}
-
-export async function parseMarkdownFile(
- source: string,
- options?: {removeContentTitle?: boolean},
-): Promise<ParsedMarkdown> {
- const markdownString = await fs.readFile(source, 'utf-8');
- try {
- return parseMarkdownString(markdownString, options);
- } catch (e) {
- throw new Error(
- `Error while parsing Markdown file ${source}: "${e.message}".`,
- );
- }
-}
+ import logger from '@docusaurus/logger';
+ import matter from 'gray-matter';
+ import remark from 'remark';
+ import mdx from 'remark-mdx';
+ import visit from 'unist-util-visit';
+ import type {Node, Parent} from 'unist';
+ import type {Heading, Text, Image, Paragraph} from 'mdast';
+ import type {Plugin} from 'unified';
+
+ const isImage = (node: Node): node is Image => node.type === 'image';
+ const isHeading = (node: Node): node is Heading => node.type === 'heading';
+ const isParagraph = (node: Node): node is Paragraph => node.type === 'paragraph';
+ const isText = (node: Node): node is Text => node.type === 'text';
+
+ // Input: ## Some heading {#some-heading}
+ // Output: {text: "## Some heading", id: "some-heading"}
+ export function parseMarkdownHeadingId(heading: string): {
+ text: string;
+ id?: string;
+ } {
+ const customHeadingIdRegex = /^(.*?)\s*\{#([\w-]+)\}$/;
+ const matches = customHeadingIdRegex.exec(heading);
+ if (matches) {
+ return {
+ text: matches[1],
+ id: matches[2],
+ };
+ } else {
+ return {text: heading, id: undefined};
+ }
+ }
+
+ function toText(node: Node): string {
+ let excerpt = '';
+ visit(node, ['text', 'inlineCode'], (child, index, parent) => {
+ if (parent?.type !== 'linkReference') {
+ excerpt += (child as Text).value;
+ }
+ });
+ return excerpt;
+ }
+
+ type MarkdownParserOptions = {
+ remarkPlugins?: Plugin[];
+ removeContentTitle?: boolean;
+ };
+
+ const remarkParser = remark().use(mdx)
+ export function createExcerpt(
+ fileString: string,
+ options: MarkdownParserOptions = {remarkPlugins: []},
+ ): string | undefined {
+ const mdast = remark().use(mdx).use(options.remarkPlugins).parse(fileString);
+ let excerpt = '';
+ visit(
+ mdast,
+ ['paragraph', 'heading', 'image'],
+ (node: Paragraph | Heading | Image) => {
+ const isAdmonitionFence =
+ isParagraph(node) &&
+ isText(node.children[0]) &&
+ node.children[0].value.startsWith(':::');
+ const isMainHeading = isHeading(node) && node.depth === 1;
+ if (isAdmonitionFence || isMainHeading) {
+ return true;
+ }
+ if (isImage(node)) {
+ if (node.alt) {
+ excerpt = node.alt;
+ // Already obtained the excerpt; stop traversal
+ return false;
+ }
+ } else if (isParagraph(node)) {
+ excerpt = toText(node);
+ }
+ if (excerpt) {
+ return false;
+ }
+ return true;
+ },
+ );
+
+ return excerpt || undefined;
+ }
+
+ export function parseFrontMatter(markdownFileContent: string): {
+ frontMatter: Record<string, unknown>;
+ content: string;
+ } {
+ const {data, content} = matter(markdownFileContent);
+ return {
+ frontMatter: data,
+ content: content.trim(),
+ };
+ }
+
+ export function parseMarkdownContentTitle(
+ contentUntrimmed: string,
+ options: MarkdownParserOptions = {
+ removeContentTitle: false,
+ remarkPlugins: [],
+ },
+ ): {content: string; contentTitle: string | undefined} {
+ const {removeContentTitle = false} = options;
+ let content = contentUntrimmed.trim();
+
+ const mdast =
+ remarkParser.parse(content);
+
+ let contentTitle: string | undefined;
+ const firstConcreteNode = (mdast as Parent)?.children.find(
+ (child) => child.type !== 'import' && child.type !== 'export',
+ );
+ if (
+ firstConcreteNode &&
+ isHeading(firstConcreteNode) &&
+ firstConcreteNode.depth === 1
+ ) {
+ contentTitle = parseMarkdownHeadingId(toText(firstConcreteNode)).text;
+ if (removeContentTitle) {
+ const {
+ start: {line: startLine},
+ end: {line: endLine},
+ } = firstConcreteNode.position!;
+ const lines = content.split('\n');
+ lines.splice(startLine - 1, endLine - startLine + 1);
+ content = lines.join('\n');
+ }
+ }
+ return {content: content.trim(), contentTitle};
+ }
+
+ type ParsedMarkdown = {
+ frontMatter: Record<string, unknown>;
+ content: string;
+ contentTitle: string | undefined;
+ excerpt: string | undefined;
+ };
+
+ export function parseMarkdownString(
+ markdownFileContent: string,
+ options?: MarkdownParserOptions,
+ ): ParsedMarkdown {
+ try {
+ const {frontMatter, content: contentWithoutFrontMatter} =
+ parseFrontMatter(markdownFileContent);
+
+ const {content, contentTitle} = parseMarkdownContentTitle(
+ contentWithoutFrontMatter,
+ options,
+ );
+
+ const excerpt = createExcerpt(content, options);
+
+ return {
+ frontMatter,
+ content,
+ contentTitle,
+ excerpt,
+ };
+ } catch (e) {
+ logger.error(`Error while parsing Markdown front matter.
+ This can happen if you use special characters in front matter values (try using double quotes around that value).`);
+ throw e;
+ }
+ }
\ No newline at end of file
diff --git a/node_modules/@docusaurus/utils/tsconfig.json b/node_modules/@docusaurus/utils/tsconfig.json
index f5902ba..193138a 100644
--- a/node_modules/@docusaurus/utils/tsconfig.json
+++ b/node_modules/@docusaurus/utils/tsconfig.json
@@ -1,9 +1,34 @@
{
- "extends": "../../tsconfig.json",
"compilerOptions": {
- "incremental": true,
- "tsBuildInfoFile": "./lib/.tsbuildinfo",
"rootDir": "src",
- "outDir": "lib"
- }
+ "outDir": "lib",
+ "target": "ES2020",
+ "lib": ["ESNext"],
+ "sourceMap": false,
+ "jsx": "react-native",
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext",
+ "resolveJsonModule": true,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "isolatedModules": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "exactOptionalPropertyTypes": false,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitOverride": true,
+ "noImplicitReturns": true,
+ },
+ "include": ["./**/*", "./**/.eslintrc.js"],
+ "exclude": [
+ "node_modules",
+ "coverage/**",
+ "**/lib/**/*",
+ "website/**",
+ "**/__mocks__/**/*",
+ "**/__fixtures__/**/*",
+ "examples/**",
+ "packages/create-docusaurus/templates/**"
+ ]
}
diff --git a/node_modules/@docusaurus/utils/yarn.lock b/node_modules/@docusaurus/utils/yarn.lock
new file mode 100644
index 0000000..3f178a5
--- /dev/null
+++ b/node_modules/@docusaurus/utils/yarn.lock
@@ -0,0 +1,970 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@docusaurus/types@2.0.0-beta.6":
+ version "2.0.0-beta.6"
+ resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.6.tgz#f92a61cc42e5921d325114ebc7b30c5e8c368683"
+ integrity sha512-TrwxyI93XTZEhOmdEI8FPKDbGV61zE9PzXCdE1alwz1NOV+YXwcv+9sRTZEVLqBpr+TIja+IeeS6mxnyen/Ptg==
+ dependencies:
+ commander "^5.1.0"
+ joi "^17.4.0"
+ querystring "0.2.0"
+ webpack "^5.40.0"
+ webpack-merge "^5.8.0"
+
+"@hapi/hoek@^9.0.0":
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/topo@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@jridgewell/gen-mapping@^0.3.0":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
+ integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.1"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
+"@jridgewell/resolve-uri@^3.0.3":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+
+"@jridgewell/set-array@^1.0.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
+ integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+
+"@jridgewell/source-map@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+ integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
+ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+
+"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.14"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed"
+ integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@sideway/address@^4.1.3":
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
+ integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c"
+ integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
+"@types/braces@*":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.1.tgz#5a284d193cfc61abb2e5a50d36ebbc50d942a32b"
+ integrity sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==
+
+"@types/dedent@^0.7.0":
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/@types/dedent/-/dedent-0.7.0.tgz#155f339ca404e6dd90b9ce46a3f78fd69ca9b050"
+ integrity sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A==
+
+"@types/eslint-scope@^3.7.3":
+ version "3.7.4"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
+ integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
+"@types/eslint@*":
+ version "8.4.5"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4"
+ integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
+"@types/estree@*":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2"
+ integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
+
+"@types/estree@^0.0.51":
+ version "0.0.51"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
+ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+
+"@types/github-slugger@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@types/github-slugger/-/github-slugger-1.3.0.tgz#16ab393b30d8ae2a111ac748a015ac05a1fc5524"
+ integrity sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==
+
+"@types/json-schema@*", "@types/json-schema@^7.0.8":
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
+ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+
+"@types/micromatch@^4.0.2":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.2.tgz#ce29c8b166a73bf980a5727b1e4a4d099965151d"
+ integrity sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==
+ dependencies:
+ "@types/braces" "*"
+
+"@types/node@*":
+ version "18.0.6"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7"
+ integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==
+
+"@webassemblyjs/ast@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
+ integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==
+ dependencies:
+ "@webassemblyjs/helper-numbers" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+
+"@webassemblyjs/floating-point-hex-parser@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
+ integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
+
+"@webassemblyjs/helper-api-error@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
+ integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
+
+"@webassemblyjs/helper-buffer@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
+ integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
+
+"@webassemblyjs/helper-numbers@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae"
+ integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser" "1.11.1"
+ "@webassemblyjs/helper-api-error" "1.11.1"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
+ integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
+
+"@webassemblyjs/helper-wasm-section@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a"
+ integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+
+"@webassemblyjs/ieee754@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614"
+ integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5"
+ integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
+ integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
+
+"@webassemblyjs/wasm-edit@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6"
+ integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/helper-wasm-section" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+ "@webassemblyjs/wasm-opt" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+ "@webassemblyjs/wast-printer" "1.11.1"
+
+"@webassemblyjs/wasm-gen@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76"
+ integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/ieee754" "1.11.1"
+ "@webassemblyjs/leb128" "1.11.1"
+ "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wasm-opt@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2"
+ integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-buffer" "1.11.1"
+ "@webassemblyjs/wasm-gen" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+
+"@webassemblyjs/wasm-parser@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199"
+ integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/helper-api-error" "1.11.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/ieee754" "1.11.1"
+ "@webassemblyjs/leb128" "1.11.1"
+ "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wast-printer@1.11.1":
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0"
+ integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.1"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+acorn-import-assertions@^1.7.6:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
+ integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
+
+acorn@^8.4.1, acorn@^8.5.0:
+ version "8.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+ integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
+
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.12.5:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+braces@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+browserslist@^4.14.5:
+ version "4.21.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf"
+ integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==
+ dependencies:
+ caniuse-lite "^1.0.30001366"
+ electron-to-chromium "^1.4.188"
+ node-releases "^2.0.6"
+ update-browserslist-db "^1.0.4"
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+caniuse-lite@^1.0.30001366:
+ version "1.0.30001367"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a"
+ integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==
+
+chalk@^4.1.1:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chrome-trace-event@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
+ integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+
+clone-deep@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+ integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+ dependencies:
+ is-plain-object "^2.0.4"
+ kind-of "^6.0.2"
+ shallow-clone "^3.0.0"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+electron-to-chromium@^1.4.188:
+ version "1.4.195"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz#139b2d95a42a3f17df217589723a1deac71d1473"
+ integrity sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg==
+
+enhanced-resolve@^5.9.3:
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
+ integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
+es-module-lexer@^0.9.0:
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
+ integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
+
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-scope@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+events@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.9:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+ integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+fs-extra@^10.0.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
+ integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+glob-parent@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-to-regexp@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
+globby@^11.0.4:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+gray-matter@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
+ integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
+ dependencies:
+ js-yaml "^3.13.1"
+ kind-of "^6.0.2"
+ section-matter "^1.0.0"
+ strip-bom-string "^1.0.0"
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+ignore@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
+is-extendable@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-glob@^4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+jest-worker@^27.4.5:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+ integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+joi@^17.4.0:
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
+ integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+ "@hapi/topo" "^5.0.0"
+ "@sideway/address" "^4.1.3"
+ "@sideway/formula" "^3.0.0"
+ "@sideway/pinpoint" "^2.0.0"
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+json-parse-even-better-errors@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+loader-runner@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
+ integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+lodash@^4.17.20:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.4:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.27:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+node-releases@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
+ integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+resolve-pathname@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
+ integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+safe-buffer@^5.1.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+schema-utils@^3.1.0, schema-utils@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
+ integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+ dependencies:
+ "@types/json-schema" "^7.0.8"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
+section-matter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
+ integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
+ dependencies:
+ extend-shallow "^2.0.1"
+ kind-of "^6.0.0"
+
+serialize-javascript@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
+ integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
+ dependencies:
+ randombytes "^2.1.0"
+
+shallow-clone@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
+ integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+ dependencies:
+ kind-of "^6.0.2"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+source-map-support@~0.5.20:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map@^0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+strip-bom-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
+ integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+tapable@^2.1.1, tapable@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
+ integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+
+terser-webpack-plugin@^5.1.3:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90"
+ integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.7"
+ jest-worker "^27.4.5"
+ schema-utils "^3.1.1"
+ serialize-javascript "^6.0.0"
+ terser "^5.7.2"
+
+terser@^5.7.2:
+ version "5.14.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
+ integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.2"
+ acorn "^8.5.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+tslib@^2.2.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
+ integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+
+typescript@^4.8.0-dev.20220719:
+ version "4.8.0-dev.20220719"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.0-dev.20220719.tgz#5481fe69ef18473d0da5ed23512d5754a2f998ef"
+ integrity sha512-IAZp6IDszN9iZi7R5LOqR5j0Ffy737RVQF7IefH1hNtFE+HiTjfsEYtWD2M0X/2feOCESZEKaa+GmuOVFuFhUQ==
+
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+update-browserslist-db@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
+ integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==
+ dependencies:
+ escalade "^3.1.1"
+ picocolors "^1.0.0"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+watchpack@^2.3.1:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
+ integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
+webpack-merge@^5.8.0:
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61"
+ integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
+ dependencies:
+ clone-deep "^4.0.1"
+ wildcard "^2.0.0"
+
+webpack-sources@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack@^5.40.0:
+ version "5.73.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38"
+ integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==
+ dependencies:
+ "@types/eslint-scope" "^3.7.3"
+ "@types/estree" "^0.0.51"
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/wasm-edit" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+ acorn "^8.4.1"
+ acorn-import-assertions "^1.7.6"
+ browserslist "^4.14.5"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^5.9.3"
+ es-module-lexer "^0.9.0"
+ eslint-scope "5.1.1"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.9"
+ json-parse-even-better-errors "^2.3.1"
+ loader-runner "^4.2.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ schema-utils "^3.1.0"
+ tapable "^2.1.1"
+ terser-webpack-plugin "^5.1.3"
+ watchpack "^2.3.1"
+ webpack-sources "^3.2.3"
+
+wildcard@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
+ integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==