From bc3671ff60abcb5fbe434f41a22f9363d2d47f66 Mon Sep 17 00:00:00 2001 From: greglebreton Date: Sun, 20 Mar 2022 18:21:10 +0100 Subject: [PATCH] et un push ma foi! --- Dockerfile | 16 + LICENCE | 21 + README.md | 134 + package-lock.json | 5206 ++++++++++++++++++++++++++++++++ package.json | 34 + src/android-chrome-192x192.png | Bin 0 -> 10102 bytes src/android-chrome-512x512.png | Bin 0 -> 33382 bytes src/app.js | 248 ++ src/apple-touch-icon.png | Bin 0 -> 9137 bytes src/custom-comands.js | 67 + src/draggable.js | 44 + src/favicon-16x16.png | Bin 0 -> 610 bytes src/favicon-32x32.png | Bin 0 -> 1252 bytes src/favicon.ico | Bin 0 -> 15406 bytes src/index.html | 60 + src/resources/commands.json | 87 + src/scss/_snowflakes.scss | 137 + src/scss/style.scss | 314 ++ src/site.webmanifest | 19 + static/CV - Antoine DAUTRY.pdf | Bin 0 -> 53399 bytes 20 files changed, 6387 insertions(+) create mode 100644 Dockerfile create mode 100644 LICENCE create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/android-chrome-192x192.png create mode 100644 src/android-chrome-512x512.png create mode 100644 src/app.js create mode 100644 src/apple-touch-icon.png create mode 100644 src/custom-comands.js create mode 100644 src/draggable.js create mode 100644 src/favicon-16x16.png create mode 100644 src/favicon-32x32.png create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/resources/commands.json create mode 100644 src/scss/_snowflakes.scss create mode 100644 src/scss/style.scss create mode 100644 src/site.webmanifest create mode 100644 static/CV - Antoine DAUTRY.pdf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..92b0ce5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:bullseye-slim as builder +WORKDIR /data +COPY . . +RUN apt update && apt install -y npm +RUN npm install -i package.json \ + && npm run build + +FROM alpine + +RUN apk update \ + && apk add lighttpd \ + && rm -rf /var/cache/apk/* + +COPY --from=builder /data/dist /var/www/localhost/htdocs + +CMD ["lighttpd","-D","-f","/etc/lighttpd/lighttpd.conf"] \ No newline at end of file diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..6d6ec7a --- /dev/null +++ b/LICENCE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Antoine DAUTRY + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d1d084d --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +# Resume Terminal + +This project is forked from https://github.com/antoine1003/resume-terminal + +## About + +This projet use [ParcelJS](https://parceljs.org/) as build tool. It is made from scratch, the only library used is for an hidden command `paf` [canvas-confetti](https://github.com/catdad/canvas-confetti). + +## get started + +### installation + +- Install npm: +```bash +sudo apt install npm +``` + +- Install dependencies (from project root folder): +```bash +npm install +``` + +### usage + +- To run in dev mode: ` +```bash +npm run dev +``` + +- To build for production: +```bash +npm run build +``` + +## config + +### commands.json + +File `commands.json` contain all commands that just needs to display simple data and doesn't need a JS actions. + +For now, there are 4 possible type of steps : +- list +- text +- code +- table + +#### responseType = list + +To display a bullet list, the `value` field is an array of string. + +```json +{ + "command": "whois adautry", + "responseType": "list", + "value": [ + "A 27 years old full stack developper", + "3 years of experiences", + "Living in Nantes" + ] +} +``` + +#### responseType = table + +Display a table, this object requires two fields : + +- `headers`: Headers of the array +- `rows`: Array containing rows + +```json +{ + "command": "whereis experiences", + "responseType": "table", + "headers": [ + "Date", + "Client", + "Description", + "Tech" + ], + "rows": [ + [ + "2021", + "La Poste", + "Internal tool to schedule techniciens on interventions.", + "Angular 11, Spring Boot/Batch, Genetic algorithm" + ], + [ + "2020", + "DSI", + "Maintenance of a timesheet internal tool. Development of plugins for our ProjeQtor instance.", + "Symfony, Angular 8" + ] + ] +} +``` + +#### responseType = text + +Just display text contained in `value`. + +```json +{ + "command": "find . -type f -print | xargs grep \"hobby\"", + "responseType": "text", + "value": "Bonsoir" +} +``` + +#### responseType = code + +Display code between `pre` tag, `value` is an array of string, each string is a line. + +```json +{ + "command": "curl https://adautry.fr/user/03101994", + "responseType": "code", + "value": [ + "{", + " \"name\":\"Antoine DAUTRY\",", + " \"job\":\"Fullstack developper\",", + " \"experience\":\"3 years\",", + " \"city\":\"Nantes\"", + "}" + ] +} +``` + +## Customs commands + +In the `app.js` file you can see multiple arrays that stores commands : + +- `hiddenCommands`: Commands that are not use in autocompletion (easter egg commands for example) +- `customCommands`: Commands that needs a specials JS treatments, in my case `dark`/`light` to swith app theme, `get cv` to download my resume, ... +- `commandsList`: This is the main array used for autocompletion, it stores `customCommands` **and** commands that are listed in the `commands.json` file. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6e9fcfe --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5206 @@ +{ + "name": "cv-terminal", + "version": "2.1.2", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "cv-terminal", + "version": "2.1.2", + "license": "ISC", + "dependencies": { + "@parcel/config-default": "^2.3.2", + "canvas-confetti": "^1.5.1", + "fireworks-js": "^1.3.5", + "postcss": "^8.3.11" + }, + "devDependencies": { + "@parcel/packager-raw-url": "^2.3.2", + "@parcel/transformer-sass": "^2.3.2", + "@parcel/transformer-webmanifest": "^2.3.2", + "cssnano": "^5.0.8", + "parcel": "^2.3.2", + "parcel-reporter-static-files-copy": "^1.3.4", + "prettier": "2.4.1", + "sass": "^1.43.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@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==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/bundler-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.3.2.tgz", + "integrity": "sha512-JUrto4mjSD0ic9dEqRp0loL5o3HVYHja1ZIYSq+rBl2UWRV6/9cGTb07lXOCqqm0BWE+hQ4krUxB76qWaF0Lqw==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.3.2.tgz", + "integrity": "sha512-Xxq+ekgcFEme6Fn1v7rEOBkyMOUOUu7eNqQw0l6HQS+INZ2Q7YzzfdW7pI8rEOAAICVg5BWKpmBQZpgJlT+HxQ==", + "dependencies": { + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/utils": "2.3.2", + "lmdb": "^2.0.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.3.2" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.3.2.tgz", + "integrity": "sha512-ireQALcxxrTdIEpzTOoMo/GpfbFm1qlyezeGl3Hce3PMvHLg3a5S6u/Vcy7SAjdld5GfhHEqVY+blME6Z4CyXQ==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.3.2.tgz", + "integrity": "sha512-8dIoFwinYK6bOTpnZOAwwIv0v73y0ezsctPmfMnIqVQPn7wJwfhw/gbKVcmK5AkgQMkyid98hlLZoaZtGF1Mdg==", + "dependencies": { + "@parcel/plugin": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.3.2.tgz", + "integrity": "sha512-E7/iA7fGCYvXU3u6zF9nxjeDVsgjCN6MVvDjymjaxYMoDWTIsPV245SBEXqzgtmzbMAV+VAl4rVWLMB4pzMt9g==", + "dependencies": { + "@parcel/bundler-default": "2.3.2", + "@parcel/compressor-raw": "2.3.2", + "@parcel/namer-default": "2.3.2", + "@parcel/optimizer-cssnano": "2.3.2", + "@parcel/optimizer-htmlnano": "2.3.2", + "@parcel/optimizer-image": "2.3.2", + "@parcel/optimizer-svgo": "2.3.2", + "@parcel/optimizer-terser": "2.3.2", + "@parcel/packager-css": "2.3.2", + "@parcel/packager-html": "2.3.2", + "@parcel/packager-js": "2.3.2", + "@parcel/packager-raw": "2.3.2", + "@parcel/packager-svg": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/resolver-default": "2.3.2", + "@parcel/runtime-browser-hmr": "2.3.2", + "@parcel/runtime-js": "2.3.2", + "@parcel/runtime-react-refresh": "2.3.2", + "@parcel/runtime-service-worker": "2.3.2", + "@parcel/transformer-babel": "2.3.2", + "@parcel/transformer-css": "2.3.2", + "@parcel/transformer-html": "2.3.2", + "@parcel/transformer-image": "2.3.2", + "@parcel/transformer-js": "2.3.2", + "@parcel/transformer-json": "2.3.2", + "@parcel/transformer-postcss": "2.3.2", + "@parcel/transformer-posthtml": "2.3.2", + "@parcel/transformer-raw": "2.3.2", + "@parcel/transformer-react-refresh-wrap": "2.3.2", + "@parcel/transformer-svg": "2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.3.2" + } + }, + "node_modules/@parcel/core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.3.2.tgz", + "integrity": "sha512-gdJzpsgeUhv9H8T0UKVmyuptiXdduEfKIUx0ci+/PGhq8cCoiFnlnuhW6H7oLr79OUc+YJStabDJuG4U2A6ysw==", + "dependencies": { + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/graph": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json-source-map": "^0.6.1", + "json5": "^2.2.0", + "msgpackr": "^1.5.1", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.3.2.tgz", + "integrity": "sha512-/xW93Az4AOiifuYW/c4CDbUcu3lx5FcUDAj9AGiR9NSTsF/ROC/RqnxvQ3AGtqa14R7vido4MXEpY3JEp6FsqA==", + "dependencies": { + "json-source-map": "^0.6.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.3.2.tgz", + "integrity": "sha512-WiYIwXMo4Vd+pi58vRoHkul8TPE5VEfMY+3FYwVCKPl/LYqSD+vz6wMx9uG18mEbB1d/ofefv5ZFQNtPGKO4tQ==", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.3.2.tgz", + "integrity": "sha512-XV+OsnRpN01QKU37lBN0TFKvv7uPKfQGbqFqYOrMbXH++Ae8rBU0Ykz+Yu4tv2h7shMlde+AMKgRnRTAJZpWEQ==", + "dependencies": { + "@parcel/fs-search": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/watcher": "^2.0.0", + "@parcel/workers": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.3.2" + } + }, + "node_modules/@parcel/fs-search": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.3.2.tgz", + "integrity": "sha512-u3DTEFnPtKuZvEtgGzfVjQUytegSSn3POi7WfwMwPIaeDPfYcyyhfl+c96z7VL9Gk/pqQ99/cGyAwFdFsnxxXA==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/graph": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.3.2.tgz", + "integrity": "sha512-ltTBM3IEqumgmy4ABBFETT8NtAwSsjD9mY3WCyJ5P8rUshfVCg093rvBPbpuJYMaH/TV1AHVaWfZqaZ4JQDIQQ==", + "dependencies": { + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/hash": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.3.2.tgz", + "integrity": "sha512-SMtYTsHihws/wqdVnOr0QAGyGYsW9rJSJkkoRujUxo8l2ctnBN1ztv89eOUrdtgHsmcnj/oz1yw6sN38X+BUng==", + "dependencies": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.3.2.tgz", + "integrity": "sha512-jIWd8TXDQf+EnNWSa7Q10lSQ6C1LSH8OZkTlaINrfVIw7s+3tVxO3I4pjp7/ARw7RX2gdNPlw6fH4Gn/HvvYbw==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.3.2.tgz", + "integrity": "sha512-l01ggmag5QScCk9mYA0xHh5TWSffR84uPFP2KvaAMQQ9NLNufcFiU0mn/Mtr3pCb5L5dSzmJ+Oo9s7P1Kh/Fmg==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.3.2.tgz", + "integrity": "sha512-3QUMC0+5+3KMKfoAxYAbpZtuRqTgyZKsGDWzOpuqwemqp6P8ahAvNPwSCi6QSkGcTmvtYwBu9/NHPSONxIFOfg==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.3.2.tgz", + "integrity": "sha512-wmrnMNzJN4GuHw2Ftho+BWgSWR6UCkW3XoMdphqcxpw/ieAdS2a+xYSosYkZgQZ6lGutSvLyJ1CkVvP6RLIdQQ==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-cssnano": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.3.2.tgz", + "integrity": "sha512-wTBOxMiBI38NAB9XIlQZRCjS59+EWjWR9M04D3TWyxl+dL5gYMc1cl4GNynUnmcPdz+3s1UbOdo5/8V90wjiiw==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "cssnano": "^5.0.15", + "postcss": "^8.4.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.3.2.tgz", + "integrity": "sha512-U8C0TDSxsx8HmHaLW0Zc7ha1fXQynzhvBjCRMGYnOiLiw0MOfLQxzQ2WKVSeCotmdlF63ayCwxWsd6BuqStiKQ==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.3.2.tgz", + "integrity": "sha512-HOk3r5qdvY/PmI7Q3i2qEgFH3kP2QWG4Wq3wmC4suaF1+c2gpiQc+HKHWp4QvfbH3jhT00c5NxQyqPhbXeNI9Q==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-svgo": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.3.2.tgz", + "integrity": "sha512-l7WvZ5+e7D1mVmLUxMVaSb29cviXzuvSY2OpQs0ukdPACDqag+C65hWMzwTiOSSRGPMIu96kQKpeVru2YjibhA==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-terser": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.3.2.tgz", + "integrity": "sha512-dOapHhfy0xiNZa2IoEyHGkhhla07xsja79NPem14e5jCqY6Oi40jKNV4ab5uu5u1elWUjJuw69tiYbkDZWbKQw==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.3.2.tgz", + "integrity": "sha512-pAQfywKVORY8Ee+NHAyKzzQrKbnz8otWRejps7urwhDaTVLfAd5C/1ZV64ATZ9ALYP9jyoQ8bTaxVd4opcSuwg==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.3.2" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.3.2.tgz", + "integrity": "sha512-ByuF9xDnQnpVL1Hdu9aY6SpxOuZowd3TH7joh1qdRPLeMHTEvUywHBXoiAyNdrhnLGum8uPEdY8Ra5Xuo1U7kg==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.3.2.tgz", + "integrity": "sha512-YqAptdU+uqfgwSii76mRGcA/3TpuC6yHr8xG+11brqj/tEFLsurmX0naombzd7FgmrTE9w+kb0HUIMl2vRBn0A==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.3.2.tgz", + "integrity": "sha512-3OP0Ro9M1J+PIKZK4Ec2N5hjIPiqk++B2kMFeiUqvaNZjJgKrPPEICBhjS52rma4IE/NgmIMB3aI5pWqE/KwNA==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.3.2.tgz", + "integrity": "sha512-RnoZ7WgNAFWkEPrEefvyDqus7xfv9XGprHyTbfLittPaVAZpl+4eAv43nXyMfzk77Cgds6KcNpkosj3acEpNIQ==", + "dependencies": { + "@parcel/plugin": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw-url": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.3.2.tgz", + "integrity": "sha512-xkV/fC5OtMi8xIOO6aRAQcIR2rmRfKvVCME4aXfMj4pKSqvZKyF75/UsIezAt41GTaO0H/hYIUTQUJdzI0wq5g==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.3.2.tgz", + "integrity": "sha512-iIC0VeczOXynS7M5jCi3naMBRyAznBVJ3iMg92/GaI9duxPlUMGAlHzLAKNtoXkc00HMXDH7rrmMb04VX6FYSg==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "posthtml": "^0.16.4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.3.2.tgz", + "integrity": "sha512-SaLZAJX4KH+mrAmqmcy9KJN+V7L+6YNTlgyqYmfKlNiHu7aIjLL+3prX8QRcgGtjAYziCxvPj0cl1CCJssaiGg==", + "dependencies": { + "@parcel/types": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.3.2.tgz", + "integrity": "sha512-VYetmTXqW83npsvVvqlQZTbF3yVL3k/FCCl3kSWvOr9LZA0lmyqJWPjMHq37yIIOszQN/p5guLtgCjsP0UQw1Q==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.3.2.tgz", + "integrity": "sha512-E7LtnjAX4iiWMw2qKUyFBi3+bDz0UGjqgHoPQylUYYLi6opXjJz/oC+cCcCy4e3RZlkrl187XonvagS59YjDxA==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.3.2.tgz", + "integrity": "sha512-y3r+xOwWsATrNGUWuZ6soA7q24f8E5tY1AZ9lHCufnkK2cdKZJ5O1cyd7ohkAiKZx2/pMd+FgmVZ/J3oxetXkA==", + "dependencies": { + "@parcel/node-resolver-core": "2.3.2", + "@parcel/plugin": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.3.2.tgz", + "integrity": "sha512-nRD6uOyF1+HGylP9GASbYmvUDOsDaNwvaxuGTSh8+5M0mmCgib+hVBiPEKbwdmKjGbUPt9wRFPyMa/JpeQZsIQ==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.3.2.tgz", + "integrity": "sha512-SJepcHvYO/7CEe/Q85sngk+smcJ6TypuPh4D2R8kN+cAJPi5WvbQEe7+x5BEgbN+5Jumi/Uo3FfOOE5mYh+F6g==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.3.2.tgz", + "integrity": "sha512-P+GRPO2XVDSBQ4HmRSj2xfbHSQvL9+ahTE/AB74IJExLTITv5l4SHAV3VsiKohuHYUAYHW3A/Oe7tEFCAb6Cug==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.3.2.tgz", + "integrity": "sha512-iREHj/eapphC4uS/zGUkiTJvG57q+CVbTrfE42kB8ECtf/RYNo5YC9htdvPZjRSXDPrEPc5NCoKp4X09ENNikw==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.0.0.tgz", + "integrity": "sha512-njoUJpj2646NebfHp5zKJeYD1KwhsfQIoU9TnCTHmF9fGOaPbClmeq12G6/4ZqGASftRq+YhhukFBi/ncWKGvw==", + "dependencies": { + "detect-libc": "^1.0.3", + "globby": "^11.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.3.2.tgz", + "integrity": "sha512-QpWfH2V6jJ+kcUBIMM/uBBG8dGFvNaOGS+8jD6b+eTP+1owzm83RoWgqhRV2D/hhv2qMXEQzIljoc/wg2y+X4g==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.3.2.tgz", + "integrity": "sha512-8lzvDny+78DIAqhcXam2Bf9FyaUoqzHdUQdNFn+PuXTHroG/QGPvln1kvqngJjn4/cpJS9vYmAPVXe+nai3P8g==", + "dependencies": { + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "postcss": "^8.4.5", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.3.2.tgz", + "integrity": "sha512-idT1I/8WM65IFYBqzRwpwT7sf0xGur4EDQDHhuPX1w+pIVZnh0lkLMAnEqs6ar1SPRMys4chzkuDNnqh0d76hg==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.3.2.tgz", + "integrity": "sha512-0K7cJHXysli6hZsUz/zVGO7WCoaaIeVdzAxKpLA1Yl3LKw/ODiMyXKt08LiV/ljQ2xT5qb9EsXUWDRvcZ0b96A==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/workers": "2.3.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.3.2.tgz", + "integrity": "sha512-U1fbIoAoqR5P49S+DMhH8BUd9IHRPwrTTv6ARYGsYnhuNsjTFhNYE0kkfRYboe/e0z7vEbeJICZXjnZ7eQDw5A==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "@swc/helpers": "^0.2.11", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.3.2.tgz", + "integrity": "sha512-Pv2iPaxKINtFwOk5fDbHjQlSm2Vza/NLimQY896FLxiXPNAJxWGvMwdutgOPEBKksxRx9LZPyIOHiRVZ0KcA3w==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "json5": "^2.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.3.2.tgz", + "integrity": "sha512-Rpdxc1rt2aJFCh/y/ccaBc9J1crDjNY5o44xYoOemBoUNDMREsmg5sR5iO81qKKO5GxfoosGb2zh59aeTmywcg==", + "dependencies": { + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.3.2.tgz", + "integrity": "sha512-tMdVExfdM+1G8A9KSHDsjg+S9xEGbhH5mApF2NslPnNZ4ciLKRNuHU2sSV/v8i0a6kacKvDTrwQXYBQJGOodBw==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.3.2.tgz", + "integrity": "sha512-lY7eOCaALZ90+GH+4PZRmAPGQRXoZ66NakSdhEtH6JSSAYOmZKDvNLGTMRo/vK1oELzWMuAHGdqvbcPDtNLLVw==", + "dependencies": { + "@parcel/plugin": "2.3.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.3.2.tgz", + "integrity": "sha512-FZaderyCExn0SBZ6D+zHPWc8JSn9YDcbfibv0wkCl+D7sYfeWZ22i7MRp5NwCe/TZ21WuxDWySCggEp/Waz2xg==", + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-sass": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.3.2.tgz", + "integrity": "sha512-jVDdhyzfCYLY/91gOfMAT0Cj3a3czETD71WpvnXhzfctnhZZ/lhC1aFUJxlhIF1hkVNyZ1b9USCCBAD4fje2Jg==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "sass": "^1.38.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.3.2.tgz", + "integrity": "sha512-k9My6bePsaGgUh+tidDjFbbVgKPTzwCAQfoloZRMt7y396KgUbvCfqDruk04k6k+cJn7Jl1o/5lUpTEruBze7g==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-webmanifest": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.3.2.tgz", + "integrity": "sha512-aaiDhhfag5ygjoNI1SmE3wVI/C63gABvfzp6BgkXNV/kKsqk/lSftukgcDTekSUtZNOhGJk7LeWkhm8RF38jIw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "json-source-map": "^0.6.1" + }, + "engines": { + "parcel": "^2.3.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.3.2.tgz", + "integrity": "sha512-C77Ct1xNM7LWjPTfe/dQ/9rq1efdsX5VJu2o8/TVi6qoFh64Wp/c5/vCHwKInOTBZUTchVO6z4PGJNIZoUVJuA==", + "dependencies": { + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/workers": "2.3.2", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.3.2.tgz", + "integrity": "sha512-xzZ+0vWhrXlLzGoz7WlANaO5IPtyWGeCZruGtepUL3yheRWb1UU4zFN9xz7Z+j++Dmf1Fgkc3qdk/t4O8u9HLQ==", + "dependencies": { + "@parcel/codeframe": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/markdown-ansi": "2.3.2", + "@parcel/source-map": "^2.0.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.0.tgz", + "integrity": "sha512-ByalKmRRXNNAhwZ0X1r0XeIhh1jG8zgdlvjgHk9ZV3YxiersEGNQkwew+RfqJbIL4gOJfvC2ey6lg5kaeRainw==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/workers": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.3.2.tgz", + "integrity": "sha512-JbOm+Ceuyymd1SuKGgodC2EXAiPuFRpaNUSJpz3NAsS3lVIt2TDAPMOWBivS7sML/KltspUfl/Q9YwO0TPUFNw==", + "dependencies": { + "@parcel/diagnostic": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.3.2" + } + }, + "node_modules/@swc/helpers": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.2.14.tgz", + "integrity": "sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "peer": true + }, + "node_modules/@types/react": { + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.40.tgz", + "integrity": "sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ==", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "peer": true + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "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" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", + "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", + "dependencies": { + "caniuse-lite": "^1.0.30001271", + "electron-to-chromium": "^1.3.878", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001272", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz", + "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/canvas-confetti": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/canvas-confetti/-/canvas-confetti-1.5.1.tgz", + "integrity": "sha512-Ncz+oZJP6OvY7ti4E1slxVlyAV/3g7H7oQtcCDXgwGgARxPnwYY9PW5Oe+I8uvspYNtuHviAdgA0LfcKFWJfpg==", + "funding": { + "type": "donate", + "url": "https://www.paypal.me/kirilvatev" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/chokidar": { + "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", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "engines": { + "node": ">=0.8" + } + }, + "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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==" + }, + "node_modules/colord": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", + "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "dependencies": { + "timsort": "^0.3.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.4.tgz", + "integrity": "sha512-hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A==", + "dependencies": { + "cssnano-preset-default": "^*", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", + "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", + "dependencies": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.2", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", + "peer": true + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.885", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz", + "integrity": "sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg==" + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fireworks-js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/fireworks-js/-/fireworks-js-1.3.5.tgz", + "integrity": "sha512-4EoRQJ2G6iZg0++eD+5tpKsOrvXo12fUqX+NDTcOgNdxtxUXVA1iutxI/nd1O3SbxpV1k3c2E4WtVQKeGxlp5g==", + "peerDependencies": { + "@types/react": ">=16.8.0", + "react": ">=16.8.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/htmlnano": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.0.tgz", + "integrity": "sha512-thKQfhcp2xgtsWNE27A2bliEeqVL5xjAgGn0wajyttvFFsvFWWah1ntV9aEX61gz0T6MBQ5xK/1lXuEumhJTcg==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^5.0.11", + "postcss": "^8.3.11", + "purgecss": "^4.0.3", + "relateurl": "^0.2.7", + "srcset": "^5.0.0", + "svgo": "^2.8.0", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha1-a+Fm0USCihMdaGiRuYPfYsOUkf8=" + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "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==" + }, + "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==" + }, + "node_modules/json-source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz", + "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" + }, + "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==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "engines": { + "node": ">=10" + } + }, + "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==" + }, + "node_modules/lmdb": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.2.6.tgz", + "integrity": "sha512-UmQV0oZZcV3EN6rjcAjIiuWcc3MYZGWQ0GUYz46Ron5fuTa/dUow7WSQa6leFkvZIKVUdECBWVw96tckfEzUFQ==", + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.5.4", + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/msgpackr": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz", + "integrity": "sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==", + "dependencies": { + "msgpackr-extract": "^1.0.14" + }, + "optionalDependencies": { + "msgpackr-extract": "^1.0.14" + } + }, + "node_modules/msgpackr-extract": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", + "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node_modules/node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "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==" + }, + "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/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "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=", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ordered-binary": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.2.4.tgz", + "integrity": "sha512-A/csN0d3n+igxBPfUrjbV5GC69LWj2pjZzAAeeHXLukQ4+fytfP4T1Lg0ju7MSPSwq7KtHkGaiwO8URZN5IpLg==" + }, + "node_modules/parcel": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.3.2.tgz", + "integrity": "sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg==", + "dev": true, + "dependencies": { + "@parcel/config-default": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/reporter-cli": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/utils": "2.3.2", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/parcel-reporter-static-files-copy": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/parcel-reporter-static-files-copy/-/parcel-reporter-static-files-copy-1.3.4.tgz", + "integrity": "sha512-JRTzz8P7jyaHdj1piBY+YzkWrNFmi+LKYdImxAdoOimdYCpeM1Tuk4vVEhVxeh2lN83MBxc72evWm0lPaZGWZA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "^2.0.0-beta.1" + }, + "engines": { + "parcel": "^2.0.0-beta.1" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "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==", + "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-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "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==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.1", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dependencies": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "dependencies": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", + "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", + "dependencies": { + "colord": "^2.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "dependencies": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "dependencies": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "dependencies": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "dependencies": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", + "dependencies": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "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==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "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==" + }, + "node_modules/sass": { + "version": "1.43.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.4.tgz", + "integrity": "sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "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" + } + }, + "node_modules/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "dependencies": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/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==" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "node_modules/xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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==" + }, + "@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==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@parcel/bundler-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.3.2.tgz", + "integrity": "sha512-JUrto4mjSD0ic9dEqRp0loL5o3HVYHja1ZIYSq+rBl2UWRV6/9cGTb07lXOCqqm0BWE+hQ4krUxB76qWaF0Lqw==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/cache": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.3.2.tgz", + "integrity": "sha512-Xxq+ekgcFEme6Fn1v7rEOBkyMOUOUu7eNqQw0l6HQS+INZ2Q7YzzfdW7pI8rEOAAICVg5BWKpmBQZpgJlT+HxQ==", + "requires": { + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/utils": "2.3.2", + "lmdb": "^2.0.2" + } + }, + "@parcel/codeframe": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.3.2.tgz", + "integrity": "sha512-ireQALcxxrTdIEpzTOoMo/GpfbFm1qlyezeGl3Hce3PMvHLg3a5S6u/Vcy7SAjdld5GfhHEqVY+blME6Z4CyXQ==", + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/compressor-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.3.2.tgz", + "integrity": "sha512-8dIoFwinYK6bOTpnZOAwwIv0v73y0ezsctPmfMnIqVQPn7wJwfhw/gbKVcmK5AkgQMkyid98hlLZoaZtGF1Mdg==", + "requires": { + "@parcel/plugin": "2.3.2" + } + }, + "@parcel/config-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.3.2.tgz", + "integrity": "sha512-E7/iA7fGCYvXU3u6zF9nxjeDVsgjCN6MVvDjymjaxYMoDWTIsPV245SBEXqzgtmzbMAV+VAl4rVWLMB4pzMt9g==", + "requires": { + "@parcel/bundler-default": "2.3.2", + "@parcel/compressor-raw": "2.3.2", + "@parcel/namer-default": "2.3.2", + "@parcel/optimizer-cssnano": "2.3.2", + "@parcel/optimizer-htmlnano": "2.3.2", + "@parcel/optimizer-image": "2.3.2", + "@parcel/optimizer-svgo": "2.3.2", + "@parcel/optimizer-terser": "2.3.2", + "@parcel/packager-css": "2.3.2", + "@parcel/packager-html": "2.3.2", + "@parcel/packager-js": "2.3.2", + "@parcel/packager-raw": "2.3.2", + "@parcel/packager-svg": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/resolver-default": "2.3.2", + "@parcel/runtime-browser-hmr": "2.3.2", + "@parcel/runtime-js": "2.3.2", + "@parcel/runtime-react-refresh": "2.3.2", + "@parcel/runtime-service-worker": "2.3.2", + "@parcel/transformer-babel": "2.3.2", + "@parcel/transformer-css": "2.3.2", + "@parcel/transformer-html": "2.3.2", + "@parcel/transformer-image": "2.3.2", + "@parcel/transformer-js": "2.3.2", + "@parcel/transformer-json": "2.3.2", + "@parcel/transformer-postcss": "2.3.2", + "@parcel/transformer-posthtml": "2.3.2", + "@parcel/transformer-raw": "2.3.2", + "@parcel/transformer-react-refresh-wrap": "2.3.2", + "@parcel/transformer-svg": "2.3.2" + } + }, + "@parcel/core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.3.2.tgz", + "integrity": "sha512-gdJzpsgeUhv9H8T0UKVmyuptiXdduEfKIUx0ci+/PGhq8cCoiFnlnuhW6H7oLr79OUc+YJStabDJuG4U2A6ysw==", + "requires": { + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/graph": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json-source-map": "^0.6.1", + "json5": "^2.2.0", + "msgpackr": "^1.5.1", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + } + }, + "@parcel/diagnostic": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.3.2.tgz", + "integrity": "sha512-/xW93Az4AOiifuYW/c4CDbUcu3lx5FcUDAj9AGiR9NSTsF/ROC/RqnxvQ3AGtqa14R7vido4MXEpY3JEp6FsqA==", + "requires": { + "json-source-map": "^0.6.1", + "nullthrows": "^1.1.1" + } + }, + "@parcel/events": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.3.2.tgz", + "integrity": "sha512-WiYIwXMo4Vd+pi58vRoHkul8TPE5VEfMY+3FYwVCKPl/LYqSD+vz6wMx9uG18mEbB1d/ofefv5ZFQNtPGKO4tQ==" + }, + "@parcel/fs": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.3.2.tgz", + "integrity": "sha512-XV+OsnRpN01QKU37lBN0TFKvv7uPKfQGbqFqYOrMbXH++Ae8rBU0Ykz+Yu4tv2h7shMlde+AMKgRnRTAJZpWEQ==", + "requires": { + "@parcel/fs-search": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/watcher": "^2.0.0", + "@parcel/workers": "2.3.2" + } + }, + "@parcel/fs-search": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.3.2.tgz", + "integrity": "sha512-u3DTEFnPtKuZvEtgGzfVjQUytegSSn3POi7WfwMwPIaeDPfYcyyhfl+c96z7VL9Gk/pqQ99/cGyAwFdFsnxxXA==", + "requires": { + "detect-libc": "^1.0.3" + } + }, + "@parcel/graph": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.3.2.tgz", + "integrity": "sha512-ltTBM3IEqumgmy4ABBFETT8NtAwSsjD9mY3WCyJ5P8rUshfVCg093rvBPbpuJYMaH/TV1AHVaWfZqaZ4JQDIQQ==", + "requires": { + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/hash": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.3.2.tgz", + "integrity": "sha512-SMtYTsHihws/wqdVnOr0QAGyGYsW9rJSJkkoRujUxo8l2ctnBN1ztv89eOUrdtgHsmcnj/oz1yw6sN38X+BUng==", + "requires": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + } + }, + "@parcel/logger": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.3.2.tgz", + "integrity": "sha512-jIWd8TXDQf+EnNWSa7Q10lSQ6C1LSH8OZkTlaINrfVIw7s+3tVxO3I4pjp7/ARw7RX2gdNPlw6fH4Gn/HvvYbw==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2" + } + }, + "@parcel/markdown-ansi": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.3.2.tgz", + "integrity": "sha512-l01ggmag5QScCk9mYA0xHh5TWSffR84uPFP2KvaAMQQ9NLNufcFiU0mn/Mtr3pCb5L5dSzmJ+Oo9s7P1Kh/Fmg==", + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/namer-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.3.2.tgz", + "integrity": "sha512-3QUMC0+5+3KMKfoAxYAbpZtuRqTgyZKsGDWzOpuqwemqp6P8ahAvNPwSCi6QSkGcTmvtYwBu9/NHPSONxIFOfg==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/node-resolver-core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.3.2.tgz", + "integrity": "sha512-wmrnMNzJN4GuHw2Ftho+BWgSWR6UCkW3XoMdphqcxpw/ieAdS2a+xYSosYkZgQZ6lGutSvLyJ1CkVvP6RLIdQQ==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/optimizer-cssnano": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.3.2.tgz", + "integrity": "sha512-wTBOxMiBI38NAB9XIlQZRCjS59+EWjWR9M04D3TWyxl+dL5gYMc1cl4GNynUnmcPdz+3s1UbOdo5/8V90wjiiw==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "cssnano": "^5.0.15", + "postcss": "^8.4.5" + } + }, + "@parcel/optimizer-htmlnano": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.3.2.tgz", + "integrity": "sha512-U8C0TDSxsx8HmHaLW0Zc7ha1fXQynzhvBjCRMGYnOiLiw0MOfLQxzQ2WKVSeCotmdlF63ayCwxWsd6BuqStiKQ==", + "requires": { + "@parcel/plugin": "2.3.2", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + } + }, + "@parcel/optimizer-image": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.3.2.tgz", + "integrity": "sha512-HOk3r5qdvY/PmI7Q3i2qEgFH3kP2QWG4Wq3wmC4suaF1+c2gpiQc+HKHWp4QvfbH3jhT00c5NxQyqPhbXeNI9Q==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "detect-libc": "^1.0.3" + } + }, + "@parcel/optimizer-svgo": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.3.2.tgz", + "integrity": "sha512-l7WvZ5+e7D1mVmLUxMVaSb29cviXzuvSY2OpQs0ukdPACDqag+C65hWMzwTiOSSRGPMIu96kQKpeVru2YjibhA==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "svgo": "^2.4.0" + } + }, + "@parcel/optimizer-terser": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.3.2.tgz", + "integrity": "sha512-dOapHhfy0xiNZa2IoEyHGkhhla07xsja79NPem14e5jCqY6Oi40jKNV4ab5uu5u1elWUjJuw69tiYbkDZWbKQw==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" + } + }, + "@parcel/package-manager": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.3.2.tgz", + "integrity": "sha512-pAQfywKVORY8Ee+NHAyKzzQrKbnz8otWRejps7urwhDaTVLfAd5C/1ZV64ATZ9ALYP9jyoQ8bTaxVd4opcSuwg==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "semver": "^5.7.1" + } + }, + "@parcel/packager-css": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.3.2.tgz", + "integrity": "sha512-ByuF9xDnQnpVL1Hdu9aY6SpxOuZowd3TH7joh1qdRPLeMHTEvUywHBXoiAyNdrhnLGum8uPEdY8Ra5Xuo1U7kg==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/packager-html": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.3.2.tgz", + "integrity": "sha512-YqAptdU+uqfgwSii76mRGcA/3TpuC6yHr8xG+11brqj/tEFLsurmX0naombzd7FgmrTE9w+kb0HUIMl2vRBn0A==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + } + }, + "@parcel/packager-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.3.2.tgz", + "integrity": "sha512-3OP0Ro9M1J+PIKZK4Ec2N5hjIPiqk++B2kMFeiUqvaNZjJgKrPPEICBhjS52rma4IE/NgmIMB3aI5pWqE/KwNA==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/packager-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.3.2.tgz", + "integrity": "sha512-RnoZ7WgNAFWkEPrEefvyDqus7xfv9XGprHyTbfLittPaVAZpl+4eAv43nXyMfzk77Cgds6KcNpkosj3acEpNIQ==", + "requires": { + "@parcel/plugin": "2.3.2" + } + }, + "@parcel/packager-raw-url": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.3.2.tgz", + "integrity": "sha512-xkV/fC5OtMi8xIOO6aRAQcIR2rmRfKvVCME4aXfMj4pKSqvZKyF75/UsIezAt41GTaO0H/hYIUTQUJdzI0wq5g==", + "dev": true, + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + } + }, + "@parcel/packager-svg": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.3.2.tgz", + "integrity": "sha512-iIC0VeczOXynS7M5jCi3naMBRyAznBVJ3iMg92/GaI9duxPlUMGAlHzLAKNtoXkc00HMXDH7rrmMb04VX6FYSg==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "posthtml": "^0.16.4" + } + }, + "@parcel/plugin": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.3.2.tgz", + "integrity": "sha512-SaLZAJX4KH+mrAmqmcy9KJN+V7L+6YNTlgyqYmfKlNiHu7aIjLL+3prX8QRcgGtjAYziCxvPj0cl1CCJssaiGg==", + "requires": { + "@parcel/types": "2.3.2" + } + }, + "@parcel/reporter-cli": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.3.2.tgz", + "integrity": "sha512-VYetmTXqW83npsvVvqlQZTbF3yVL3k/FCCl3kSWvOr9LZA0lmyqJWPjMHq37yIIOszQN/p5guLtgCjsP0UQw1Q==", + "dev": true, + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "chalk": "^4.1.0" + } + }, + "@parcel/reporter-dev-server": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.3.2.tgz", + "integrity": "sha512-E7LtnjAX4iiWMw2qKUyFBi3+bDz0UGjqgHoPQylUYYLi6opXjJz/oC+cCcCy4e3RZlkrl187XonvagS59YjDxA==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + } + }, + "@parcel/resolver-default": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.3.2.tgz", + "integrity": "sha512-y3r+xOwWsATrNGUWuZ6soA7q24f8E5tY1AZ9lHCufnkK2cdKZJ5O1cyd7ohkAiKZx2/pMd+FgmVZ/J3oxetXkA==", + "requires": { + "@parcel/node-resolver-core": "2.3.2", + "@parcel/plugin": "2.3.2" + } + }, + "@parcel/runtime-browser-hmr": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.3.2.tgz", + "integrity": "sha512-nRD6uOyF1+HGylP9GASbYmvUDOsDaNwvaxuGTSh8+5M0mmCgib+hVBiPEKbwdmKjGbUPt9wRFPyMa/JpeQZsIQ==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2" + } + }, + "@parcel/runtime-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.3.2.tgz", + "integrity": "sha512-SJepcHvYO/7CEe/Q85sngk+smcJ6TypuPh4D2R8kN+cAJPi5WvbQEe7+x5BEgbN+5Jumi/Uo3FfOOE5mYh+F6g==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/runtime-react-refresh": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.3.2.tgz", + "integrity": "sha512-P+GRPO2XVDSBQ4HmRSj2xfbHSQvL9+ahTE/AB74IJExLTITv5l4SHAV3VsiKohuHYUAYHW3A/Oe7tEFCAb6Cug==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "react-refresh": "^0.9.0" + } + }, + "@parcel/runtime-service-worker": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.3.2.tgz", + "integrity": "sha512-iREHj/eapphC4uS/zGUkiTJvG57q+CVbTrfE42kB8ECtf/RYNo5YC9htdvPZjRSXDPrEPc5NCoKp4X09ENNikw==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.0.0.tgz", + "integrity": "sha512-njoUJpj2646NebfHp5zKJeYD1KwhsfQIoU9TnCTHmF9fGOaPbClmeq12G6/4ZqGASftRq+YhhukFBi/ncWKGvw==", + "requires": { + "detect-libc": "^1.0.3", + "globby": "^11.0.3" + } + }, + "@parcel/transformer-babel": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.3.2.tgz", + "integrity": "sha512-QpWfH2V6jJ+kcUBIMM/uBBG8dGFvNaOGS+8jD6b+eTP+1owzm83RoWgqhRV2D/hhv2qMXEQzIljoc/wg2y+X4g==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + } + }, + "@parcel/transformer-css": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.3.2.tgz", + "integrity": "sha512-8lzvDny+78DIAqhcXam2Bf9FyaUoqzHdUQdNFn+PuXTHroG/QGPvln1kvqngJjn4/cpJS9vYmAPVXe+nai3P8g==", + "requires": { + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "postcss": "^8.4.5", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-html": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.3.2.tgz", + "integrity": "sha512-idT1I/8WM65IFYBqzRwpwT7sf0xGur4EDQDHhuPX1w+pIVZnh0lkLMAnEqs6ar1SPRMys4chzkuDNnqh0d76hg==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-image": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.3.2.tgz", + "integrity": "sha512-0K7cJHXysli6hZsUz/zVGO7WCoaaIeVdzAxKpLA1Yl3LKw/ODiMyXKt08LiV/ljQ2xT5qb9EsXUWDRvcZ0b96A==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/workers": "2.3.2", + "nullthrows": "^1.1.1" + } + }, + "@parcel/transformer-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.3.2.tgz", + "integrity": "sha512-U1fbIoAoqR5P49S+DMhH8BUd9IHRPwrTTv6ARYGsYnhuNsjTFhNYE0kkfRYboe/e0z7vEbeJICZXjnZ7eQDw5A==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.3.2", + "@parcel/workers": "2.3.2", + "@swc/helpers": "^0.2.11", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-json": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.3.2.tgz", + "integrity": "sha512-Pv2iPaxKINtFwOk5fDbHjQlSm2Vza/NLimQY896FLxiXPNAJxWGvMwdutgOPEBKksxRx9LZPyIOHiRVZ0KcA3w==", + "requires": { + "@parcel/plugin": "2.3.2", + "json5": "^2.2.0" + } + }, + "@parcel/transformer-postcss": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.3.2.tgz", + "integrity": "sha512-Rpdxc1rt2aJFCh/y/ccaBc9J1crDjNY5o44xYoOemBoUNDMREsmg5sR5iO81qKKO5GxfoosGb2zh59aeTmywcg==", + "requires": { + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-posthtml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.3.2.tgz", + "integrity": "sha512-tMdVExfdM+1G8A9KSHDsjg+S9xEGbhH5mApF2NslPnNZ4ciLKRNuHU2sSV/v8i0a6kacKvDTrwQXYBQJGOodBw==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-raw": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.3.2.tgz", + "integrity": "sha512-lY7eOCaALZ90+GH+4PZRmAPGQRXoZ66NakSdhEtH6JSSAYOmZKDvNLGTMRo/vK1oELzWMuAHGdqvbcPDtNLLVw==", + "requires": { + "@parcel/plugin": "2.3.2" + } + }, + "@parcel/transformer-react-refresh-wrap": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.3.2.tgz", + "integrity": "sha512-FZaderyCExn0SBZ6D+zHPWc8JSn9YDcbfibv0wkCl+D7sYfeWZ22i7MRp5NwCe/TZ21WuxDWySCggEp/Waz2xg==", + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "react-refresh": "^0.9.0" + } + }, + "@parcel/transformer-sass": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.3.2.tgz", + "integrity": "sha512-jVDdhyzfCYLY/91gOfMAT0Cj3a3czETD71WpvnXhzfctnhZZ/lhC1aFUJxlhIF1hkVNyZ1b9USCCBAD4fje2Jg==", + "dev": true, + "requires": { + "@parcel/plugin": "2.3.2", + "@parcel/source-map": "^2.0.0", + "sass": "^1.38.0" + } + }, + "@parcel/transformer-svg": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.3.2.tgz", + "integrity": "sha512-k9My6bePsaGgUh+tidDjFbbVgKPTzwCAQfoloZRMt7y396KgUbvCfqDruk04k6k+cJn7Jl1o/5lUpTEruBze7g==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/plugin": "2.3.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-webmanifest": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.3.2.tgz", + "integrity": "sha512-aaiDhhfag5ygjoNI1SmE3wVI/C63gABvfzp6BgkXNV/kKsqk/lSftukgcDTekSUtZNOhGJk7LeWkhm8RF38jIw==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/plugin": "2.3.2", + "@parcel/utils": "2.3.2", + "json-source-map": "^0.6.1" + } + }, + "@parcel/types": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.3.2.tgz", + "integrity": "sha512-C77Ct1xNM7LWjPTfe/dQ/9rq1efdsX5VJu2o8/TVi6qoFh64Wp/c5/vCHwKInOTBZUTchVO6z4PGJNIZoUVJuA==", + "requires": { + "@parcel/cache": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/source-map": "^2.0.0", + "@parcel/workers": "2.3.2", + "utility-types": "^3.10.0" + } + }, + "@parcel/utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.3.2.tgz", + "integrity": "sha512-xzZ+0vWhrXlLzGoz7WlANaO5IPtyWGeCZruGtepUL3yheRWb1UU4zFN9xz7Z+j++Dmf1Fgkc3qdk/t4O8u9HLQ==", + "requires": { + "@parcel/codeframe": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/hash": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/markdown-ansi": "2.3.2", + "@parcel/source-map": "^2.0.0", + "chalk": "^4.1.0" + } + }, + "@parcel/watcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.0.tgz", + "integrity": "sha512-ByalKmRRXNNAhwZ0X1r0XeIhh1jG8zgdlvjgHk9ZV3YxiersEGNQkwew+RfqJbIL4gOJfvC2ey6lg5kaeRainw==", + "requires": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + } + }, + "@parcel/workers": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.3.2.tgz", + "integrity": "sha512-JbOm+Ceuyymd1SuKGgodC2EXAiPuFRpaNUSJpz3NAsS3lVIt2TDAPMOWBivS7sML/KltspUfl/Q9YwO0TPUFNw==", + "requires": { + "@parcel/diagnostic": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/types": "2.3.2", + "@parcel/utils": "2.3.2", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + } + }, + "@swc/helpers": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.2.14.tgz", + "integrity": "sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "peer": true + }, + "@types/react": { + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.40.tgz", + "integrity": "sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ==", + "peer": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "peer": true + }, + "abortcontroller-polyfill": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "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" + } + }, + "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==" + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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 + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", + "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", + "requires": { + "caniuse-lite": "^1.0.30001271", + "electron-to-chromium": "^1.3.878", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "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==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001272", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz", + "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==" + }, + "canvas-confetti": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/canvas-confetti/-/canvas-confetti-1.5.1.tgz", + "integrity": "sha512-Ncz+oZJP6OvY7ti4E1slxVlyAV/3g7H7oQtcCDXgwGgARxPnwYY9PW5Oe+I8uvspYNtuHviAdgA0LfcKFWJfpg==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "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", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "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==", + "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==" + }, + "colord": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", + "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" + }, + "css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "requires": { + "timsort": "^0.3.0" + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.4.tgz", + "integrity": "sha512-hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A==", + "requires": { + "cssnano-preset-default": "^*", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", + "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.2", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", + "peer": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "electron-to-chromium": { + "version": "1.3.885", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz", + "integrity": "sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg==" + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "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=" + }, + "fast-glob": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fireworks-js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/fireworks-js/-/fireworks-js-1.3.5.tgz", + "integrity": "sha512-4EoRQJ2G6iZg0++eD+5tpKsOrvXo12fUqX+NDTcOgNdxtxUXVA1iutxI/nd1O3SbxpV1k3c2E4WtVQKeGxlp5g==", + "requires": {} + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "htmlnano": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.0.tgz", + "integrity": "sha512-thKQfhcp2xgtsWNE27A2bliEeqVL5xjAgGn0wajyttvFFsvFWWah1ntV9aEX61gz0T6MBQ5xK/1lXuEumhJTcg==", + "requires": { + "cosmiconfig": "^7.0.1", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + } + }, + "htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + }, + "dependencies": { + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" + } + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "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" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha1-a+Fm0USCihMdaGiRuYPfYsOUkf8=" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "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==" + }, + "json-source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz", + "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" + }, + "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==", + "requires": { + "minimist": "^1.2.5" + } + }, + "lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" + }, + "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==" + }, + "lmdb": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.2.6.tgz", + "integrity": "sha512-UmQV0oZZcV3EN6rjcAjIiuWcc3MYZGWQ0GUYz46Ron5fuTa/dUow7WSQa6leFkvZIKVUdECBWVw96tckfEzUFQ==", + "requires": { + "msgpackr": "^1.5.4", + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "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==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "msgpackr": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz", + "integrity": "sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==", + "requires": { + "msgpackr-extract": "^1.0.14" + } + }, + "msgpackr-extract": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", + "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", + "optional": true, + "requires": { + "nan": "^2.14.2", + "node-gyp-build": "^4.2.3" + } + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "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 + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "peer": true + }, + "ordered-binary": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.2.4.tgz", + "integrity": "sha512-A/csN0d3n+igxBPfUrjbV5GC69LWj2pjZzAAeeHXLukQ4+fytfP4T1Lg0ju7MSPSwq7KtHkGaiwO8URZN5IpLg==" + }, + "parcel": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.3.2.tgz", + "integrity": "sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg==", + "dev": true, + "requires": { + "@parcel/config-default": "2.3.2", + "@parcel/core": "2.3.2", + "@parcel/diagnostic": "2.3.2", + "@parcel/events": "2.3.2", + "@parcel/fs": "2.3.2", + "@parcel/logger": "2.3.2", + "@parcel/package-manager": "2.3.2", + "@parcel/reporter-cli": "2.3.2", + "@parcel/reporter-dev-server": "2.3.2", + "@parcel/utils": "2.3.2", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" + } + }, + "parcel-reporter-static-files-copy": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/parcel-reporter-static-files-copy/-/parcel-reporter-static-files-copy-1.3.4.tgz", + "integrity": "sha512-JRTzz8P7jyaHdj1piBY+YzkWrNFmi+LKYdImxAdoOimdYCpeM1Tuk4vVEhVxeh2lN83MBxc72evWm0lPaZGWZA==", + "dev": true, + "requires": { + "@parcel/plugin": "^2.0.0-beta.1" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "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==", + "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-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "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==" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + }, + "postcss": { + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", + "requires": { + "nanoid": "^3.3.1", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "requires": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + } + }, + "postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" + } + }, + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", + "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", + "requires": { + "colord": "^2.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" + } + }, + "postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "requires": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "dependencies": { + "posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "requires": { + "htmlparser2": "^7.1.1" + } + } + } + }, + "posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "requires": { + "htmlparser2": "^7.1.1" + } + }, + "posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "requires": { + "is-json": "^2.0.1" + } + }, + "prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "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==" + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==" + }, + "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" + } + }, + "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==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "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==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "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==" + }, + "sass": { + "version": "1.43.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.4.tgz", + "integrity": "sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "requires": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "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==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..36e2940 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "cv-terminal", + "version": "2.1.2", + "description": "Nice looking resume.", + "scripts": { + "dev": "npx parcel src/index.html", + "build": "npx parcel build src/index.html" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@parcel/config-default": "^2.3.2", + "canvas-confetti": "^1.5.1", + "fireworks-js": "^1.3.5", + "postcss": "^8.3.11" + }, + "browserslist": [ + "defaults" + ], + "devDependencies": { + "@parcel/packager-raw-url": "^2.3.2", + "@parcel/transformer-sass": "^2.3.2", + "@parcel/transformer-webmanifest": "^2.3.2", + "cssnano": "^5.0.8", + "parcel": "^2.3.2", + "parcel-reporter-static-files-copy": "^1.3.4", + "prettier": "2.4.1", + "sass": "^1.43.4" + }, + "staticFiles": { + "staticOutPath": "resources" + } +} diff --git a/src/android-chrome-192x192.png b/src/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..e34da8487465d7994673fb4999148f44e4c8fae4 GIT binary patch literal 10102 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 Y0W|Mfg)2crQ~&?~07*qoM6N<$f?9P_k^lez literal 0 HcmV?d00001 diff --git a/src/android-chrome-512x512.png b/src/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8ed28f482544bcc802b43cc74d3f57e7d9932b GIT binary patch literal 33382 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

fE~Vib})s+bmB^&X}p%sAGZ4pv^o1KlB8_}3pd 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

8xUy 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 literal 0 HcmV?d00001 diff --git a/src/app.js b/src/app.js new file mode 100644 index 0000000..6fc22ef --- /dev/null +++ b/src/app.js @@ -0,0 +1,248 @@ +/** + * @typedef Command + * @property {string} command + * @property {string} responseType + * @property {string?} value + * @property {string[]?} headers + * @property {string[]?} rows + */ + +/** + * @type {Command[]} commands + */ +import commands from "./resources/commands.json"; +import { getCV, pif, rmRf, setDarkMode } from "./custom-comands"; +import { dragElement } from "./draggable"; + +// Tableau contenant les commandes (utile pour la complétion des commandes) +let commandsList = []; +commands.forEach((c) => { + commandsList.push(c.command); +}); + +// Commandes qui nécessitent un traitement JS +const customCommands = ["clear", "dark", "light", "get cv"]; +commandsList = commandsList.concat(customCommands); + +// Commandes 'easter eggs' non disponibles à l'autocomplétion +const hiddenCommands = ["pif", "rm -rf /"]; + +// Ajout de la possibilité de déplacer la fenêtre pour les PC +if (window.innerWidth > 1024) { + dragElement(document.querySelector(".terminal")); +} + +// Tableau contenant l'historique des commandes +const commandsHistory = []; +let historyMode = false; +let historyIndex = -1; +const terminalBody = document.querySelector(".terminal__body"); + +// Ajout de la ligne par défaut +addNewLine(); + +// Easter egg de décembre, ajout de flocons de neige +const now = new Date(); +if (now.getMonth() === 11) { + let htmlFlakes = ""; + for (let i = 0; i < 6; i++) { + htmlFlakes += `
`; + } + const html = ``; + document.body.append(stringToDom(html)); +} + +/** + * Retourne le HTML de la réponse pour une commande donnée + * @param {string} command + */ +function getDomForCommand(command) { + const commandObj = commands.find((el) => el.command === command); + let html = ""; + if (commandObj === undefined) { + html = `'${ + command.split(" ")[0] + }' n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. Tapez la commande help pour afficher la liste des commandes disponibles.`; + } else { + if (commandObj.responseType === "list" && Array.isArray(commandObj.value)) { + html = "
    "; + html += commandObj.value.map((s) => `
  • ${s}
  • `).join(""); + html += "
"; + } else if (commandObj.responseType === "text") { + html = commandObj.value; + } else if (commandObj.responseType === "table") { + const headers = commandObj.headers; + const rows = commandObj.rows; + const thsHtml = headers.map((h) => `${h}`).join(""); + const tdsHtml = rows + .map((r) => `${r.map((rtd) => `${rtd}`).join("")}`) + .join(""); + html = `${thsHtml}${tdsHtml}
`; + } else if (commandObj.responseType === "code") { + html = `
${commandObj.value.join("\n")}
`; + } + } + + return html; +} + +/** + * Ajoute une nouvelle ligne input de commande et désactive la précédente. + * @param {string|null} previousUid uid de la ligne précédente. + */ +function addNewLine(previousUid = null) { + const uid = Math.random().toString(36).replace("0.", ""); + // terminal__line + const terminalLineEl = document.createElement("div"); + terminalLineEl.classList.add("terminal__line"); + + // terminal__response + const terminalResponseEl = document.createElement("div"); + terminalResponseEl.classList.add("terminal__response"); + terminalResponseEl.id = `response-${uid}`; + + // input text + const inputEl = document.createElement("input"); + inputEl.type = "text"; + inputEl.id = `input-${uid}`; + inputEl.autocapitalize = "off"; + inputEl.dataset.uid = uid; + inputEl.dataset.active = "1"; // Utile pour le focus + inputEl.addEventListener("keydown", onCommandInput); + + terminalLineEl.appendChild(inputEl); + if (previousUid) { + const previousInputEl = document.getElementById(previousUid); + if (previousInputEl) { + previousInputEl.setAttribute("disabled", "true"); + previousInputEl.removeEventListener("keydown", onCommandInput); + delete previousInputEl.dataset.active; + } + } + document.getElementById("terminal").appendChild(terminalLineEl); + document.getElementById("terminal").appendChild(terminalResponseEl); + + inputEl.focus(); // Ajoute le focus dès la création du champs +} + +/** + * Gère le keydown sur l'input de la commande. + * @param e + */ +function onCommandInput(e) { + const commandValue = e.target.value.trim().toLowerCase(); + if (e.keyCode === 13) { + // ENTER + if (commandValue !== "") { + historyMode = false; + const idResponse = `response-${e.target.dataset.uid}`; + const responseEl = document.getElementById(idResponse); + let html; + if ( + hiddenCommands.includes(commandValue) || + customCommands.includes(commandValue) + ) { + html = handleCustomCommands(commandValue); + } else { + html = getDomForCommand(commandValue); + } + if (responseEl) { + responseEl.innerHTML = html; + commandsHistory.push(commandValue); + addNewLine(e.target.id); + } + } + } else if (e.keyCode === 9) { + // TAB + e.preventDefault(); + if (commandValue === "") { + this.value = "help"; + } else { + const matchingCommand = commandsList.find((c) => + c.startsWith(commandValue) + ); + if (matchingCommand) { + this.value = matchingCommand; + } + } + historyMode = false; + } else if (e.keyCode === 38 || e.keyCode === 40) { + // UP / DOWN + // Gestion de l'historique + if (commandsHistory.length > 0) { + if (historyMode === false) { + historyIndex = commandsHistory.length - 1; + } else { + if (e.keyCode === 38 && historyIndex !== 0) { + // UP + historyIndex--; + } else if ( + e.keyCode === 40 && + historyIndex !== commandsHistory.length - 1 + ) { + historyIndex++; + } + } + this.value = commandsHistory[historyIndex]; + } + historyMode = true; + } +} + +/** + * Permet de gérer les commandes cachées (non proposées dans l'autocomplétion) + * @param {string} command + * @returns {string|void} Html à afficher dans la réponse de la commande + */ +function handleCustomCommands(command) { + switch (command) { + case "pif": + pif(); + return "C'est la fête !"; + case "light": + if (document.body.classList.length === 0) + return "Vous êtes déjà en mode clair"; + setDarkMode(false); + return "Vous êtes maintenant en mode clair."; + case "dark": + if (document.body.classList.length === 1) + return "Vous êtes déjà en mode sombre"; + setDarkMode(true); + return "Vous êtes maintenant en mode sombre."; + case "get cv": + getCV(); + return "Le CV va être téléchargé."; + case "rm -rf /": + rmRf(); + return "w4dhIHZhIFDDiVRFUiAh"; + case "clear": + terminalBody.innerHTML = `
`; + return; + } +} + +/** + * Convert HTML to DOM object + * @param html + * @returns {DocumentFragment} + */ +function stringToDom(html) { + return document.createRange().createContextualFragment(html); +} + +// ------------------------------------------------------------------------------------ +// EVENT LISTENNER +// ------------------------------------------------------------------------------------ + +// Ajout du focus sur l'input même si on clique sur le body (pour garder le curseur) +document.body.addEventListener("click", function (e) { + if (e.target.tagName !== "INPUT") { + const activeInput = document.querySelector("input[data-active]"); + activeInput.focus(); + } +}); + +document.querySelector(".fake-close").addEventListener("click", function (e) { + const terminalEl = document.querySelector(".terminal"); + terminalEl.parentElement.removeChild(terminalEl); +}); diff --git a/src/apple-touch-icon.png b/src/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2899f0d654a2f30da3f6b0bc348e58a9a9fcd3d3 GIT binary patch literal 9137 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 literal 0 HcmV?d00001 diff --git a/src/custom-comands.js b/src/custom-comands.js new file mode 100644 index 0000000..54f65c2 --- /dev/null +++ b/src/custom-comands.js @@ -0,0 +1,67 @@ +import confetti from "canvas-confetti"; +import { Fireworks } from "fireworks-js"; + +/** + * Affiche des confettis sur la page + */ +export function pif() { + const count = 200; + const defaults = { + origin: { y: 0.7 }, + }; + + function fire(particleRatio, opts) { + confetti( + Object.assign({}, defaults, opts, { + particleCount: Math.floor(count * particleRatio), + }) + ); + } + + fire(0.25, { + spread: 26, + startVelocity: 55, + }); + fire(0.2, { + spread: 60, + }); + fire(0.35, { + spread: 100, + decay: 0.91, + scalar: 0.8, + }); + fire(0.1, { + spread: 120, + startVelocity: 25, + decay: 0.92, + scalar: 1.2, + }); + fire(0.1, { + spread: 120, + startVelocity: 45, + }); +} + +export function setDarkMode(value) { + if (value) { + document.body.classList.add("dark-mode"); + } else { + document.body.classList.remove("dark-mode"); + } +} + +export function getCV() { + const a = document.createElement("a"); + a.href = "resources/CV - Greg Lebreton.pdf"; + a.setAttribute("download", "CV - Greg Lebreton.pdf.pdf"); + a.click(); +} + +export function rmRf() { + setDarkMode(true); + document.body.classList.add("firework"); + const fireworks = new Fireworks(document.body, { + mouse: { click: true, move: false, max: 7 }, + }); + fireworks.start(); +} diff --git a/src/draggable.js b/src/draggable.js new file mode 100644 index 0000000..6aa31fd --- /dev/null +++ b/src/draggable.js @@ -0,0 +1,44 @@ +export function dragElement(elmnt) { + var pos1 = 0, + pos2 = 0, + pos3 = 0, + pos4 = 0; + const element = document.querySelector(".terminal__header"); + if (element) { + // if present, the header is where you move the DIV from: + element.onmousedown = dragMouseDown; + } else { + // otherwise, move the DIV from anywhere inside the DIV: + elmnt.onmousedown = dragMouseDown; + } + + function dragMouseDown(e) { + e = e || window.event; + e.preventDefault(); + // get the mouse cursor position at startup: + pos3 = e.clientX; + pos4 = e.clientY; + document.onmouseup = closeDragElement; + // call a function whenever the cursor moves: + document.onmousemove = elementDrag; + } + + function elementDrag(e) { + e = e || window.event; + e.preventDefault(); + // calculate the new cursor position: + pos1 = pos3 - e.clientX; + pos2 = pos4 - e.clientY; + pos3 = e.clientX; + pos4 = e.clientY; + // set the element's new position: + elmnt.style.top = elmnt.offsetTop - pos2 + "px"; + elmnt.style.left = elmnt.offsetLeft - pos1 + "px"; + } + + function closeDragElement() { + // stop moving when mouse button is released: + document.onmouseup = null; + document.onmousemove = null; + } +} diff --git a/src/favicon-16x16.png b/src/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..e308df910f5687195c1a788818cdbef9f96b4dc8 GIT binary patch literal 610 zcmV-o0-gPdP)Px%97#k$R5(wCl3hrXQ5?pfv(4A(yUn!^nb9l~0!c~&3t{Gk7eQ`z(~aOoWH&}- zbRm5=i)wfweL*)B3PCsBXcl$hg-s9@!fGN!iMhz-KAPLRxxH>X@gCXO>nrPAo%1}; z|M&l&!y&F=-`Ui9av-?u=M&K=vY8A@Ewx4i-e`oi)}GK-RQ3_)&{qKfpD)UYBE)o> zfpo$elLcKBq(ZK|92$-*<|l}2*heX)%BGa!%;d#;p{!kcJgC6^K+E6t&gZlnnR@H%!Ze`oUF+B$rcih2Fk$pqq=N%eq| wfvu3TqyWbwHwdNhUg*aLFY6(J1Q6Qy4+bRDimnXGZ~y=R07*qoM6N<$f*ai#k^lez literal 0 HcmV?d00001 diff --git a/src/favicon-32x32.png b/src/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..bf235b6c7b915b1dffff54fcc70d854d0f0dc677 GIT binary patch literal 1252 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 + + + + + + + + + + + + Terminal CV + + + + + + + + + + + + +
+
+
+
+
+
+
+
+            ██████╗ ██╗   ██╗    ████████╗███████╗██████╗ ███╗   ███╗██╗███╗   ██╗ █████╗ ██╗     
+            ██╔════╝██║   ██║    ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗  ██║██╔══██╗██║     
+            ██║     ██║   ██║       ██║   █████╗  ██████╔╝██╔████╔██║██║██╔██╗ ██║███████║██║     
+            ██║     ╚██╗ ██╔╝       ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██╔══██║██║     
+            ╚██████╗ ╚████╔╝        ██║   ███████╗██║  ██║██║ ╚═╝ ██║██║██║ ╚████║██║  ██║███████╗
+             ╚═════╝  ╚═══╝         ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝╚══════╝
+
Greg Lebreton
+

Bienvenue sur mon CV terminal ! Pour afficher les commandes disponibles tapez help. Pour valider chaque commande appuyez sur Entrer, vous pouvez utiliser la touche Tabulation afin de vous aider à compléter une commande.

+
+
+
+
+ +
+ + + +
+ + + diff --git a/src/resources/commands.json b/src/resources/commands.json new file mode 100644 index 0000000..ce8fec5 --- /dev/null +++ b/src/resources/commands.json @@ -0,0 +1,87 @@ +[ + { + "command":"help", + "responseType":"list", + "value":[ + "a-propos : Affiche les informations me concernant", + "clear : Nettoie le terminal", + "experiences : Affiche la liste de mes expériences", + "get cv : Télécharge le CV", + "help : Affiche l'aide", + "hobby : Affiche la liste de mes passes temps", + "projets-perso : Affiche la liste de mes projets personnels", + "dark/light : Change le thème de la page", + "Vous pouvez utiliser la touche TAB afin de compléter une commande", + "Vous pouvez retrouver les anciennes commandes avec les flèches haut et bas." + ] + }, + { + "command":"a-propos", + "responseType":"code", + "value":[ + "{", + " \"nom\" : \"Gregory Lebreton\",", + " \"poste\" : \"Ingénieur Devops\",", + " \"experience\" : \"5\",", + " \"ville\" : \"Paris, France\"", + "}" + ] + }, + { + "command":"experiences", + "responseType":"table", + "headers":[ + "Date", + "Client", + "Description", + "Tech" + ], + "rows":[ + [ + "06/2019
09/2019", + "
Safran, S.A.E", + "Mise en place d'une plateforme mettant en relation les
différents acteurs de la DSI sur une plateforme logicielle.", + "Docker
Kubernetes
Axelor" + ], + [ + "12/2017
03/2019", + "PHP dev
Leading Frog", + "Module PHP permettant l'envoie de cartes postales
numériques avec implémentation API Stripe.", + "PHP
JavaScript
SQL" + ] + ] + }, + { + "command":"hobby", + "responseType":"list", + "value":[ + "Musique: Skateboard, Unity, VR", + "Programmation: Python, bash, PHP", + "Autre: Cinéma, Environnement, Famille" + ] + }, + { + "command":"projets-perso", + "responseType":"table", + "headers":[ + "Nom", + "Description", + "Tech", + "Liens" + ], + "rows":[ + [ + "Personal website
(2021)", + "Site web personnel me permettant de montrer mes projets et tester des applicatifs
", + "PHP/JS", + "Lien" + ], + [ + "GoldeneyeVR
(2020)", + "Implémentation VR au célèbre jeux de 1997.", + "C# WPF", + "Lien" + ] + ] + } +] diff --git a/src/scss/_snowflakes.scss b/src/scss/_snowflakes.scss new file mode 100644 index 0000000..90c9efc --- /dev/null +++ b/src/scss/_snowflakes.scss @@ -0,0 +1,137 @@ +.snowflake { + color: #fff; + font-size: 1em; + font-family: Arial, sans-serif; + text-shadow: 0 0 5px #000; +} + +@-webkit-keyframes snowflakes-fall { + 0% { + top: -10% + } + 100% { + top: 100% + } +} + +@-webkit-keyframes snowflakes-shake { + 0%, 100% { + -webkit-transform: translateX(0); + transform: translateX(0) + } + 50% { + -webkit-transform: translateX(80px); + transform: translateX(80px) + } +} + +@keyframes snowflakes-fall { + 0% { + top: -10% + } + 100% { + top: 100% + } +} + +@keyframes snowflakes-shake { + 0%, 100% { + transform: translateX(0) + } + 50% { + transform: translateX(80px) + } +} + +.snowflake { + position: fixed; + top: -10%; + z-index: 9999; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; + -webkit-animation-name: snowflakes-fall, snowflakes-shake; + -webkit-animation-duration: 10s, 3s; + -webkit-animation-timing-function: linear, ease-in-out; + -webkit-animation-iteration-count: infinite, infinite; + -webkit-animation-play-state: running, running; + animation-name: snowflakes-fall, snowflakes-shake; + animation-duration: 10s, 3s; + animation-timing-function: linear, ease-in-out; + animation-iteration-count: infinite, infinite; + animation-play-state: running, running +} + +.snowflake:nth-of-type(0) { + left: 1%; + -webkit-animation-delay: 0s, 0s; + animation-delay: 0s, 0s +} + +.snowflake:nth-of-type(1) { + left: 10%; + -webkit-animation-delay: 1s, 1s; + animation-delay: 1s, 1s +} + +.snowflake:nth-of-type(2) { + left: 20%; + -webkit-animation-delay: 6s, .5s; + animation-delay: 6s, .5s +} + +.snowflake:nth-of-type(3) { + left: 30%; + -webkit-animation-delay: 4s, 2s; + animation-delay: 4s, 2s +} + +.snowflake:nth-of-type(4) { + left: 40%; + -webkit-animation-delay: 2s, 2s; + animation-delay: 2s, 2s +} + +.snowflake:nth-of-type(5) { + left: 50%; + -webkit-animation-delay: 8s, 3s; + animation-delay: 8s, 3s +} + +.snowflake:nth-of-type(6) { + left: 60%; + -webkit-animation-delay: 6s, 2s; + animation-delay: 6s, 2s +} + +.snowflake:nth-of-type(7) { + left: 70%; + -webkit-animation-delay: 2.5s, 1s; + animation-delay: 2.5s, 1s +} + +.snowflake:nth-of-type(8) { + left: 80%; + -webkit-animation-delay: 1s, 0s; + animation-delay: 1s, 0s +} + +.snowflake:nth-of-type(9) { + left: 90%; + -webkit-animation-delay: 3s, 1.5s; + animation-delay: 3s, 1.5s +} + +.snowflake:nth-of-type(10) { + left: 25%; + -webkit-animation-delay: 2s, 0s; + animation-delay: 2s, 0s +} + +.snowflake:nth-of-type(11) { + left: 65%; + -webkit-animation-delay: 4s, 2.5s; + animation-delay: 4s, 2.5s +} diff --git a/src/scss/style.scss b/src/scss/style.scss new file mode 100644 index 0000000..9bc5251 --- /dev/null +++ b/src/scss/style.scss @@ -0,0 +1,314 @@ +$border-radius: 5px; + +:root { + --text-color: #fff; + --text-accent-color: darksalmon; + --link-color: darkorange; + --bg-1: #f27121; + --bg-2: #e94057; + --bg-3: #8a2387; + --bg-1-social: #f3a183; + --bg-2-social: #ec6f66; + --username-color: cadetblue; + --terminal-bg: rgba(56, 4, 40, 0.9); + --terminal-header-bg: #bbb; +} + +body { + &.dark-mode { + --text-accent-color: #ffca85; + --link-color: burlywood; + --bg-1: #211F20; + --bg-2: #292D34; + --bg-3: #213030; + --bg-1-social: #414141; + --bg-2-social: #485461; + --username-color: #858585; + --terminal-bg: rgb(0 0 0 / 90%); + --terminal-header-bg: #585252; + &.firework { + --terminal-bg: rgb(0 0 0 / 15%); + } + } + box-sizing: border-box; + margin: 0; + display: flex; + justify-content: space-around; + align-items: center; + flex-direction: column; + height: 100vh; + background: var(--bg-3); /* fallback for old browsers */ + background: -webkit-linear-gradient( + to right, + var(--bg-1), + var(--bg-2), + var(--bg-3) + ); /* Chrome 10-25, Safari 5.1-6 */ + background: linear-gradient( + to right, + var(--bg-1), + var(--bg-2), + var(--bg-3) + ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ +} + +ul { + margin: 0; +} + +.terminal { + position: absolute; + resize: both; + overflow: hidden; + height: 450px; + width: min(900px, 90vw); + + .terminal__header { + height: 25px; + padding: 0 8px; + background-color: var(--terminal-header-bg); + margin: 0 auto; + border-top-right-radius: $border-radius; + border-top-left-radius: $border-radius; + cursor: move; + + .fake-button { + height: 10px; + width: 10px; + border-radius: 50%; + border: 1px solid #000; + position: relative; + top: 6px; + left: 6px; + display: inline-block; + cursor: pointer; + + &.fake-close { + left: 6px; + background-color: #ff3b47; + border-color: #9d252b; + } + + &.fake-minimize { + left: 11px; + background-color: #ffc100; + border-color: #9d802c; + } + + &.fake-zoom { + left: 16px; + background-color: #00d742; + border-color: #049931; + } + } + } + + .terminal__body { + font-family: "Ubuntu Mono", monospace; + background: var(--terminal-bg); + color: var(--text-color); + padding: 8px; + overflow-y: scroll; + overflow-x: hidden; + box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, + rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, + rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset; + border-bottom-right-radius: $border-radius; + border-bottom-left-radius: $border-radius; + height: calc(100% - 41px); + + code { + color: var(--text-accent-color); + font-size: 14px; + } + + .terminal__banner { + display: flex; + flex-direction: column; + justify-content: center; + color: var(--text-color); + + .terminal__author { + text-align: right; + } + } + + .terminal__line { + margin-bottom: 8px; + + &::before { + content: "Greg LEBRETON ~$ "; + color: var(--username-color); + } + + input[type="text"] { + background: none; + border: none; + font-family: "Ubuntu Mono", monospace; + color: var(--text-color); + outline: none; + font-size: 15px; + width: calc(100% - 150px); + } + } + + .terminal__response { + margin: 8px 0 16px 0; + + table { + border: 1px dashed; + padding: 4px; + width: 100%; + + a { + text-decoration: none; + color: darkorange; + } + + thead { + th { + font-weight: normal; + color: cadetblue; + border-bottom: 1px solid white; + padding-bottom: 4px; + } + } + + tbody { + td { + padding: 4px; + } + + tr:not(:last-child) { + td { + border-bottom: 1px solid white; + } + } + } + } + } + } +} + +.socials { + position: absolute; + right: 16px; + bottom: 16px; + display: flex; + gap: 16px; + + a { + border-radius: 50%; + background: var(--bg-2-social); /* fallback for old browsers */ + background: -webkit-linear-gradient( + to left, + var(--bg-1-social), + var(--bg-2-social) + ); /* Chrome 10-25, Safari 5.1-6 */ + background: linear-gradient( + to left, + var(--bg-1-social), + var(--bg-2-social) + ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; + width: 4em; + height: 4em; + display: flex; + justify-content: center; + align-items: center; + text-decoration: none; + &:hover { + background: var(--bg-2-social); /* fallback for old browsers */ + background: -webkit-linear-gradient( + to right, + var(--bg-1-social), + var(--bg-2-social) + ); /* Chrome 10-25, Safari 5.1-6 */ + background: linear-gradient( + to right, + var(--bg-1-social), + var(--bg-2-social) + ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; + width: 4em; + height: 4em; + display: flex; + justify-content: center; + align-items: center; + text-decoration: none; + } + i { + color: white; + font-size: 2em; + } + } +} + +#banner-github { + position: absolute; + top: 0; + right: 0; +} + +@media (max-width: 880px) { + .terminal .terminal__body { + .terminal__banner { + pre { + font-size: 10px; + } + } + } +} + +@media (max-width: 640px) { + body { + align-items: center; + flex-direction: column; + justify-content: space-evenly; + } + canvas { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + } + + .terminal { + position: unset; + width: unset; + height: unset; + resize: none; + .terminal__body { + max-width: unset; + width: 90vw; + height: 70vh; + + .terminal__banner { + pre { + font-size: 5px; + } + } + } + } + .socials { + font-size: 13px; + position: relative; + bottom: unset; + right: unset; + } + #banner-github { + img { + width: 100px; + height: 100px; + } + } + #version { + top: 38px; + right: 38px; + font-size: 13px; + } +} + +@import "snowflakes"; diff --git a/src/site.webmanifest b/src/site.webmanifest new file mode 100644 index 0000000..c2a4c4d --- /dev/null +++ b/src/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name":"Resume Greg Lebreton", + "short_name":"Resume", + "icons":[ + { + "src":"./android-chrome-192x192.png", + "sizes":"192x192", + "type":"image/png" + }, + { + "src":"./android-chrome-512x512.png", + "sizes":"512x512", + "type":"image/png" + } + ], + "theme_color":"#ffffff", + "background_color":"#ffffff", + "display":"standalone" +} diff --git a/static/CV - Antoine DAUTRY.pdf b/static/CV - Antoine DAUTRY.pdf new file mode 100644 index 0000000000000000000000000000000000000000..79899d2171f3d6855ad7909fe81d0f210946fee4 GIT binary patch literal 53399 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īy$}~8BZCg7C9`HMtMx`D&{Mro1 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 hKNwmN{QMqR#cgbLtZje32^r}bSm