From a343ec1bc619af65688e3e46470f3f2a997ad3f9 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 23 Jan 2022 10:31:49 -0600 Subject: [PATCH] Docker config, compatibility & env var support --- client/.gitignore | 1 + client/Dockerfile | 34 + client/docker/docker-entrypoint.sh | 38 + client/docker/setup-env.sh | 3 + client/nginx/bitfeed.conf | 0 client/nginx/bitfeed.conf.template | 38 + client/package-lock.json | 4525 +---------------- client/package.json | 20 +- client/public/env.js | 5 + client/public/env.template.js | 5 + client/public/img/logo.svg | 141 + client/public/index.html | 3 +- client/rollup.config.js | 2 +- client/src/App.svelte | 3 +- client/src/config.js | 6 +- client/src/controllers/TxStream.js | 3 +- client/template/index.html | 2 +- server/Dockerfile | 30 + .../lib/lightning_network/hop_hint.ex | 30 - .../lib/lightning_network/invoice.ex | 646 --- .../lightning_network/lightning_network.ex | 10 - server/bitcoinex/mix.exs | 3 +- .../test/lightning_network/invoice_test.exs | 503 -- server/data/block.dat | Bin 0 -> 674081 bytes server/lib/block_data.ex | 4 +- server/lib/bridge.ex | 37 +- server/lib/mempool.ex | 16 +- server/lib/protocol/block.ex | 2 +- server/lib/router.ex | 2 - server/lib/server.ex | 12 +- server/mix.exs | 4 +- server/mix.lock | 2 +- 32 files changed, 592 insertions(+), 5538 deletions(-) create mode 100644 client/Dockerfile create mode 100755 client/docker/docker-entrypoint.sh create mode 100755 client/docker/setup-env.sh create mode 100644 client/nginx/bitfeed.conf create mode 100644 client/nginx/bitfeed.conf.template create mode 100644 client/public/env.js create mode 100644 client/public/env.template.js create mode 100644 client/public/img/logo.svg create mode 100644 server/Dockerfile delete mode 100644 server/bitcoinex/lib/lightning_network/hop_hint.ex delete mode 100644 server/bitcoinex/lib/lightning_network/invoice.ex delete mode 100644 server/bitcoinex/lib/lightning_network/lightning_network.ex delete mode 100644 server/bitcoinex/test/lightning_network/invoice_test.exs create mode 100644 server/data/block.dat diff --git a/client/.gitignore b/client/.gitignore index 44df65c..e094090 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -1,5 +1,6 @@ /node_modules/ /public/build/ +/releases/ .DS_Store .env diff --git a/client/Dockerfile b/client/Dockerfile new file mode 100644 index 0000000..192688f --- /dev/null +++ b/client/Dockerfile @@ -0,0 +1,34 @@ +FROM node:17-buster-slim as build + +WORKDIR /app + +COPY package.json . + +RUN npm install + +COPY babel.config.js . +COPY rollup.config.js . +COPY src ./src +COPY template ./template +COPY public ./public + +RUN npm run build + +FROM nginx:1.17.8@sha256:380eb808e2a3b0dd954f92c1cae2f845e6558a15037efefcabc5b4e03d666d03 + +EXPOSE 80 + +RUN apt-get update && apt-get install -y \ + gettext + +COPY docker/docker-entrypoint.sh / +COPY docker/setup-env.sh /docker-entrypoint.d/05-setup-env.sh +COPY nginx/bitfeed.conf.template /etc/nginx/conf.d/default.conf.template +COPY nginx/bitfeed.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/public/build /var/www/bitfeed +RUN chmod 766 /var/www/bitfeed/env.js +RUN chmod 766 /etc/nginx/conf.d/default.conf + +ENTRYPOINT ["/docker-entrypoint.sh"] + +CMD ["nginx", "-g", "daemon off;"] diff --git a/client/docker/docker-entrypoint.sh b/client/docker/docker-entrypoint.sh new file mode 100755 index 0000000..72d5cd9 --- /dev/null +++ b/client/docker/docker-entrypoint.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# vim:sw=4:ts=4:et + +set -e + +if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then + exec 3>&1 +else + exec 3>/dev/null +fi + +if [ "$1" = "nginx" -o "$1" = "nginx-debug" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then + echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration" + + echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/" + find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do + case "$f" in + *.sh) + if [ -x "$f" ]; then + echo >&3 "$0: Launching $f"; + "$f" + else + # warn on shell scripts without exec bit + echo >&3 "$0: Ignoring $f, not executable"; + fi + ;; + *) echo >&3 "$0: Ignoring $f";; + esac + done + + echo >&3 "$0: Configuration complete; ready for start up" + else + echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration" + fi +fi + +exec "$@" diff --git a/client/docker/setup-env.sh b/client/docker/setup-env.sh new file mode 100755 index 0000000..3490145 --- /dev/null +++ b/client/docker/setup-env.sh @@ -0,0 +1,3 @@ +#!/bin/sh +envsubst < "/var/www/bitfeed/env.template.js" > "/var/www/bitfeed/env.js" +envsubst '$BACKEND_HOST,$BACKEND_PORT' < "/etc/nginx/conf.d/default.conf.template" > "/etc/nginx/conf.d/default.conf" diff --git a/client/nginx/bitfeed.conf b/client/nginx/bitfeed.conf new file mode 100644 index 0000000..e69de29 diff --git a/client/nginx/bitfeed.conf.template b/client/nginx/bitfeed.conf.template new file mode 100644 index 0000000..44fbb1b --- /dev/null +++ b/client/nginx/bitfeed.conf.template @@ -0,0 +1,38 @@ +map $sent_http_content_type $expires { + default off; + text/css max; + application/javascript max; +} + +server { + listen 80; + + root /var/www/bitfeed; + index index.html; + + server_name client; + + location / { + try_files $uri $uri/ =404; + expires $expires; + } + + location /api { + proxy_pass http://wsmonobackend; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + } + + location /ws/txs { + proxy_pass http://wsmonobackend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + } +} + +upstream wsmonobackend { + server ${BACKEND_HOST}:${BACKEND_PORT}; +} diff --git a/client/package-lock.json b/client/package-lock.json index b690ad5..7e1777b 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,21 +1,13 @@ { "name": "bitfeed-client", - "version": "2.0.4", + "version": "2.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "bitfeed-client", - "version": "2.0.4", + "version": "2.1.0", "dependencies": { - "d3-color": "^3.0.1", - "d3-interpolate": "^3.0.1", - "locale-currency": "0.0.2", - "qrcode": "^1.5.0", - "rollup-plugin-inline-svg": "^2.0.0", - "sirv-cli": "^1.0.14" - }, - "devDependencies": { "@babel/core": "^7.16.5", "@babel/preset-env": "^7.16.5", "@rollup/plugin-babel": "^5.3.0", @@ -23,15 +15,21 @@ "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.1.1", "@rollup/plugin-replace": "^3.0.0", + "d3-color": "^3.0.1", + "d3-interpolate": "^3.0.1", "dotenv": "^10.0.0", - "node-sass": "^7.0.0", + "locale-currency": "0.0.2", + "qrcode": "^1.5.0", "rollup": "^2.62.0", "rollup-plugin-copy": "^3.4.0", "rollup-plugin-css-only": "^3.1.0", "rollup-plugin-glslify": "^1.2.1", + "rollup-plugin-inline-svg": "^2.0.0", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-svelte": "^7.1.0", "rollup-plugin-terser": "^7.0.2", + "sass": "^1.49.0", + "sirv-cli": "^1.0.14", "svelte": "^3.44.3", "svelte-preprocess": "^4.10.1" } @@ -40,7 +38,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.16.0" }, @@ -52,7 +49,6 @@ "version": "7.16.4", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -61,7 +57,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.16.0", "@babel/generator": "^7.16.5", @@ -91,7 +86,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0", "jsesc": "^2.5.1", @@ -105,7 +99,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -117,7 +110,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", - "dev": true, "dependencies": { "@babel/helper-explode-assignable-expression": "^7.16.0", "@babel/types": "^7.16.0" @@ -130,7 +122,6 @@ "version": "7.16.3", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.16.0", "@babel/helper-validator-option": "^7.14.5", @@ -148,7 +139,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-environment-visitor": "^7.16.5", @@ -169,7 +159,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "regexpu-core": "^4.7.1" @@ -185,7 +174,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", - "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -204,7 +192,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -216,7 +203,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -228,7 +214,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", - "dev": true, "dependencies": { "@babel/helper-get-function-arity": "^7.16.0", "@babel/template": "^7.16.0", @@ -242,7 +227,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -254,7 +238,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -266,7 +249,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -278,7 +260,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -290,7 +271,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-module-imports": "^7.16.0", @@ -309,7 +289,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -321,7 +300,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -330,7 +308,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-wrap-function": "^7.16.5", @@ -344,7 +321,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-member-expression-to-functions": "^7.16.5", @@ -360,7 +336,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -372,7 +347,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -384,7 +358,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", - "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, @@ -396,7 +369,6 @@ "version": "7.15.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -405,7 +377,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -414,7 +385,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", - "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.0", "@babel/template": "^7.16.0", @@ -429,7 +399,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", - "dev": true, "dependencies": { "@babel/template": "^7.16.0", "@babel/traverse": "^7.16.5", @@ -443,7 +412,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", @@ -457,7 +425,6 @@ "version": "7.16.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -469,7 +436,6 @@ "version": "7.16.2", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -484,7 +450,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", @@ -501,7 +466,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-remap-async-to-generator": "^7.16.5", @@ -518,7 +482,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -534,7 +497,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -551,7 +513,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -567,7 +528,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -583,7 +543,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -599,7 +558,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -615,7 +573,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -631,7 +588,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -647,7 +603,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", @@ -666,7 +621,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -682,7 +636,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", @@ -699,7 +652,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -715,7 +667,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-create-class-features-plugin": "^7.16.5", @@ -733,7 +684,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -749,7 +699,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -761,7 +710,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -773,7 +721,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -788,7 +735,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -800,7 +746,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -812,7 +757,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -824,7 +768,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -836,7 +779,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -848,7 +790,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -860,7 +801,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -872,7 +812,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -884,7 +823,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -896,7 +834,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -911,7 +848,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -926,7 +862,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -941,7 +876,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", - "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5", @@ -958,7 +892,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -973,7 +906,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -988,7 +920,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-environment-visitor": "^7.16.5", @@ -1010,7 +941,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1025,7 +955,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1040,7 +969,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -1056,7 +984,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1071,7 +998,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", - "dev": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -1087,7 +1013,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1102,7 +1027,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", - "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -1118,7 +1042,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1133,7 +1056,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1148,7 +1070,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -1165,7 +1086,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -1183,7 +1103,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", - "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.0", "@babel/helper-module-transforms": "^7.16.5", @@ -1202,7 +1121,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -1218,7 +1136,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0" }, @@ -1233,7 +1150,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1248,7 +1164,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-replace-supers": "^7.16.5" @@ -1264,7 +1179,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1279,7 +1193,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1294,7 +1207,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", - "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" }, @@ -1309,7 +1221,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1324,7 +1235,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1339,7 +1249,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" @@ -1355,7 +1264,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1370,7 +1278,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1385,7 +1292,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1400,7 +1306,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.5" }, @@ -1415,7 +1320,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -1431,7 +1335,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", @@ -1519,7 +1422,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -1535,7 +1437,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1547,7 +1448,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.16.0", "@babel/parser": "^7.16.0", @@ -1561,7 +1461,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.16.0", "@babel/generator": "^7.16.5", @@ -1582,7 +1481,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" @@ -1595,7 +1493,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", - "dev": true, "dependencies": { "commander": "^2.15.1" }, @@ -1607,7 +1504,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1620,7 +1516,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -1629,7 +1524,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1647,7 +1541,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -1670,7 +1563,6 @@ "version": "21.0.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", - "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "commondir": "^1.0.1", @@ -1691,7 +1583,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-html/-/plugin-html-0.2.4.tgz", "integrity": "sha512-x0qpNXxbmGa9Jnl4OX89AORPe2T/a4DqNK69BGRnEdaPKq6MdiUXSTam/eCkF5DxkQGcRcPq0L4vzr/E3q4mVA==", - "dev": true, "engines": { "node": ">= 8.0.0" }, @@ -1703,7 +1594,6 @@ "version": "13.1.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz", "integrity": "sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw==", - "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -1723,7 +1613,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-3.0.0.tgz", "integrity": "sha512-3c7JCbMuYXM4PbPWT4+m/4Y6U60SgsnDT/cCyAyUKwFHg7pTSfsSQzIpETha3a3ig6OdOKzZz87D9ZXIK3qsDg==", - "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -1736,7 +1625,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -1752,20 +1640,17 @@ "node_modules/@rollup/pluginutils/node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" }, "node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "node_modules/@types/fs-extra": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz", "integrity": "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -1774,7 +1659,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, "dependencies": { "@types/minimatch": "*", "@types/node": "*" @@ -1783,38 +1667,22 @@ "node_modules/@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { "version": "17.0.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", - "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true + "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==" }, "node_modules/@types/pug": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", - "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", - "dev": true + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==" }, "node_modules/@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -1823,22 +1691,14 @@ "version": "1.43.1", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", - "dev": true, "dependencies": { "@types/node": "*" } }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -1846,31 +1706,6 @@ "node": ">=0.4.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1883,7 +1718,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -1895,7 +1729,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1904,96 +1737,18 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, "dependencies": { "object.assign": "^4.1.0" } @@ -2002,7 +1757,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.0", @@ -2016,7 +1770,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", - "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.0", "core-js-compat": "^3.18.0" @@ -2029,7 +1782,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", - "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.0" }, @@ -2040,23 +1792,12 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -2065,7 +1806,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", - "dev": true, "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -2074,14 +1814,12 @@ "node_modules/bl/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/bl/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2096,7 +1834,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -2105,7 +1842,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2115,7 +1851,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -2127,7 +1862,6 @@ "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, "dependencies": { "caniuse-lite": "^1.0.30001286", "electron-to-chromium": "^1.4.17", @@ -2150,7 +1884,6 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, "engines": { "node": "*" } @@ -2158,14 +1891,12 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, "engines": { "node": ">=6" }, @@ -2177,7 +1908,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -2194,44 +1924,19 @@ "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001292", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==", - "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -2245,7 +1950,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2262,90 +1966,10 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -2353,59 +1977,32 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, "engines": [ "node >= 0.8" ], @@ -2419,14 +2016,12 @@ "node_modules/concat-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2441,7 +2036,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -2454,17 +2048,10 @@ "node": ">=4" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } @@ -2473,7 +2060,6 @@ "version": "3.20.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.1.tgz", "integrity": "sha512-AVhKZNpqMV3Jz8hU0YEXXE06qoxtQGsAqU0u1neUngz5IusDJRX/ZJ6t3i7mS7QxNyEONbCo14GprkBrxPlTZA==", - "dev": true, "dependencies": { "browserslist": "^4.19.1", "semver": "7.0.0" @@ -2487,7 +2073,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -2495,22 +2080,7 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/d3-color": { "version": "3.0.1", @@ -2531,23 +2101,10 @@ "node": ">=12" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -2568,39 +2125,15 @@ "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2609,7 +2142,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "dependencies": { "object-keys": "^1.0.12" }, @@ -2617,26 +2149,10 @@ "node": ">= 0.4" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true, "engines": { "node": ">=8" } @@ -2650,7 +2166,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -2662,7 +2177,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "dev": true, "engines": { "node": ">=10" } @@ -2671,7 +2185,6 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -2682,14 +2195,12 @@ "node_modules/duplexify/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/duplexify/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2704,26 +2215,14 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.28", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz", - "integrity": "sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg==", - "dev": true + "integrity": "sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -2739,40 +2238,19 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, "node_modules/es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -2781,7 +2259,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -2790,7 +2267,6 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", @@ -2812,7 +2288,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true, "engines": { "node": ">=0.10.0" @@ -2822,7 +2297,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2835,7 +2309,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -2843,14 +2316,12 @@ "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2859,31 +2330,14 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "engines": { "node": ">=0.8.x" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/falafel": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "dev": true, "dependencies": { "acorn": "^7.1.1", "foreach": "^2.0.5", @@ -2894,17 +2348,10 @@ "node": ">=0.4.0" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2916,23 +2363,15 @@ "node": ">=8" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -2941,7 +2380,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2964,37 +2402,12 @@ "node_modules/foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -3003,14 +2416,12 @@ "node_modules/from2/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/from2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -3025,7 +2436,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -3034,7 +2444,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -3044,67 +2453,20 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -3121,7 +2483,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -3139,29 +2500,10 @@ "node": ">=4" } }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3181,7 +2523,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -3193,7 +2534,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -3202,7 +2542,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", - "dev": true, "dependencies": { "@types/glob": "^7.1.1", "array-union": "^2.1.0", @@ -3217,45 +2556,10 @@ "node": ">=8" } }, - "node_modules/globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, - "dependencies": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/globule/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glsl-inject-defines": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=", - "dev": true, "dependencies": { "glsl-token-inject-block": "^1.0.0", "glsl-token-string": "^1.0.1", @@ -3266,7 +2570,6 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=", - "dev": true, "dependencies": { "resolve": "^0.6.1", "xtend": "^2.1.2" @@ -3275,14 +2578,12 @@ "node_modules/glsl-resolve/node_modules/resolve": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", - "dev": true + "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" }, "node_modules/glsl-resolve/node_modules/xtend": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=", - "dev": true, "engines": { "node": ">=0.4" } @@ -3290,14 +2591,12 @@ "node_modules/glsl-token-assignments": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", - "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=", - "dev": true + "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=" }, "node_modules/glsl-token-defines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=", - "dev": true, "dependencies": { "glsl-tokenizer": "^2.0.0" } @@ -3305,14 +2604,12 @@ "node_modules/glsl-token-depth": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", - "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=", - "dev": true + "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=" }, "node_modules/glsl-token-descope": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", "integrity": "sha1-D8kKsyYYa4L1l7LnfcniHvzTIHY=", - "dev": true, "dependencies": { "glsl-token-assignments": "^2.0.0", "glsl-token-depth": "^1.1.0", @@ -3323,38 +2620,32 @@ "node_modules/glsl-token-inject-block": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", - "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=", - "dev": true + "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=" }, "node_modules/glsl-token-properties": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", - "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=", - "dev": true + "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=" }, "node_modules/glsl-token-scope": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", - "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=", - "dev": true + "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=" }, "node_modules/glsl-token-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", - "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=", - "dev": true + "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=" }, "node_modules/glsl-token-whitespace-trim": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", - "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=", - "dev": true + "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=" }, "node_modules/glsl-tokenizer": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", - "dev": true, "dependencies": { "through2": "^0.6.3" } @@ -3362,14 +2653,12 @@ "node_modules/glsl-tokenizer/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "node_modules/glsl-tokenizer/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -3380,14 +2669,12 @@ "node_modules/glsl-tokenizer/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "node_modules/glsl-tokenizer/node_modules/through2": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, "dependencies": { "readable-stream": ">=1.0.33-1 <1.1.0-0", "xtend": ">=4.0.0 <4.1.0-0" @@ -3397,7 +2684,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dev": true, "dependencies": { "bl": "^2.2.1", "concat-stream": "^1.5.2", @@ -3423,7 +2709,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", - "dev": true, "dependencies": { "glsl-inject-defines": "^1.0.1", "glsl-token-defines": "^1.0.0", @@ -3441,7 +2726,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", - "dev": true, "dependencies": { "@choojs/findup": "^0.2.0", "events": "^3.2.0", @@ -3456,46 +2740,12 @@ "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -3507,7 +2757,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, "engines": { "node": ">=4" } @@ -3516,7 +2765,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -3524,62 +2772,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, "engines": { "node": ">= 4" } }, - "node_modules/indent-string": { + "node_modules/immutable": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3588,20 +2797,12 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3613,7 +2814,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -3625,7 +2825,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3642,7 +2841,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3653,32 +2851,20 @@ "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-plain-object": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3687,40 +2873,19 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, "dependencies": { "@types/estree": "*" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -3734,7 +2899,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -3743,7 +2907,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3751,29 +2914,15 @@ "node": ">=8" } }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -3781,35 +2930,10 @@ "node": ">=4" } }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "dependencies": { "minimist": "^1.2.5" }, @@ -3824,35 +2948,10 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -3865,7 +2964,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -3874,17 +2972,10 @@ "node": ">= 0.8.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "node_modules/livereload": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz", "integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==", - "dev": true, "dependencies": { "chokidar": "^3.5.0", "livereload-js": "^3.3.1", @@ -3901,8 +2992,7 @@ "node_modules/livereload-js": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.2.tgz", - "integrity": "sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==", - "dev": true + "integrity": "sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==" }, "node_modules/local-access": { "version": "1.1.0", @@ -3928,35 +3018,15 @@ "node": ">=8" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" }, "node_modules/magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, "dependencies": { "sourcemap-codec": "^1.4.4" } @@ -3965,7 +3035,6 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "dev": true, "dependencies": { "once": "~1.3.0" } @@ -3974,60 +3043,19 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, "dependencies": { "wrappy": "1" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -4036,7 +3064,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, "dependencies": { "braces": "^3.0.1", "picomatch": "^2.2.3" @@ -4045,32 +3072,10 @@ "node": ">=8.6" } }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, "engines": { "node": ">=4" } @@ -4079,7 +3084,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4090,53 +3094,12 @@ "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "dependencies": { "minimist": "^1.2.5" }, @@ -4163,376 +3126,22 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/murmurhash-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=", - "dev": true - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true - }, - "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-gyp/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-gyp/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/node-gyp/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-gyp/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/node-gyp/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-gyp/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=" }, "node_modules/node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node_modules/node-sass": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.0.tgz", - "integrity": "sha512-6yUnsD3L8fVbgMX6nKQqZkjRcG7a/PpmF0pEyeWf+BgbTj2ToJlCYrnUifL2KbjV5gIY22I3oppahBWA3B+jUg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/node-sass/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/node-sass/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/node-sass/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/node-sass/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4541,7 +3150,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -4550,7 +3158,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -4568,7 +3175,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -4577,7 +3183,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -4593,8 +3198,7 @@ "node_modules/opts": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", - "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==", - "dev": true + "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==" }, "node_modules/p-limit": { "version": "2.3.0", @@ -4629,24 +3233,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4659,52 +3245,32 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -4724,7 +3290,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, "engines": { "node": ">= 0.8.0" } @@ -4732,23 +3297,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/qrcode": { "version": "1.5.0", @@ -4853,20 +3402,10 @@ "node": ">=6" } }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -4882,120 +3421,18 @@ } ] }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -5003,30 +3440,15 @@ "node": ">=8.10.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, "dependencies": { "regenerate": "^1.4.2" }, @@ -5037,14 +3459,12 @@ "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "node_modules/regenerator-transform": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } @@ -5053,7 +3473,6 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^9.0.0", @@ -5069,14 +3488,12 @@ "node_modules/regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "node_modules/regjsparser": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, "dependencies": { "jsesc": "~0.5.0" }, @@ -5088,43 +3505,10 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, "bin": { "jsesc": "bin/jsesc" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5141,14 +3525,12 @@ "node_modules/require-relative": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=" }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -5161,27 +3543,11 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "2.62.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.62.0.tgz", @@ -5200,7 +3566,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz", "integrity": "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==", - "dev": true, "dependencies": { "@types/fs-extra": "^8.0.1", "colorette": "^1.1.0", @@ -5216,7 +3581,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-3.1.0.tgz", "integrity": "sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==", - "dev": true, "dependencies": { "@rollup/pluginutils": "4" }, @@ -5231,7 +3595,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, "dependencies": { "estree-walker": "^2.0.1", "picomatch": "^2.2.2" @@ -5244,7 +3607,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/rollup-plugin-glslify/-/rollup-plugin-glslify-1.2.1.tgz", "integrity": "sha512-2kfmenpU05Xigj1Km9G4KWIhD0HNhTwD6MMhqrr00lH9Q2jtSNoPCTka5ei7KRam6PUE/T68mEzjAswwmdMdpQ==", - "dev": true, "dependencies": { "glslify": "^7.1.1", "rollup-pluginutils": "^2.8.2" @@ -5262,7 +3624,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.5.tgz", "integrity": "sha512-vqQZ/UQowTW7VoiKEM5ouNW90wE5/GZLfdWuR0ELxyKOJUIaj+uismPZZaICU4DnWPVjnpCDDxEqwU7pcKY/PA==", - "dev": true, "dependencies": { "livereload": "^0.9.1" }, @@ -5274,7 +3635,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", "integrity": "sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==", - "dev": true, "dependencies": { "require-relative": "^0.8.7", "rollup-pluginutils": "^2.8.2" @@ -5291,7 +3651,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -5306,7 +3665,6 @@ "version": "8.6.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, "optional": true, "peer": true, "bin": { @@ -5320,7 +3678,6 @@ "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, "engines": { "node": ">= 8" } @@ -5329,7 +3686,6 @@ "version": "5.10.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -5354,7 +3710,6 @@ "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, "dependencies": { "estree-walker": "^0.6.1" } @@ -5362,14 +3717,12 @@ "node_modules/rollup-pluginutils/node_modules/estree-walker": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -5402,20 +3755,12 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/sander": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=", - "dev": true, "dependencies": { "es6-promise": "^3.1.2", "graceful-fs": "^4.1.3", @@ -5427,7 +3772,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -5435,41 +3779,20 @@ "rimraf": "bin.js" } }, - "node_modules/sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, + "node_modules/sass": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", + "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { - "sassgraph": "bin/sassgraph" - } - }, - "node_modules/scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "dependencies": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" + "sass": "sass.js" }, "engines": { - "node": ">=0.8.0" + "node": ">=8.9.0" } }, "node_modules/semiver": { @@ -5484,7 +3807,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -5493,7 +3815,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -5506,35 +3827,7 @@ "node_modules/shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" }, "node_modules/sirv": { "version": "1.0.19", @@ -5574,7 +3867,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -5583,7 +3875,6 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=", - "dev": true, "dependencies": { "buffer-crc32": "^0.2.5", "minimist": "^1.2.0", @@ -5598,7 +3889,14 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "engines": { "node": ">=0.10.0" } @@ -5607,7 +3905,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -5617,7 +3914,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -5625,71 +3921,12 @@ "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "node_modules/stack-trace": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", - "dev": true, "engines": { "node": "*" } @@ -5698,84 +3935,14 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "dev": true, "dependencies": { "escodegen": "^1.11.1" } }, - "node_modules/stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/stdout-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/stdout-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stdout-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "node_modules/string-width": { "version": "4.2.3", @@ -5805,7 +3972,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, "dependencies": { "min-indent": "^1.0.0" }, @@ -5817,7 +3983,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -5829,7 +3994,6 @@ "version": "3.44.3", "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.3.tgz", "integrity": "sha512-aGgrNCip5PQFNfq9e9tmm7EYxWLVHoFsEsmKrtOeRD8dmoGDdyTQ+21xd7qgFd8MNdKGSYvg7F9dr+Tc0yDymg==", - "dev": true, "engines": { "node": ">= 8" } @@ -5838,7 +4002,6 @@ "version": "4.10.1", "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.1.tgz", "integrity": "sha512-NSNloaylf+o9UeyUR2KvpdxrAyMdHl3U7rMnoP06/sG0iwJvlUM4TpMno13RaNqovh4AAoGsx1jeYcIyuGUXMw==", - "dev": true, "hasInstallScript": true, "dependencies": { "@types/pug": "^2.0.4", @@ -5900,40 +4063,10 @@ } } }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -5942,14 +4075,12 @@ "node_modules/through2/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/through2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5964,7 +4095,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -5981,7 +4111,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, "engines": { "node": ">=4" } @@ -5990,7 +4119,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -6006,60 +4134,10 @@ "node": ">=6" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "dependencies": { - "glob": "^7.1.2" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "dependencies": { "prelude-ls": "~1.1.2" }, @@ -6067,29 +4145,15 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, "engines": { "node": ">=4" } @@ -6098,7 +4162,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -6111,7 +4174,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, "engines": { "node": ">=4" } @@ -6120,7 +4182,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, "engines": { "node": ">=4" } @@ -6129,173 +4190,37 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "engines": { "node": ">= 4.0.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -6316,7 +4241,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -6325,145 +4249,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } }, "dependencies": { @@ -6471,7 +4256,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, "requires": { "@babel/highlight": "^7.16.0" } @@ -6479,14 +4263,12 @@ "@babel/compat-data": { "version": "7.16.4", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", - "dev": true + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==" }, "@babel/core": { "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", - "dev": true, "requires": { "@babel/code-frame": "^7.16.0", "@babel/generator": "^7.16.5", @@ -6509,7 +4291,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", - "dev": true, "requires": { "@babel/types": "^7.16.0", "jsesc": "^2.5.1", @@ -6520,7 +4301,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6529,7 +4309,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", - "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.16.0", "@babel/types": "^7.16.0" @@ -6539,7 +4318,6 @@ "version": "7.16.3", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", - "dev": true, "requires": { "@babel/compat-data": "^7.16.0", "@babel/helper-validator-option": "^7.14.5", @@ -6551,7 +4329,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-environment-visitor": "^7.16.5", @@ -6566,7 +4343,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "regexpu-core": "^4.7.1" @@ -6576,7 +4352,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", - "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -6592,7 +4367,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6601,7 +4375,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6610,7 +4383,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", - "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.16.0", "@babel/template": "^7.16.0", @@ -6621,7 +4393,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6630,7 +4401,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6639,7 +4409,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6648,7 +4417,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6657,7 +4425,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", - "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-module-imports": "^7.16.0", @@ -6673,7 +4440,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6681,14 +4447,12 @@ "@babel/helper-plugin-utils": { "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", - "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", - "dev": true + "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==" }, "@babel/helper-remap-async-to-generator": { "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-wrap-function": "^7.16.5", @@ -6699,7 +4463,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", - "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-member-expression-to-functions": "^7.16.5", @@ -6712,7 +4475,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6721,7 +4483,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6730,7 +4491,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", - "dev": true, "requires": { "@babel/types": "^7.16.0" } @@ -6738,20 +4498,17 @@ "@babel/helper-validator-identifier": { "version": "7.15.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/helper-validator-option": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" }, "@babel/helper-wrap-function": { "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", - "dev": true, "requires": { "@babel/helper-function-name": "^7.16.0", "@babel/template": "^7.16.0", @@ -6763,7 +4520,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", - "dev": true, "requires": { "@babel/template": "^7.16.0", "@babel/traverse": "^7.16.5", @@ -6774,7 +4530,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", @@ -6784,14 +4539,12 @@ "@babel/parser": { "version": "7.16.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", - "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", - "dev": true + "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.2", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz", "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -6800,7 +4553,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", @@ -6811,7 +4563,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-remap-async-to-generator": "^7.16.5", @@ -6822,7 +4573,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -6832,7 +4582,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -6843,7 +4592,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -6853,7 +4601,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -6863,7 +4610,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -6873,7 +4619,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -6883,7 +4628,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -6893,7 +4637,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -6903,7 +4646,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", - "dev": true, "requires": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", @@ -6916,7 +4658,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -6926,7 +4667,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", @@ -6937,7 +4677,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -6947,7 +4686,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-create-class-features-plugin": "^7.16.5", @@ -6959,7 +4697,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -6969,7 +4706,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -6978,7 +4714,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" } @@ -6987,7 +4722,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -6996,7 +4730,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7005,7 +4738,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -7014,7 +4746,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7023,7 +4754,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -7032,7 +4762,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7041,7 +4770,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -7050,7 +4778,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7059,7 +4786,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7068,7 +4794,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -7077,7 +4802,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -7086,7 +4810,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -7095,7 +4818,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7104,7 +4826,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", - "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5", @@ -7115,7 +4836,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7124,7 +4844,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7133,7 +4852,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-environment-visitor": "^7.16.5", @@ -7149,7 +4867,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7158,7 +4875,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7167,7 +4883,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -7177,7 +4892,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7186,7 +4900,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", - "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -7196,7 +4909,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7205,7 +4917,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", - "dev": true, "requires": { "@babel/helper-function-name": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -7215,7 +4926,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7224,7 +4934,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7233,7 +4942,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", - "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -7244,7 +4952,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", - "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5", @@ -7256,7 +4963,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", - "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.0", "@babel/helper-module-transforms": "^7.16.5", @@ -7269,7 +4975,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", - "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.5", "@babel/helper-plugin-utils": "^7.16.5" @@ -7279,7 +4984,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0" } @@ -7288,7 +4992,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7297,7 +5000,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-replace-supers": "^7.16.5" @@ -7307,7 +5009,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7316,7 +5017,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7325,7 +5025,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", - "dev": true, "requires": { "regenerator-transform": "^0.14.2" } @@ -7334,7 +5033,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7343,7 +5041,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7352,7 +5049,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" @@ -7362,7 +5058,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7371,7 +5066,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7380,7 +5074,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7389,7 +5082,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.5" } @@ -7398,7 +5090,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", "@babel/helper-plugin-utils": "^7.16.5" @@ -7408,7 +5099,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", - "dev": true, "requires": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", @@ -7490,7 +5180,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -7503,7 +5192,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } @@ -7512,7 +5200,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", - "dev": true, "requires": { "@babel/code-frame": "^7.16.0", "@babel/parser": "^7.16.0", @@ -7523,7 +5210,6 @@ "version": "7.16.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", - "dev": true, "requires": { "@babel/code-frame": "^7.16.0", "@babel/generator": "^7.16.5", @@ -7541,7 +5227,6 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" @@ -7551,7 +5236,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", - "dev": true, "requires": { "commander": "^2.15.1" } @@ -7560,7 +5244,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -7569,14 +5252,12 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -7591,7 +5272,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, "requires": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -7601,7 +5281,6 @@ "version": "21.0.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", - "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", "commondir": "^1.0.1", @@ -7616,14 +5295,12 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-html/-/plugin-html-0.2.4.tgz", "integrity": "sha512-x0qpNXxbmGa9Jnl4OX89AORPe2T/a4DqNK69BGRnEdaPKq6MdiUXSTam/eCkF5DxkQGcRcPq0L4vzr/E3q4mVA==", - "dev": true, "requires": {} }, "@rollup/plugin-node-resolve": { "version": "13.1.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz", "integrity": "sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw==", - "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -7637,7 +5314,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-3.0.0.tgz", "integrity": "sha512-3c7JCbMuYXM4PbPWT4+m/4Y6U60SgsnDT/cCyAyUKwFHg7pTSfsSQzIpETha3a3ig6OdOKzZz87D9ZXIK3qsDg==", - "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -7647,7 +5323,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, "requires": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -7657,22 +5332,19 @@ "estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" } } }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/fs-extra": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz", "integrity": "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==", - "dev": true, "requires": { "@types/node": "*" } @@ -7681,7 +5353,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -7690,38 +5361,22 @@ "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { "version": "17.0.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", - "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true + "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==" }, "@types/pug": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", - "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", - "dev": true + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==" }, "@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, "requires": { "@types/node": "*" } @@ -7730,40 +5385,14 @@ "version": "1.43.1", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", - "dev": true, "requires": { "@types/node": "*" } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "ansi-regex": { "version": "5.0.1", @@ -7774,7 +5403,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -7783,84 +5411,20 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, "requires": { "object.assign": "^4.1.0" } @@ -7869,7 +5433,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", - "dev": true, "requires": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.0", @@ -7880,7 +5443,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", - "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.0", "core-js-compat": "^3.18.0" @@ -7890,7 +5452,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", - "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.0" } @@ -7898,29 +5459,17 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", - "dev": true, "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -7929,14 +5478,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7951,7 +5498,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -7962,7 +5508,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7972,7 +5517,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -7981,7 +5525,6 @@ "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001286", "electron-to-chromium": "^1.4.17", @@ -7993,26 +5536,22 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -8023,34 +5562,15 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, "caniuse-lite": { "version": "1.0.30001292", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz", - "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==" }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -8061,7 +5581,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -8073,74 +5592,10 @@ "readdirp": "~3.6.0" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -8148,53 +5603,32 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -8205,14 +5639,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8227,7 +5659,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -8239,17 +5670,10 @@ "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "requires": { "safe-buffer": "~5.1.1" } @@ -8258,7 +5682,6 @@ "version": "3.20.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.1.tgz", "integrity": "sha512-AVhKZNpqMV3Jz8hU0YEXXE06qoxtQGsAqU0u1neUngz5IusDJRX/ZJ6t3i7mS7QxNyEONbCo14GprkBrxPlTZA==", - "dev": true, "requires": { "browserslist": "^4.19.1", "semver": "7.0.0" @@ -8267,27 +5690,14 @@ "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" } } }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "d3-color": { "version": "3.0.1", @@ -8302,20 +5712,10 @@ "d3-color": "1 - 3" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -8325,62 +5725,28 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" }, "dijkstrajs": { "version": "1.0.2", @@ -8391,7 +5757,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "requires": { "path-type": "^4.0.0" } @@ -8399,14 +5764,12 @@ "dotenv": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "dev": true + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -8417,14 +5780,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8439,28 +5800,16 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } } } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "electron-to-chromium": { "version": "1.4.28", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz", - "integrity": "sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg==", - "dev": true + "integrity": "sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg==" }, "emoji-regex": { "version": "8.0.0", @@ -8476,49 +5825,29 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, "es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^4.2.0", @@ -8531,7 +5860,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true } } @@ -8539,50 +5867,32 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "falafel": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "dev": true, "requires": { "acorn": "^7.1.1", "foreach": "^2.0.5", @@ -8590,17 +5900,10 @@ "object-keys": "^1.0.6" } }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, "fast-glob": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -8609,23 +5912,15 @@ "micromatch": "^4.0.4" } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -8634,7 +5929,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -8651,31 +5945,12 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -8684,14 +5959,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8706,7 +5979,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -8717,65 +5989,26 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, "get-caller-file": { "version": "2.0.5", @@ -8786,7 +6019,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -8798,26 +6030,10 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8831,7 +6047,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -8839,14 +6054,12 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", - "dev": true, "requires": { "@types/glob": "^7.1.1", "array-union": "^2.1.0", @@ -8858,38 +6071,10 @@ "slash": "^3.0.0" } }, - "globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, "glsl-inject-defines": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=", - "dev": true, "requires": { "glsl-token-inject-block": "^1.0.0", "glsl-token-string": "^1.0.1", @@ -8900,7 +6085,6 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=", - "dev": true, "requires": { "resolve": "^0.6.1", "xtend": "^2.1.2" @@ -8909,28 +6093,24 @@ "resolve": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", - "dev": true + "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" }, "xtend": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", - "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=", - "dev": true + "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=" } } }, "glsl-token-assignments": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", - "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=", - "dev": true + "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=" }, "glsl-token-defines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=", - "dev": true, "requires": { "glsl-tokenizer": "^2.0.0" } @@ -8938,14 +6118,12 @@ "glsl-token-depth": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", - "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=", - "dev": true + "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=" }, "glsl-token-descope": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", "integrity": "sha1-D8kKsyYYa4L1l7LnfcniHvzTIHY=", - "dev": true, "requires": { "glsl-token-assignments": "^2.0.0", "glsl-token-depth": "^1.1.0", @@ -8956,38 +6134,32 @@ "glsl-token-inject-block": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", - "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=", - "dev": true + "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=" }, "glsl-token-properties": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", - "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=", - "dev": true + "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=" }, "glsl-token-scope": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", - "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=", - "dev": true + "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=" }, "glsl-token-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", - "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=", - "dev": true + "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=" }, "glsl-token-whitespace-trim": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", - "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=", - "dev": true + "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=" }, "glsl-tokenizer": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", - "dev": true, "requires": { "through2": "^0.6.3" }, @@ -8995,14 +6167,12 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9013,14 +6183,12 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "through2": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, "requires": { "readable-stream": ">=1.0.33-1 <1.1.0-0", "xtend": ">=4.0.0 <4.1.0-0" @@ -9032,7 +6200,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dev": true, "requires": { "bl": "^2.2.1", "concat-stream": "^1.5.2", @@ -9055,7 +6222,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", - "dev": true, "requires": { "glsl-inject-defines": "^1.0.1", "glsl-token-defines": "^1.0.0", @@ -9073,7 +6239,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", - "dev": true, "requires": { "@choojs/findup": "^0.2.0", "events": "^3.2.0", @@ -9088,36 +6253,12 @@ "graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -9125,58 +6266,27 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, - "indent-string": { + "immutable": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -9185,20 +6295,12 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -9207,7 +6309,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -9215,8 +6316,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -9227,7 +6327,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -9235,65 +6334,35 @@ "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-object": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", - "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", - "dev": true + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" }, "is-reference": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, "requires": { "@types/estree": "*" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -9303,73 +6372,32 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "requires": { "minimist": "^1.2.5" } @@ -9378,29 +6406,10 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -9410,23 +6419,15 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "livereload": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz", "integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==", - "dev": true, "requires": { "chokidar": "^3.5.0", "livereload-js": "^3.3.1", @@ -9437,8 +6438,7 @@ "livereload-js": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.2.tgz", - "integrity": "sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==", - "dev": true + "integrity": "sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==" }, "local-access": { "version": "1.1.0", @@ -9458,32 +6458,15 @@ "p-locate": "^4.1.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -9492,7 +6475,6 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "dev": true, "requires": { "once": "~1.3.0" }, @@ -9501,87 +6483,40 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, "requires": { "wrappy": "1" } } } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - } - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.2.3" } }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "requires": { - "mime-db": "1.51.0" - } - }, "min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -9589,44 +6524,12 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "requires": { "minimist": "^1.2.5" } @@ -9644,318 +6547,32 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "murmurhash-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=", - "dev": true - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true - }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } + "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=" }, "node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node-sass": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.0.tgz", - "integrity": "sha512-6yUnsD3L8fVbgMX6nKQqZkjRcG7a/PpmF0pEyeWf+BgbTj2ToJlCYrnUifL2KbjV5gIY22I3oppahBWA3B+jUg==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dev": true, - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -9967,7 +6584,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -9976,7 +6592,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -9989,8 +6604,7 @@ "opts": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", - "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==", - "dev": true + "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==" }, "p-limit": { "version": "2.3.0", @@ -10013,18 +6627,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -10033,44 +6635,27 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "pngjs": { "version": "5.0.0", @@ -10080,26 +6665,12 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "qrcode": { "version": "1.5.0", @@ -10182,137 +6753,36 @@ } } }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, "requires": { "regenerate": "^1.4.2" } @@ -10320,14 +6790,12 @@ "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, "requires": { "@babel/runtime": "^7.8.4" } @@ -10336,7 +6804,6 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, "requires": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^9.0.0", @@ -10349,14 +6816,12 @@ "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "regjsparser": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, "requires": { "jsesc": "~0.5.0" }, @@ -10364,39 +6829,10 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -10410,14 +6846,12 @@ "require-relative": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=" }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -10426,17 +6860,7 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rollup": { "version": "2.62.0", @@ -10450,7 +6874,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz", "integrity": "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==", - "dev": true, "requires": { "@types/fs-extra": "^8.0.1", "colorette": "^1.1.0", @@ -10463,7 +6886,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-3.1.0.tgz", "integrity": "sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==", - "dev": true, "requires": { "@rollup/pluginutils": "4" }, @@ -10472,7 +6894,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, "requires": { "estree-walker": "^2.0.1", "picomatch": "^2.2.2" @@ -10484,7 +6905,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/rollup-plugin-glslify/-/rollup-plugin-glslify-1.2.1.tgz", "integrity": "sha512-2kfmenpU05Xigj1Km9G4KWIhD0HNhTwD6MMhqrr00lH9Q2jtSNoPCTka5ei7KRam6PUE/T68mEzjAswwmdMdpQ==", - "dev": true, "requires": { "glslify": "^7.1.1", "rollup-pluginutils": "^2.8.2" @@ -10500,7 +6920,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.5.tgz", "integrity": "sha512-vqQZ/UQowTW7VoiKEM5ouNW90wE5/GZLfdWuR0ELxyKOJUIaj+uismPZZaICU4DnWPVjnpCDDxEqwU7pcKY/PA==", - "dev": true, "requires": { "livereload": "^0.9.1" } @@ -10509,7 +6928,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", "integrity": "sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==", - "dev": true, "requires": { "require-relative": "^0.8.7", "rollup-pluginutils": "^2.8.2" @@ -10519,7 +6937,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, "requires": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -10531,21 +6948,18 @@ "version": "8.6.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, "optional": true, "peer": true }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "terser": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -10558,7 +6972,6 @@ "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, "requires": { "estree-walker": "^0.6.1" }, @@ -10566,8 +6979,7 @@ "estree-walker": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" } } }, @@ -10575,7 +6987,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -10591,20 +7002,12 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "sander": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=", - "dev": true, "requires": { "es6-promise": "^3.1.2", "graceful-fs": "^4.1.3", @@ -10616,44 +7019,20 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" } } } }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, + "sass": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", + "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" } }, "semiver": { @@ -10664,14 +7043,12 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -10684,29 +7061,7 @@ "shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" }, "sirv": { "version": "1.0.19", @@ -10736,14 +7091,12 @@ "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "sorcery": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=", - "dev": true, "requires": { "buffer-crc32": "^0.2.5", "minimist": "^1.2.0", @@ -10754,14 +7107,17 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10770,144 +7126,32 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "stack-trace": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", - "dev": true + "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" }, "static-eval": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "dev": true, "requires": { "escodegen": "^1.11.1" } }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "string-width": { "version": "4.2.3", @@ -10931,7 +7175,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, "requires": { "min-indent": "^1.0.0" } @@ -10940,7 +7183,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -10948,14 +7190,12 @@ "svelte": { "version": "3.44.3", "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.3.tgz", - "integrity": "sha512-aGgrNCip5PQFNfq9e9tmm7EYxWLVHoFsEsmKrtOeRD8dmoGDdyTQ+21xd7qgFd8MNdKGSYvg7F9dr+Tc0yDymg==", - "dev": true + "integrity": "sha512-aGgrNCip5PQFNfq9e9tmm7EYxWLVHoFsEsmKrtOeRD8dmoGDdyTQ+21xd7qgFd8MNdKGSYvg7F9dr+Tc0yDymg==" }, "svelte-preprocess": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.1.tgz", "integrity": "sha512-NSNloaylf+o9UeyUR2KvpdxrAyMdHl3U7rMnoP06/sG0iwJvlUM4TpMno13RaNqovh4AAoGsx1jeYcIyuGUXMw==", - "dev": true, "requires": { "@types/pug": "^2.0.4", "@types/sass": "^1.16.0", @@ -10965,33 +7205,10 @@ "strip-indent": "^3.0.0" } }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -11000,14 +7217,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11022,7 +7237,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -11037,14 +7251,12 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -11054,78 +7266,28 @@ "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "requires": { "prelude-ls": "~1.1.2" } }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" }, "unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -11134,280 +7296,53 @@ "unicode-match-property-value-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" }, "unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, "requires": {} }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true } } } diff --git a/client/package.json b/client/package.json index df60dfe..6bb9086 100644 --- a/client/package.json +++ b/client/package.json @@ -1,12 +1,12 @@ { "name": "bitfeed-client", - "version": "2.0.4", + "version": "2.1.2", "scripts": { "build": "rollup -c", "dev": "rollup -c -w", "start": "sirv public" }, - "devDependencies": { + "dependencies": { "@babel/core": "^7.16.5", "@babel/preset-env": "^7.16.5", "@rollup/plugin-babel": "^5.3.0", @@ -14,24 +14,22 @@ "@rollup/plugin-html": "^0.2.4", "@rollup/plugin-node-resolve": "^13.1.1", "@rollup/plugin-replace": "^3.0.0", + "d3-color": "^3.0.1", + "d3-interpolate": "^3.0.1", "dotenv": "^10.0.0", - "node-sass": "^7.0.0", + "locale-currency": "0.0.2", + "qrcode": "^1.5.0", "rollup": "^2.62.0", "rollup-plugin-copy": "^3.4.0", "rollup-plugin-css-only": "^3.1.0", "rollup-plugin-glslify": "^1.2.1", + "rollup-plugin-inline-svg": "^2.0.0", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-svelte": "^7.1.0", "rollup-plugin-terser": "^7.0.2", + "sass": "^1.49.0", + "sirv-cli": "^1.0.14", "svelte": "^3.44.3", "svelte-preprocess": "^4.10.1" - }, - "dependencies": { - "d3-color": "^3.0.1", - "d3-interpolate": "^3.0.1", - "locale-currency": "0.0.2", - "qrcode": "^1.5.0", - "rollup-plugin-inline-svg": "^2.0.0", - "sirv-cli": "^1.0.14" } } diff --git a/client/public/env.js b/client/public/env.js new file mode 100644 index 0000000..f169859 --- /dev/null +++ b/client/public/env.js @@ -0,0 +1,5 @@ +window.injected = { + TARGET: 'public', + OVERRIDE_BACKEND_HOST: 'localhost', + OVERRIDE_BACKEND_PORT: 4000 +} diff --git a/client/public/env.template.js b/client/public/env.template.js new file mode 100644 index 0000000..73e86f4 --- /dev/null +++ b/client/public/env.template.js @@ -0,0 +1,5 @@ +window.injected = { + TARGET: '${TARGET}', + OVERRIDE_BACKEND_HOST: '${OVERRIDE_BACKEND_HOST}', + OVERRIDE_BACKEND_PORT: '${OVERRIDE_BACKEND_PORT}' +} diff --git a/client/public/img/logo.svg b/client/public/img/logo.svg new file mode 100644 index 0000000..dc3c8b3 --- /dev/null +++ b/client/public/img/logo.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/client/public/index.html b/client/public/index.html index 61f9db6..b56ad30 100644 --- a/client/public/index.html +++ b/client/public/index.html @@ -31,8 +31,9 @@ - + + diff --git a/client/rollup.config.js b/client/rollup.config.js index a76f595..d5b681d 100644 --- a/client/rollup.config.js +++ b/client/rollup.config.js @@ -16,7 +16,7 @@ import fs from 'fs' configDotenv(); -const hash = String(require("child_process").execSync("git rev-parse --short HEAD")).trim(); +const hash = process.env.npm_package_version; const htmlOptions = { template: async ({ attributes, files, meta, publicPath, title }) => { const rawTemplate = fs.readFileSync('./template/index.html', { encoding: 'utf8', flag: 'r'}) diff --git a/client/src/App.svelte b/client/src/App.svelte index 9a92de7..958a427 100644 --- a/client/src/App.svelte +++ b/client/src/App.svelte @@ -1,6 +1,7 @@
diff --git a/client/src/config.js b/client/src/config.js index 547b6e4..ff2349b 100644 --- a/client/src/config.js +++ b/client/src/config.js @@ -3,8 +3,10 @@ export default { donationRoot: 'https://donate.monospace.live', debug: false, layoutHints: false, - websocket_path: '/ws/txs', - localSocket: false, + public: (window.injected.TARGET === "public"), + backend: window.injected.OVERRIDE_BACKEND_HOST, + backendPort: window.injected.OVERRIDE_BACKEND_PORT, + secureSocket: (window.isSecureContext && !window.location.host.startsWith('localhost')), nofeed: false, txDelay: 10000, donationsEnabled: true, diff --git a/client/src/controllers/TxStream.js b/client/src/controllers/TxStream.js index 5b6c853..42cf220 100644 --- a/client/src/controllers/TxStream.js +++ b/client/src/controllers/TxStream.js @@ -8,7 +8,8 @@ lastBlockId.subscribe(val => { lastBlockSeen = val }) class TxStream { constructor () { - this.websocketUri = config.localSocket ? `ws://localhost:4000${config.websocket_path}` : (config.dev ? `wss://bits.monospace.live${config.websocket_path}` : `wss://${window.location.host}${config.websocket_path}`) + this.websocketUri = `${config.secureSocket ? 'wss://' : 'ws://'}${config.backend ? config.backend : window.location.host }${config.backendPort ? ':' + config.backendPort : ''}/ws/txs` + console.log('connecting to ', this.websocketUri) this.reconnectBackoff = 250 this.websocket = null this.setConnected(false) diff --git a/client/template/index.html b/client/template/index.html index 9984a26..0e9b98b 100644 --- a/client/template/index.html +++ b/client/template/index.html @@ -32,8 +32,8 @@ - {{css}} + {{scripts}} diff --git a/server/Dockerfile b/server/Dockerfile new file mode 100644 index 0000000..f095c3b --- /dev/null +++ b/server/Dockerfile @@ -0,0 +1,30 @@ +FROM elixir:1.11-slim + +RUN mix local.hex --force \ + && mix local.rebar --force + +ENV APP_HOME /app + +WORKDIR $APP_HOME + +EXPOSE 4000 + +COPY mix.exs . +COPY mix.lock . +COPY bitcoinex ./bitcoinex + +RUN mix do deps.get +RUN mix do deps.compile + +COPY lib ./lib +COPY log ./log +COPY config ./config + +ENV MIX_ENV prod +ENV RELEASE_NODE bitfeed +RUN mix release +RUN mkdir /app/data +RUN chown -R 1000:1000 /app/ +RUN chmod -R 755 /app/ + +CMD ["/app/_build/prod/rel/prod/bin/prod", "start"] diff --git a/server/bitcoinex/lib/lightning_network/hop_hint.ex b/server/bitcoinex/lib/lightning_network/hop_hint.ex deleted file mode 100644 index ece4361..0000000 --- a/server/bitcoinex/lib/lightning_network/hop_hint.ex +++ /dev/null @@ -1,30 +0,0 @@ -defmodule Bitcoinex.LightningNetwork.HopHint do - @moduledoc """ - A hop hint is used to help the payer route a payment to the receiver. - - A hint is included in BOLT#11 Invoices. - """ - - @enforce_keys [ - :node_id, - :channel_id, - :fee_base_m_sat, - :fee_proportional_millionths, - :cltv_expiry_delta - ] - defstruct [ - :node_id, - :channel_id, - :fee_base_m_sat, - :fee_proportional_millionths, - :cltv_expiry_delta - ] - - @type t() :: %__MODULE__{ - node_id: String.t(), - channel_id: non_neg_integer, - fee_base_m_sat: non_neg_integer, - fee_proportional_millionths: non_neg_integer, - cltv_expiry_delta: non_neg_integer - } -end diff --git a/server/bitcoinex/lib/lightning_network/invoice.ex b/server/bitcoinex/lib/lightning_network/invoice.ex deleted file mode 100644 index 3223af2..0000000 --- a/server/bitcoinex/lib/lightning_network/invoice.ex +++ /dev/null @@ -1,646 +0,0 @@ -defmodule Bitcoinex.LightningNetwork.Invoice do - @moduledoc """ - Includes BOLT#11 Invoice serialization. - - Reference: https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md - """ - - alias Bitcoinex.{Bech32, Network, Segwit} - alias Bitcoinex.LightningNetwork.HopHint - alias Decimal, as: D - - use Bitwise - # consider using https://github.com/ejpcmac/typed_struct - - @default_min_final_cltv_expiry 18 - @default_expiry 3600 - - @enforce_keys [:network, :destination, :payment_hash, :timestamp] - defstruct [ - :network, - :destination, - :payment_hash, - :amount_msat, - :timestamp, - :description, - :description_hash, - :fallback_address, - route_hints: [], - expiry: @default_expiry, - min_final_cltv_expiry: @default_min_final_cltv_expiry - ] - - @type t() :: %__MODULE__{ - network: Network.network_name(), - destination: String.t(), - payment_hash: String.t(), - amount_msat: non_neg_integer | nil, - timestamp: integer(), - expiry: integer() | nil, - # description and description_hash are either both non-nil or nil - description: String.t() | nil, - description_hash: String.t() | nil, - fallback_address: String.t() | nil, - min_final_cltv_expiry: non_neg_integer, - route_hints: list(HopHint.t()) - } - - @prefix "ln" - @valid_multipliers ~w(m u n p) - # TODO move it to bitcoin asset? - @milli_satoshi_per_bitcoin 100_000_000_000 - # the 512 bit signature + 8 bit recovery ID. - @signature_base32_length 104 - @timestamp_base32_length 7 - @sha256_hash_base32_length 52 - @pubkey_base32_length 53 - @hop_hint_length 51 - @type error :: atom - - @doc """ - Decode accepts a Bech32 encoded string invoice and deserializes it. - """ - @spec decode(String.t()) :: {:ok, t} | {:error, error} - def decode(invoice) when is_binary(invoice) do - with {:ok, {_encoding_type, hrp, data}} <- Bech32.decode(invoice, :infinity), - {:ok, {network, amount_msat}} <- parse_hrp(hrp), - {invoice_data, signature_data} = split_at(data, -@signature_base32_length), - {:ok, parsed_data} <- - parse_invoice_data(invoice_data, network), - {:ok, destination} <- - validate_and_parse_signature_data( - Map.get(parsed_data, :destination), - hrp, - invoice_data, - signature_data - ) do - __MODULE__ - |> struct( - Map.merge( - parsed_data, - %{ - network: network, - amount_msat: amount_msat, - destination: destination - } - ) - ) - |> validate_invoice() - end - end - - def decode(invoice) when is_binary(invoice) do - {:error, :no_ln_prefix} - end - - @doc """ - Returns the expiry of the invoice. - """ - @spec expires_at(Bitcoinex.LightningNetwork.Invoice.t()) :: DateTime.t() - def expires_at(%__MODULE__{} = invoice) do - expiry = invoice.expiry - Timex.from_unix(invoice.timestamp + expiry, :second) - end - - # checking some invariant for invoice - # TODO Could we use ecto(without SQL) for this? - defp validate_invoice(%__MODULE__{} = invoice) do - cond do - is_nil(invoice.network) -> - {:error, :network_missing} - - !is_nil(invoice.amount_msat) && invoice.amount_msat < 0 -> - {:error, :negative_amount_msat} - - is_nil(invoice.payment_hash) -> - {:error, :payment_hash_missing} - - is_nil(invoice.description) && is_nil(invoice.description_hash) -> - {:error, :both_description_and_description_hash_present} - - !is_nil(invoice.description) && !is_nil(invoice.description_hash) -> - {:error, :both_description_and_description_hash_missing} - - # lnd have this but not in Bolt11. do we need to enforce this? - Enum.count(invoice.route_hints) > 20 -> - {:error, :too_many_private_routes} - - String.length(invoice.payment_hash) != 64 -> - {:error, :invalid_payment_hash_length} - - !is_nil(invoice.description_hash) && String.length(invoice.description_hash) != 64 -> - {:error, :invalid_payment_hash} - - # String.length(invoice.destination) != 64 -> - # {:error, :invalid_destination_length} - - true -> - {:ok, invoice} - end - end - - defp validate_and_parse_signature_data(destination, hrp, invoice_data, signature_data) - when is_list(invoice_data) and is_list(signature_data) do - with {:ok, signature_data_in_byte} <- Bech32.convert_bits(signature_data, 5, 8), - {signature, [recoveryId]} = split_at(signature_data_in_byte, -1), - {:ok, invoice_data_in_byte} <- Bech32.convert_bits(invoice_data, 5, 8) do - to_sign = (hrp |> :erlang.binary_to_list()) ++ invoice_data_in_byte - signature = signature |> byte_list_to_binary - hash = to_sign |> Bitcoinex.Utils.sha256() - - # TODO if destination exist from tagged field, we dun need to recover but to verify it with signature - # but that require convert lg sig before using secp256k1 to verify it - # TODO refactor too nested - case Bitcoinex.Secp256k1.ecdsa_recover_compact(hash, signature, recoveryId) do - {:ok, pubkey} -> - if is_nil(destination) or destination == pubkey do - {:ok, pubkey} - else - {:error, :invalid_invoice_signature} - end - - {:error, error} -> - {:error, error} - end - end - end - - defp parse_invoice_data(data, network) when is_list(data) do - {timstamp_data, tagged_fields_data} = split_at(data, @timestamp_base32_length) - - with {:ok, timestamp} <- parse_timestamp(timstamp_data), - {:ok, parsed_data} <- - parse_tagged_fields(tagged_fields_data, network) do - {:ok, Map.put(parsed_data, :timestamp, timestamp)} - end - end - - defp parse_tagged_fields(data, network) when is_list(data) do - do_parse_tagged_fields(data, %{}, network) - end - - defp do_parse_tagged_fields([type, data_length1, data_length2 | rest], acc, network) do - data_length = data_length1 <<< 5 ||| data_length2 - - if Enum.count(rest) < data_length do - {:error, :invalid_field_length} - else - {data, new_rest} = split_at(rest, data_length) - - case(parse_tagged_field(type, data, acc, network)) do - {:ok, acc} -> - do_parse_tagged_fields(new_rest, acc, network) - - {:error, error} -> - {:error, error} - end - end - end - - defp do_parse_tagged_fields(_, acc, _network) do - {:ok, acc} - end - - defp parse_tagged_field(type, data, acc, network) do - case type do - 1 -> - if Map.has_key?(acc, :payment_hash) do - {:ok, acc} - else - case parse_payment_hash(data) do - {:ok, payment_hash} -> - {:ok, Map.put(acc, :payment_hash, payment_hash)} - - {:error, error} -> - {:error, error} - end - end - - # r field HopHints - 3 -> - if Map.has_key?(acc, :route_hints) do - {:ok, acc} - else - case parse_hop_hints(data) do - {:ok, hop_hints} -> - {:ok, Map.put(acc, :route_hints, hop_hints)} - - {:error, error} -> - {:error, error} - end - end - - # x field - 6 -> - if Map.has_key?(acc, :expiry) do - {:ok, acc} - else - expiry = parse_expiry(data) - {:ok, Map.put(acc, :expiry, expiry)} - end - - # f field fallback address - 9 -> - if Map.has_key?(acc, :fallback_address) do - {:ok, acc} - else - case parse_fallback_address(data, network) do - {:ok, fallback_address} -> - {:ok, Map.put(acc, :fallback_address, fallback_address)} - - {:error, error} -> - {:error, error} - end - end - - # d field - 13 -> - if Map.has_key?(acc, :description) do - {:ok, acc} - else - case parse_description(data) do - {:ok, description} -> - {:ok, Map.put(acc, :description, description)} - - {:error, error} -> - {:error, error} - end - end - - # n field destination - 19 -> - case acc do - %{destination: destination} when destination != nil -> - {:ok, acc} - - _ -> - case parse_destination(data) do - {:ok, destination} -> - {:ok, Map.put(acc, :destination, destination)} - - {:error, error} -> - {:error, error} - end - end - - # h field description hash - 23 -> - if Map.has_key?(acc, :description_hash) do - {:ok, acc} - else - case parse_description_hash(data) do - {:ok, description_hash} -> - {:ok, Map.put(acc, :description_hash, description_hash)} - - {:error, error} -> - {:error, error} - end - end - - # c field MINIMUM Fianl CLTV Expiry - 24 -> - if Map.has_key?(acc, :min_final_cltv_expiry) do - {:ok, acc} - else - min_final_cltv_expiry = parse_min_final_cltv_expiry(data) - {:ok, Map.put(acc, :min_final_cltv_expiry, min_final_cltv_expiry)} - end - - _ -> - {:ok, acc} - end - end - - defp parse_timestamp(data) do - {:ok, base32_to_integer(data)} - end - - defp parse_payment_hash(data) when is_list(data) do - if Enum.count(data) == @sha256_hash_base32_length do - case Bech32.convert_bits(data, 5, 8, false) do - {:ok, converted_data} -> - {:ok, converted_data |> :binary.list_to_bin() |> Base.encode16(case: :lower)} - - {:error, error} -> - {:error, error} - end - else - {:error, :invalid_payment_hash_length} - end - end - - defp parse_description(data) do - case Bech32.convert_bits(data, 5, 8, false) do - {:ok, description} -> - {:ok, :binary.list_to_bin(description)} - - {:error, error} -> - {:error, error} - end - end - - defp parse_expiry(data) do - base32_to_integer(data) - end - - @spec base32_to_integer(maybe_improper_list()) :: any() - def base32_to_integer(data) when is_list(data) do - Enum.reduce(data, 0, fn val, acc -> - acc <<< 5 ||| val - end) - end - - defp parse_destination(data) when is_list(data) do - if Enum.count(data) == @pubkey_base32_length do - case Bech32.convert_bits(data, 5, 8, false) do - {:ok, data_in_bytes} -> - {:ok, bytes_to_hex_string(data_in_bytes)} - - {:error, error} -> - {:error, error} - end - else - {:ok, nil} - end - end - - defp parse_description_hash(data) when is_list(data) do - if Enum.count(data) == @sha256_hash_base32_length do - case Bech32.convert_bits(data, 5, 8, false) do - {:ok, data_in_bytes} -> - {:ok, data_in_bytes |> bytes_to_hex_string} - - {:error, error} -> - {:error, error} - end - else - {:ok, nil} - end - end - - defp parse_fallback_address([], _network) do - {:error, :empty_fallback_address} - end - - defp parse_fallback_address([version | rest], network) do - case version do - 0 -> - case Bech32.convert_bits(rest, 5, 8, false) do - {:ok, witness} -> - case Enum.count(witness) do - witness_program_lenghh when witness_program_lenghh in [20, 32] -> - Segwit.encode_address(network, 0, witness) - - _ -> - {:error, :invalid_witness_program_length} - end - - err -> - err - end - - 17 -> - case Bech32.convert_bits(rest, 5, 8, false) do - {:ok, pubKeyHash} -> - {:ok, - Bitcoinex.Address.encode( - pubKeyHash |> :binary.list_to_bin(), - network, - :p2pkh - )} - - err -> - err - end - - 18 -> - case Bech32.convert_bits(rest, 5, 8, false) do - {:ok, scriptHash} -> - {:ok, - Bitcoinex.Address.encode( - scriptHash |> :binary.list_to_bin(), - network, - :p2sh - )} - - err -> - err - end - - # ignore unknown version - _ -> - {:ok, nil} - end - end - - defp parse_hop_hints(data) when is_list(data) do - with {:ok, data_in_byte} <- Bech32.convert_bits(data, 5, 8, false), - {_, true} <- - {:validate_hop_hint_data_length, rem(Enum.count(data_in_byte), @hop_hint_length) == 0} do - hop_hints = - data_in_byte - |> Enum.chunk_every(@hop_hint_length) - |> Enum.map(&parse_hop_hint/1) - - {:ok, hop_hints} - else - {:validate_hop_hint_data_length, false} -> - {:error, :invalid_hop_hint_data_length} - - {:error, error} -> - {:error, error} - end - end - - defp parse_integer_from_hex_str!(hex_str) do - {hex_str, ""} = Integer.parse(hex_str, 16) - hex_str - end - - # exoect they are list of integer in byte - defp parse_hop_hint(data) when is_list(data) do - # 64 bits - {node_id_data, rest} = data |> split_at(33) - node_id = node_id_data |> bytes_to_hex_string - # 64 bits - {channel_id_data, rest} = rest |> split_at(8) - channel_id = channel_id_data |> bytes_to_hex_string |> parse_integer_from_hex_str! - # 32 bits - {fee_base_m_sat_data, rest} = rest |> split_at(4) - fee_base_m_sat = fee_base_m_sat_data |> bytes_to_hex_string |> parse_integer_from_hex_str! - # 32 bits - {fee_proportional_millionths_data, rest} = rest |> split_at(4) - - fee_proportional_millionths = - fee_proportional_millionths_data |> bytes_to_hex_string |> parse_integer_from_hex_str! - - cltv_expiry_delta = rest |> bytes_to_hex_string |> parse_integer_from_hex_str! - - %HopHint{ - node_id: node_id, - channel_id: channel_id, - fee_base_m_sat: fee_base_m_sat, - fee_proportional_millionths: fee_proportional_millionths, - cltv_expiry_delta: cltv_expiry_delta - } - end - - defp parse_min_final_cltv_expiry(data) when is_list(data) do - base32_to_integer(data) - end - - # defp get_pubkey_to_address_magicbyte(network, script_type) do - # case {network, script_type} do - # {:mainnet, :p2pkh} -> - # 0x00 - - # {:mainnet, :p2sh} -> - # 0x05 - - # {network, :p2pkh} when network in [:testnet, :regtest] -> - # 0x6F - - # {network, :p2sh} when network in [:testnet, :regtest] -> - # 0xC4 - # end - # end - - defp parse_network(@prefix <> rest_hrp) do - case Enum.find(Network.supported_networks(), fn %{hrp_segwit_prefix: hrp_segwit_prefix} -> - if String.starts_with?(rest_hrp, hrp_segwit_prefix) do - size = bit_size(hrp_segwit_prefix) - - case rest_hrp do - # without amount - ^hrp_segwit_prefix -> - true - - # with amount. a valid segwit_prefix must be following with base10 digit - # ?0..?9 means range of codepoint of 0 - 9 - # it shoudln't include 0 but that's not responsiblity of passing network function here - <<_::size(size), i, _::binary>> when i in ?0..?9 -> - true - - _ -> - false - end - end - end) do - nil -> - {:error, :invalid_network} - - network -> - {:ok, network} - end - end - - defp parse_hrp(hrp) do - with {_, @prefix <> rest_hrp} <- {:strip_prefix, hrp}, - {_, {:ok, %{name: network_name, hrp_segwit_prefix: hrp_segwit_prefix}}} <- - {:parse_network, parse_network(hrp)} do - hrp_segwit_prefix_size = byte_size(hrp_segwit_prefix) - - case rest_hrp do - ^hrp_segwit_prefix -> - {:ok, {network_name, nil}} - - _ -> - amount_str = String.slice(rest_hrp, hrp_segwit_prefix_size..-1) - - case calculate_milli_satoshi(amount_str) do - {:ok, amount} -> - {:ok, {network_name, amount}} - - {:error, error} -> - {:error, error} - end - end - else - {:strip_prefix, _} -> - {:error, :no_ln_prefix} - - {:parse_network, error} -> - {:error, error} - end - end - - defp calculate_milli_satoshi("0" <> _) do - {:error, :amount_with_leading_zero} - end - - defp calculate_milli_satoshi(amount_str) do - result = - case Regex.run(~r/[munp]$/, amount_str) do - [multiplier] when multiplier in @valid_multipliers -> - case Integer.parse(String.slice(amount_str, 0..-2)) do - {amount, ""} -> - {:ok, to_bitcoin(amount, multiplier)} - - _ -> - {:error, :invalid_amount} - end - - _ -> - case Integer.parse(amount_str) do - {amount_in_bitcoin, ""} -> - {:ok, amount_in_bitcoin} - - _ -> - {:error, :invalid_amount} - end - end - - case result do - {:ok, amount_in_bitcoin} -> - amount_msat_dec = D.mult(amount_in_bitcoin, @milli_satoshi_per_bitcoin) - rounded_amount_msat_dec = D.round(amount_msat_dec) - - case D.equal?(rounded_amount_msat_dec, amount_msat_dec) do - true -> - {:ok, D.to_integer(rounded_amount_msat_dec)} - - false -> - {:error, :sub_msat_precision_amount} - end - - {:error, error} -> - {:error, error} - end - end - - defp to_bitcoin(amount, multiplier_str) when is_integer(amount) do - multiplier = - case multiplier_str do - "m" -> - 0.001 - - "u" -> - 0.000001 - - "n" -> - 0.000000001 - - "p" -> - 0.000000000001 - end - - D.mult(amount, D.from_float(multiplier)) - end - - defp bytes_to_hex_string(bytes) when is_list(bytes) do - bytes |> :binary.list_to_bin() |> Base.encode16(case: :lower) - end - - defp byte_list_to_binary(bytes) when is_list(bytes) do - bytes |> :binary.list_to_bin() - end - - @spec split_at(Enum.t(), integer()) :: {list(Enum.t()), list(Enum.t())} - defp split_at(xs, index) when index >= 0 do - {Enum.take(xs, index), Enum.drop(xs, index)} - end - - defp split_at(xs, index) when index < 0 do - {Enum.drop(xs, index), Enum.take(xs, index)} - end -end diff --git a/server/bitcoinex/lib/lightning_network/lightning_network.ex b/server/bitcoinex/lib/lightning_network/lightning_network.ex deleted file mode 100644 index 97bd26d..0000000 --- a/server/bitcoinex/lib/lightning_network/lightning_network.ex +++ /dev/null @@ -1,10 +0,0 @@ -defmodule Bitcoinex.LightningNetwork do - @moduledoc """ - Includes serialization and validation for Lightning Network BOLT#11 invoices. - """ - - alias Bitcoinex.LightningNetwork.Invoice - - # defdelegate encode_invoice(invoice), to: Invoice, as: :encode - defdelegate decode_invoice(invoice), to: Invoice, as: :decode -end diff --git a/server/bitcoinex/mix.exs b/server/bitcoinex/mix.exs index d773bc5..873fb04 100644 --- a/server/bitcoinex/mix.exs +++ b/server/bitcoinex/mix.exs @@ -4,7 +4,7 @@ defmodule Bitcoinex.MixProject do def project do [ app: :bitcoinex, - version: "0.1.1", + version: "0.2.0", elixir: "~> 1.8", package: package(), start_permanent: Mix.env() == :prod, @@ -31,7 +31,6 @@ defmodule Bitcoinex.MixProject do {:excoveralls, "~> 0.10", only: :test}, {:mix_test_watch, "~> 0.8", only: :dev, runtime: false}, {:stream_data, "~> 0.1", only: :test}, - {:timex, "~> 3.1"}, {:decimal, "~> 1.0"}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false} ] diff --git a/server/bitcoinex/test/lightning_network/invoice_test.exs b/server/bitcoinex/test/lightning_network/invoice_test.exs deleted file mode 100644 index 4decbc2..0000000 --- a/server/bitcoinex/test/lightning_network/invoice_test.exs +++ /dev/null @@ -1,503 +0,0 @@ -defmodule Bitcoinex.LightningNetwork.InvoiceTest do - use ExUnit.Case - doctest Bitcoinex.Segwit - - alias Bitcoinex.LightningNetwork.{Invoice, HopHint} - - setup_all do - test_payment_hash = "0001020304050607080900010203040506070809000102030405060708090102" - - test_description_hash_slice = - Bitcoinex.Utils.sha256( - "One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon" - ) - |> Base.encode16(case: :lower) - - test_description_coffee = "1 cup coffee" - test_description_coffee_japanese = "ナンセンス 1杯" - - test_description_blockstream_ledger = - "Blockstream Store: 88.85 USD for Blockstream Ledger Nano S x 1, \"Back In My Day\" Sticker x 2, \"I Got Lightning Working\" Sticker x 2 and 1 more items" - - # testHopHintPubkeyBytes1 = Base.decode64!("") - testHopHintPubkey1 = "029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255" - testHopHintPubkey2 = "039e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255" - testHopHintPubkey3 = "03d06758583bb5154774a6eb221b1276c9e82d65bbaceca806d90e20c108f4b1c7" - - testSingleHop = [ - %HopHint{ - node_id: testHopHintPubkey1, - channel_id: 0x0102030405060708, - fee_base_m_sat: 0, - fee_proportional_millionths: 20, - cltv_expiry_delta: 3 - } - ] - - testDoubleHop = [ - %HopHint{ - node_id: testHopHintPubkey1, - channel_id: 0x0102030405060708, - fee_base_m_sat: 1, - fee_proportional_millionths: 20, - cltv_expiry_delta: 3 - }, - %HopHint{ - node_id: testHopHintPubkey2, - channel_id: 0x030405060708090A, - fee_base_m_sat: 2, - fee_proportional_millionths: 30, - cltv_expiry_delta: 4 - } - ] - - test_address_testnet_P2PKH = "mk2QpYatsKicvFVuTAQLBryyccRXMUaGHP" - test_address_mainnet_P2PKH = "1RustyRX2oai4EYYDpQGWvEL62BBGqN9T" - test_address_mainnet_P2SH = "3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX" - test_address_mainnet_P2WPKH = "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4" - test_address_mainnet_P2WSH = "bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3" - - test_pubkey = "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad" - - valid_encoded_invoices = [ - # Please send $3 for a cup of coffee to the same peer, within one minute - { - "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaztrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspfj9srp", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 250_000_000, - timestamp: 1_496_314_658, - description: test_description_coffee, - expiry: 60, - min_final_cltv_expiry: 18 - } - }, - # pubkey set in 'n' field. - { - "lnbc241pveeq09pp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdqqnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durunfhv66jd3m5klcwhq68vdsmx2rjgxeay5v0tkt2v5sjaky4eqahe4fx3k9sqavvce3capfuwv8rvjng57jrtfajn5dkpqv8yelsewtljwmmycq62k443", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_400_000_000_000, - timestamp: 1_503_429_093, - description: "", - min_final_cltv_expiry: 18 - } - }, - # Please make a donation of any amount using payment_hash 0001020304050607080900010203040506070809000102030405060708090102 to me @03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad - { - "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - description: "Please consider supporting this project", - payment_hash: test_payment_hash, - timestamp: 1_496_314_658, - min_final_cltv_expiry: 18 - } - }, - # Has a few unknown fields, should just be ignored. - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqtq2v93xxer9vczq8v93xxeqv72xr42ca60022jqu6fu73n453tmnr0ukc0pl0t23w7eavtensjz0j2wcu7nkxhfdgp9y37welajh5kw34mq7m4xuay0a72cwec8qwgqt5vqht", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - description: "Please consider supporting this project", - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - min_final_cltv_expiry: 18 - } - }, - # Please send 0.0025 BTC for a cup of nonsense (ナンセンス 1杯) to the same peer, within one minute - { - "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 250_000_000, - timestamp: 1_496_314_658, - description: test_description_coffee_japanese, - expiry: 60, - min_final_cltv_expiry: 18 - } - }, - # Now send $24 for an entire list of things (hashed) - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqscc6gd6ql3jrc5yzme8v4ntcewwz5cnw92tz0pc8qcuufvq7khhr8wpald05e92xw006sq94mg8v2ndf4sefvf9sygkshp5zfem29trqq2yxxz7", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - min_final_cltv_expiry: 18 - } - }, - # The same, on testnet, with a fallback address mk2QpYatsKicvFVuTAQLBryyccRXMUaGHP - { - "lntb20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un98kmzzhznpurw9sgl2v0nklu2g4d0keph5t7tj9tcqd8rexnd07ux4uv2cjvcqwaxgj7v4uwn5wmypjd5n69z2xm3xgksg28nwht7f6zspwp3f9t", - %Invoice{ - network: :testnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_testnet_P2PKH, - min_final_cltv_expiry: 18 - } - }, - # 1 sat with chinese description in testnet - { - "lntb10n1pwt8uswpp5r7j8v60vnevkhxls93x2zp3xyu7z65a4368wh0en8fl70vpypa2sdpzfehjqstdda6kuapqwa5hg6pquju2me5ksucqzys5qzh8dzpqjz7k7pdlal68ew2vx0y9rwaqth758mu0yu0v367kuc8typ08g7tnhh3a7v53svay2efvn7fwah8pesjsgvwrdpjjj795gqp0g4utq", - %Invoice{ - network: :testnet, - destination: "0260d9119979caedc570ada883ff614c6efb93f7f7382e25d73ecbeba0b62df2d7", - description: "No Amount with 中文", - payment_hash: "1fa47669ec9e596b9bf02c4ca10626273c2d53b58e8eebbf333a7fe7b0240f55", - amount_msat: 1000, - timestamp: 1_555_296_782, - min_final_cltv_expiry: 144 - } - }, - # 1 hophint - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85frzjq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqqqqqqq9qqqvncsk57n4v9ehw86wq8fzvjejhv9z3w3q5zh6qkql005x9xl240ch23jk79ujzvr4hsmmafyxghpqe79psktnjl668ntaf4ne7ucs5csqh5mnnk", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_mainnet_P2PKH, - route_hints: testSingleHop, - min_final_cltv_expiry: 18 - } - }, - # two hophint - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzqj9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqdhhwkj", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_mainnet_P2PKH, - route_hints: testDoubleHop, - min_final_cltv_expiry: 18 - } - }, - # On mainnet, with fallback (p2sh) address 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfppj3a24vwu6r8ejrss3axul8rxldph2q7z9kk822r8plup77n9yq5ep2dfpcydrjwzxs0la84v3tfw43t3vqhek7f05m6uf8lmfkjn7zv7enn76sq65d8u9lxav2pl6x3xnc2ww3lqpagnh0u", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_mainnet_P2SH, - min_final_cltv_expiry: 18 - } - }, - # # On mainnet, with fallback (p2wpkh) address bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfppqw508d6qejxtdg4y5r3zarvary0c5xw7kknt6zz5vxa8yh8jrnlkl63dah48yh6eupakk87fjdcnwqfcyt7snnpuz7vp83txauq4c60sys3xyucesxjf46yqnpplj0saq36a554cp9wt865", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_mainnet_P2WPKH, - min_final_cltv_expiry: 18 - } - }, - # On mainnet, with fallback (p2wsh) address bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3 - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qvnjha2auylmwrltv2pkp2t22uy8ura2xsdwhq5nm7s574xva47djmnj2xeycsu7u5v8929mvuux43j0cqhhf32wfyn2th0sv4t9x55sppz5we8", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - fallback_address: test_address_mainnet_P2WSH, - min_final_cltv_expiry: 18 - } - }, - # Ignore unknown witness version in fallback address. - { - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpppw508d6qejxtdg4y5r3zarvary0c5xw7k8txqv6x0a75xuzp0zsdzk5hq6tmfgweltvs6jk5nhtyd9uqksvr48zga9mw08667w8264gkspluu66jhtcmct36nx363km6cquhhv2cpc6q43r", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: test_description_hash_slice, - min_final_cltv_expiry: 18 - } - }, - # Ignore fields with unknown lengths. - { - "lnbc241pveeq09pp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqpp3qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqshp38yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durunfhv66np3q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durunfy8huflvs2zwkymx47cszugvzn5v64ahemzzlmm62rpn9l9rm05h35aceq00tkt296289wepws9jh4499wq2l0vk6xcxffd90dpuqchqqztyayq", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 2_400_000_000_000, - timestamp: 1_503_429_093, - description_hash: test_description_hash_slice, - min_final_cltv_expiry: 18 - } - }, - # # Send 2500uBTC for a cup of coffee with a custom CLTV expiry value. - { - "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jscqzysnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durunfhv66ysxkvnxhcvhz48sn72lp77h4fxcur27z0he48u5qvk3sxse9mr9jhkltt962s8arjnzk8rk59yj5nw4p495747gksj30gza0crhzwjcpgxzy00", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: test_payment_hash, - amount_msat: 250_000_000, - timestamp: 1_496_314_658, - description: test_description_coffee, - min_final_cltv_expiry: 144 - } - }, - { - "lnbc9678785340p1pwmna7lpp5gc3xfm08u9qy06djf8dfflhugl6p7lgza6dsjxq454gxhj9t7a0sd8dgfkx7cmtwd68yetpd5s9xar0wfjn5gpc8qhrsdfq24f5ggrxdaezqsnvda3kkum5wfjkzmfqf3jkgem9wgsyuctwdus9xgrcyqcjcgpzgfskx6eqf9hzqnteypzxz7fzypfhg6trddjhygrcyqezcgpzfysywmm5ypxxjemgw3hxjmn8yptk7untd9hxwg3q2d6xjcmtv4ezq7pqxgsxzmnyyqcjqmt0wfjjq6t5v4khxxqyjw5qcqp2rzjq0gxwkzc8w6323m55m4jyxcjwmy7stt9hwkwe2qxmy8zpsgg7jcuwz87fcqqeuqqqyqqqqlgqqqqn3qq9qn07ytgrxxzad9hc4xt3mawjjt8znfv8xzscs7007v9gh9j569lencxa8xeujzkxs0uamak9aln6ez02uunw6rd2ht2sqe4hz8thcdagpleym0j", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: "462264ede7e14047e9b249da94fefc47f41f7d02ee9b091815a5506bc8abf75f", - amount_msat: 967_878_534, - timestamp: 1_572_468_703, - description: test_description_blockstream_ledger, - min_final_cltv_expiry: 10, - expiry: 604_800, - route_hints: [ - %HopHint{ - node_id: testHopHintPubkey3, - channel_id: 0x08FE4E000CF00001, - fee_base_m_sat: 1000, - fee_proportional_millionths: 2500, - cltv_expiry_delta: 40 - } - ] - } - }, - # TODO parsing payment secret - { - "lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqsq67gye39hfg3zd8rgc80k32tvy9xk2xunwm5lzexnvpx6fd77en8qaq424dxgt56cag2dpt359k3ssyhetktkpqh24jqnjyw6uqd08sgptq44qu", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_500_000_000, - timestamp: 1_496_314_658, - description: "coffee beans", - min_final_cltv_expiry: 18 - } - }, - # Same, but all upper case - { - "LNBC25M1PVJLUEZPP5QQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQYPQDQ5VDHKVEN9V5SXYETPDEESSP5ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYGS9Q5SQQQQQQQQQQQQQQQPQSQ67GYE39HFG3ZD8RGC80K32TVY9XK2XUNWM5LZEXNVPX6FD77EN8QAQ424DXGT56CAG2DPT359K3SSYHETKTKPQH24JQNJYW6UQD08SGPTQ44QU", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_500_000_000, - timestamp: 1_496_314_658, - description: "coffee beans", - min_final_cltv_expiry: 18 - } - }, - # Same, but including fields which must be ignored. - { - "lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqsq2qrqqqfppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhpnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqspnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnpkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq2jxxfsnucm4jf4zwtznpaxphce606fvhvje5x7d4gw7n73994hgs7nteqvenq8a4ml8aqtchv5d9pf7l558889hp4yyrqv6a7zpq9fgpskqhza", - %Invoice{ - network: :mainnet, - destination: test_pubkey, - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_500_000_000, - timestamp: 1_496_314_658, - description: "coffee beans", - min_final_cltv_expiry: 18 - } - }, - { - "lnbcrt320u1pwt8mp3pp57xs8x6cs28zedru0r0hurkz6932e86dvlrzhwvm09azv57qcekxsdqlv9k8gmeqw3jhxarfdenjqumfd4cxcegcqzpgctyyv3qkvr6khzlnd7de95hrxkw8ewfhmyzuu9dh4sgauukpk5mryaex2qs39ksupm8sxj5jsh3hw3fa0gwdjchh7ga8cx7l652g5dgqzp2ddj", - %Invoice{ - network: :regtest, - destination: "03f54387039a2932bca652e9fca1d0eb141a7f9c570979a2c469469a8083c73b47", - payment_hash: "f1a0736b1051c5968f8f1befc1d85a2c5593e9acf8c577336f2f44ca7818cd8d", - amount_msat: 32_000_000, - timestamp: 1_555_295_281, - description: "alto testing simple", - min_final_cltv_expiry: 40, - expiry: 3600 - } - }, - { - "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z9kmrgvr7xlaqm47apw3d48zm203kzcq357a4ls9al2ea73r8jcceyjtya6fu5wzzpe50zrge6ulk4nvjcpxlekvmxl6qcs9j3tz0469gq5g658y", - %Invoice{ - network: :mainnet, - destination: "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1", - min_final_cltv_expiry: 18, - fallback_address: "3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX" - } - }, - { - "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7kepvrhrm9s57hejg0p662ur5j5cr03890fa7k2pypgttmh4897d3raaq85a293e9jpuqwl0rnfuwzam7yr8e690nd2ypcq9hlkdwdvycqa0qza8", - %Invoice{ - network: :mainnet, - destination: "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1", - min_final_cltv_expiry: 18, - fallback_address: "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4" - } - }, - { - "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q28j0v3rwgy9pvjnd48ee2pl8xrpxysd5g44td63g6xcjcu003j3qe8878hluqlvl3km8rm92f5stamd3jw763n3hck0ct7p8wwj463cql26ava", - %Invoice{ - network: :mainnet, - destination: "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 2_000_000_000, - timestamp: 1_496_314_658, - description_hash: "3925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c1", - min_final_cltv_expiry: 18, - fallback_address: "bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3" - } - }, - { - "lnbc1230p1pwpw4vhpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq8w3jhxaqxqrrsscqpfmmcvd29nucsnyapspmkpqqf65uedt4zvhqkstelrgyk4nfvwka38c3nlq06agjmazs9nr3uupxp6r0v0gzw4n26redc36urkqwxamqqqu7esys", - %Invoice{ - network: :mainnet, - destination: "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad", - payment_hash: "0001020304050607080900010203040506070809000102030405060708090102", - amount_msat: 123, - timestamp: 1_545_033_111, - description: "test", - min_final_cltv_expiry: 9, - expiry: 3600 - } - }, - { - "lnbcrt1230n1pwt8m44pp56zkej4pmwp273agvad0ljscuq4gsc072xlttlgrzrzpmlwzzhzksdq2wd5k6urvv5cqzpgym4nl5gt8xqy69t4cuwf025xnv968xpgvv30h387whfur5y9hq9h5sd8hkumauluj4dn9kqche8glswdpvc2lu4yua3atkyaefuzuqqp27dfsw", - %Invoice{ - network: :regtest, - destination: "03f54387039a2932bca652e9fca1d0eb141a7f9c570979a2c469469a8083c73b47", - payment_hash: "d0ad99543b7055e8f50ceb5ff9431c05510c3fca37d6bfa0621883bfb842b8ad", - amount_msat: 123_000, - timestamp: 1_555_295_925, - description: "simple", - min_final_cltv_expiry: 40 - } - } - ] - - invalid_encoded_invoices = [ - # no hrp, - "asdsaddnasdnas", - # too short - "lnbc1abcde", - # empty hrp - "1asdsaddnv4wudz", - # hrp too short - "ln1asdsaddnv4wudz", - # no "ln" prefix - "llts1dasdajtkfl6", - # invalid segwit prefix - "lnts1dasdapukz0w", - # invalid amount - "lnbcm1aaamcu25m", - # invalid amount - "lnbc1000000000m1", - # empty fallback address field - "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfqqepvrhrm9s57hejg0p662ur5j5cr03890fa7k2pypgttmh4897d3raaq85a293e9jpuqwl0rnfuwzam7yr8e690nd2ypcq9hlkdwdvycqjhlqg5", - # invalid routing info length: not a multiple of 51 - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85frqg00000000j9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqsj5cgu", - # no payment hash set - "lnbc20m1pvjluezhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsjv38luh6p6s2xrv3mzvlmzaya43376h0twal5ax0k6p47498hp3hnaymzhsn424rxqjs0q7apn26yrhaxltq3vzwpqj9nc2r3kzwccsplnq470", - # Both Description and DescriptionHash set. - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqs03vghs8y0kuj4ulrzls8ln7fnm9dk7sjsnqmghql6hd6jut36clkqpyuq0s5m6fhureyz0szx2qjc8hkgf4xc2hpw8jpu26jfeyvf4cpga36gt", - # Neither Description nor DescriptionHash set. - "lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqn2rne0kagfl4e0xag0w6hqeg2dwgc54hrm9m0auw52dhwhwcu559qav309h598pyzn69wh2nqauneyyesnpmaax0g6acr8lh9559jmcquyq5a9", - # mixed case - "lnbc2500u1PvJlUeZpP5QqQsYqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaztrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspfj9srp", - # Lightning Payment Request signature pubkey does not match payee pubkey - "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaqnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durllllll72gy6kphxuhh4a2ffwf9344ytfw98tyhvslsp9y5vt2uxdfhpucph83eqms28dyde9yxgu5ehln4zkwv04nvurxhst77vnng5s0ar9mqpm3cg0l", - # Bech32 checksum is invalid - "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrnt", - # Malformed bech32 string (no 1) - "pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny", - # Malformed bech32 string (mixed case) - "LNBC2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny", - # Signature is not recoverable. - "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaxtrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspk28uwq", - # String is too short. - "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6na6hlh", - # Invalid multiplier - "lnbc2500x1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpujr6jxr9gq9pv6g46y7d20jfkegkg4gljz2ea2a3m9lmvvr95tq2s0kvu70u3axgelz3kyvtp2ywwt0y8hkx2869zq5dll9nelr83zzqqpgl2zg", - # Invalid sub-millisatoshi precision. - "lnbc2500000001p1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpu7hqtk93pkf7sw55rdv4k9z2vj050rxdr6za9ekfs3nlt5lr89jqpdmxsmlj9urqumg0h9wzpqecw7th56tdms40p2ny9q4ddvjsedzcplva53s" - ] - - [ - test_pubkey: test_pubkey, - valid_encoded_invoices: valid_encoded_invoices, - invalid_encoded_invoices: invalid_encoded_invoices - ] - end - - describe "decode/1" do - test "successfully decode with valid segwit addresses in mainnet", %{ - valid_encoded_invoices: valid_encoded_invoices - } do - for {valid_encoded_invoice, invoice} <- valid_encoded_invoices do - assert {:ok, decoded_invoice} = Invoice.decode(valid_encoded_invoice) - assert decoded_invoice == invoice - end - end - - test "fail to decode with invalid segwit addresses in mainnet", %{ - invalid_encoded_invoices: invalid_encoded_invoices - } do - for invalid_encoded_invoice <- invalid_encoded_invoices do - assert {:error, error} = Invoice.decode(invalid_encoded_invoice) - end - end - end - - describe "expires_at/1" do - test "calculates expires at time correctly for diff invoice types", %{ - valid_encoded_invoices: invoices - } do - for {_valid_encoded_invoice, invoice} <- invoices do - expires_at = Invoice.expires_at(invoice) - assert Timex.to_unix(expires_at) - (invoice.expiry || 3600) == invoice.timestamp - end - end - end -end diff --git a/server/data/block.dat b/server/data/block.dat new file mode 100644 index 0000000000000000000000000000000000000000..96fd6fa0f4f8a43c5a6e7f4293f990409a9216a3 GIT binary patch literal 674081 zcmb4Lby(EvwuYg*L#d$~DM2X#K|s12q@_a|=^9cRrKAxUx{;P{q)WP_OAO-93@ZCR z&$;KG!yn*&zFO;D?}{&e8xGD782Rd10B%(1;8aW|5>CORCy|Q6v2RKd;r{$EhBHYhY#WA6rD>CsATVE=456HH1+_>xwzXq0oBY*UIO)?!-xZZ6ty;1d%?k>@c5(O zO$5NOeN7Mj&wH+gglkb9adWYSk00#yh_!67&Y2z=lLbSp0b8@yMm|)h#|&@%|{GJ7>dV9zI0&2#aS}cSou=uvS9y%%))3g zDzqKaZ0XiO8W7)EikF(hj4-2GQ~rq zDa>UonCu9Vbr%r;l%0+<8Sr3_^L8?^FOrYQ(U2N3z}w^M5)27;uu55NfTu=?l`QaU zN+FvFsS;Lif)6H0xYm%RJ7k3)CI%NF1y%r|QUIX8;NcZtG#O&v#f%nGKV`)U0rpHjG-5Yj#IXbbg@O4SgV=0mA^a5iOWh_P zrbqG|+Y272p+;vcWXii4K;)0twSOwm#wduW^7zTQQEYDfbIG!nSlQ9jl29E_UnSBXJf#&>n(2c811 z7iLE-vO|O)Ai_y=N&=|i;=Dgfj;PQrv6da;xm}S;^oMtG;^w|*>!keW!O*19 z+0t~tv&YR9K9!UUCM!g5sS(zLWQ_^WBc-F-ah^SL?Q)J-F2s3&Y{$XZNp4lxmD#IW zdJTaeN*_QrrD&_#qR1XCT(!?Nm<9Wymy;vIbg@V7D<;AF#o>A=m{u_T=s&m*cAgXI zg;q2x2ev*cx#&XW9ej1PebE~|cs6+>0s!)(O@Ak1Q9n50cY&Ju&C!vV@#H`) zq8+g^cn6bl^x~v!!$$;-(2M4v_~|`ssNCT&k#OTHlVXhga=NSV2XR;W5DiUrp1l3| zfk}$|xcue8dvyR1xs%yAAuz=#&$2c=plI+|pL}%SKEJQv*B_Z5yPZ1E;KdLfpB*h< zRuR0D8o}5N#aUI3$IQZ#l=KkhLJ;vIQ@K}sZiAOI!i(ImjV(u5K36C68P&L|q|+f* zwZpHYAYug*Dl!74E*=yqsAq*A$)nZtUOEOntC7mi4agO*t27SlB-c$fp`dnZ1Vn)=)L_}k$XVqT;A zh12>RkXLgOf8F=sq|idX5_i#p>z3|kY)M*ztpsy;+(wc=%i13Hhqky0T6bTg%0Ai* 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�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%0Dv|UDG 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

vQXlF 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