diff --git a/README.md b/README.md index aba19e5177..7390e47f76 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # Coolify An open-source, hassle-free, self-hostable Heroku & Netlify alternative. @@ -7,8 +6,7 @@ An open-source, hassle-free, self-hostable Heroku & Netlify alternative. [Small video](https://cdn.coollabs.io/assets/coolify/video/coolify.webm) - -## Installation +## Installation Installation is automated with the following command: @@ -16,37 +14,41 @@ Installation is automated with the following command: /bin/bash -c "$(curl -fsSL https://get.coollabs.io/coolify/install.sh)" ``` - ## Features + You can deploy any of the following applications, databases and services easily. (constantly growing lists) ### Applications + With Github integration - Static sites - NodeJS - VueJS - NuxtJS +- NextJS - React/Preact - NextJS - Gatsby - Svelte - PHP -- Rust +- Rust - or any custom dockerfile ### Databases + - MongoDB - MySQL - PostgreSQL - CouchDB +- Redis ### Services + - [Plausible Analytics](https://plausible.io) - ## Support - Twitter: [@andrasbacsai](https://twitter.com/andrasbacsai) @@ -55,10 +57,9 @@ With Github integration - Discord: [Invitation](https://discord.com/invite/bvS3WhR) ## Roadmap + [See the Roadmap here](https://github.com/coollabsio/coolify/projects/1) - + ## License This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the [LICENSE](/LICENSE) file in our repository for the full text. - - \ No newline at end of file diff --git a/package.json b/package.json index 6f1e5d908c..405ace6274 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source, hassle-free, self-hostable Heroku & Netlify alternative.", - "version": "1.0.12", + "version": "1.0.13", "license": "AGPL-3.0", "scripts": { "dev:docker:start": "docker-compose -f docker-compose-dev.yml up -d", @@ -31,7 +31,7 @@ "prettier-plugin-svelte": "^2.3.0", "svelte": "^3.38.2", "svelte-preprocess": "^4.7.3", - "tailwindcss": "canary", + "tailwindcss": "2.2.0-canary.8", "tslib": "^2.2.0", "typescript": "^4.2.4", "vite": "^2.3.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2422e03f1b..925fe7bf4c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,8 @@ specifiers: '@sveltejs/adapter-node': ^1.0.0-next.20 '@sveltejs/kit': 1.0.0-next.107 '@types/dockerode': ^3.2.3 - '@typescript-eslint/eslint-plugin': ^4.22.1 - '@typescript-eslint/parser': ^4.22.1 + '@typescript-eslint/eslint-plugin': ^4.23.0 + '@typescript-eslint/parser': ^4.23.0 '@zerodevx/svelte-toast': ^0.3.0 autoprefixer: ^10.2.5 commander: ^7.2.0 @@ -23,11 +23,11 @@ specifiers: generate-password: ^1.6.0 js-yaml: ^4.1.0 jsonwebtoken: ^8.5.1 - mongoose: ^5.12.7 - postcss: ^8.2.14 + mongoose: ^5.12.9 + postcss: ^8.2.15 postcss-load-config: ^3.0.1 prettier: ~2.3.0 - prettier-plugin-svelte: ^2.2.0 + prettier-plugin-svelte: ^2.3.0 shelljs: ^0.8.4 svelte: ^3.38.2 svelte-kit-cookie-session: ^0.4.3 @@ -37,7 +37,7 @@ specifiers: tslib: ^2.2.0 typescript: ^4.2.4 unique-names-generator: ^4.5.0 - vite: ^2.2.4 + vite: ^2.3.2 dependencies: '@iarna/toml': 2.2.5 @@ -51,7 +51,7 @@ dependencies: generate-password: 1.6.0 js-yaml: 4.1.0 jsonwebtoken: 8.5.1 - mongoose: 5.12.7 + mongoose: 5.12.9 shelljs: 0.8.4 svelte-kit-cookie-session: 0.4.3 svelte-select: 3.17.0 @@ -61,39 +61,47 @@ devDependencies: '@sveltejs/adapter-node': 1.0.0-next.20 '@sveltejs/kit': 1.0.0-next.107_svelte@3.38.2 '@types/dockerode': 3.2.3 - '@typescript-eslint/eslint-plugin': 4.22.1_b96c9280c6ac79e4dfcda76a733858e3 - '@typescript-eslint/parser': 4.22.1_eslint@7.26.0+typescript@4.2.4 - autoprefixer: 10.2.5_postcss@8.2.14 - cssnano: 5.0.2_postcss@8.2.14 + '@typescript-eslint/eslint-plugin': 4.23.0_7cfaee78cda985ff9bc3d8b5cb92a136 + '@typescript-eslint/parser': 4.23.0_eslint@7.26.0+typescript@4.2.4 + autoprefixer: 10.2.5_postcss@8.2.15 + cssnano: 5.0.2_postcss@8.2.15 dotenv-extended: 2.9.0 eslint: 7.26.0 eslint-config-prettier: 8.3.0_eslint@7.26.0 eslint-plugin-svelte3: 3.2.0_eslint@7.26.0+svelte@3.38.2 - postcss: 8.2.14 + postcss: 8.2.15 postcss-load-config: 3.0.1 prettier: 2.3.0 - prettier-plugin-svelte: 2.2.0_prettier@2.3.0+svelte@3.38.2 + prettier-plugin-svelte: 2.3.0_prettier@2.3.0+svelte@3.38.2 svelte: 3.38.2 - svelte-preprocess: 4.7.3_bc60392b3f6116f56fa9e4496adda117 - tailwindcss: 2.2.0-canary.6_b46308bb95614802e1b6d1dce4e25ea6 + svelte-preprocess: 4.7.3_5944bffd99aeae72e0daf7602e6be64e + tailwindcss: 2.2.0-canary.7_797cfc3ceddb49f111b184f6879a433f tslib: 2.2.0 typescript: 4.2.4 - vite: 2.2.4 + vite: 2.3.2 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + resolution: + { + integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + } dependencies: '@babel/highlight': 7.14.0 dev: true /@babel/helper-validator-identifier/7.14.0: - resolution: {integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==} + resolution: + { + integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + } dev: true /@babel/highlight/7.14.0: - resolution: {integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==} + resolution: + { + integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + } dependencies: '@babel/helper-validator-identifier': 7.14.0 chalk: 2.4.2 @@ -101,8 +109,11 @@ packages: dev: true /@eslint/eslintrc/0.4.1: - resolution: {integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.1 @@ -118,39 +129,57 @@ packages: dev: true /@fullhuman/postcss-purgecss/3.1.3: - resolution: {integrity: sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==} + resolution: + { + integrity: sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA== + } dependencies: purgecss: 3.1.3 dev: true /@iarna/toml/2.2.5: - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + resolution: + { + integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== + } dev: false /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.stat': 2.0.4 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + } + engines: { node: '>= 8' } dev: true /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.scandir': 2.1.4 fastq: 1.11.0 dev: true /@rollup/pluginutils/4.1.0: - resolution: {integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==} - engines: {node: '>= 8.0.0'} + resolution: + { + integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== + } + engines: { node: '>= 8.0.0' } peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: @@ -159,12 +188,18 @@ packages: dev: true /@sveltejs/adapter-node/1.0.0-next.20: - resolution: {integrity: sha512-ornNW289XN4TyY3tRXVGH38FxrqLsw1MHn4oq92T7U6EqnSbw/22waMZnPBQUxcj5GxZsXuuFjeBjn1BWt0x2A==} + resolution: + { + integrity: sha512-ornNW289XN4TyY3tRXVGH38FxrqLsw1MHn4oq92T7U6EqnSbw/22waMZnPBQUxcj5GxZsXuuFjeBjn1BWt0x2A== + } dev: true /@sveltejs/kit/1.0.0-next.107_svelte@3.38.2: - resolution: {integrity: sha512-HxomGMWbuWTU8lahk98hqIL/xjW6HzNTAvTZVMnnmlMHN1N8x7+abkz4Y09Zhu8lZkZpFuqBj2UlsgPW4uJXtw==} - engines: {node: '>= 12.17.0'} + resolution: + { + integrity: sha512-HxomGMWbuWTU8lahk98hqIL/xjW6HzNTAvTZVMnnmlMHN1N8x7+abkz4Y09Zhu8lZkZpFuqBj2UlsgPW4uJXtw== + } + engines: { node: '>= 12.17.0' } hasBin: true peerDependencies: svelte: ^3.38.2 @@ -180,8 +215,11 @@ packages: dev: true /@sveltejs/vite-plugin-svelte/1.0.0-next.10_svelte@3.38.2+vite@2.3.2: - resolution: {integrity: sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg== + } + engines: { node: '>=12.0.0' } peerDependencies: svelte: ^3.37.0 vite: ^2.2.3 @@ -202,53 +240,80 @@ packages: dev: true /@trysound/sax/0.1.1: - resolution: {integrity: sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== + } + engines: { node: '>=10.13.0' } dev: true /@types/bson/4.0.3: - resolution: {integrity: sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==} + resolution: + { + integrity: sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw== + } dependencies: '@types/node': 15.0.1 dev: false /@types/dockerode/3.2.3: - resolution: {integrity: sha512-nZRhpSxm3PYianRBcRExcHxDvEzYHUPfGCnRL5Fe4/fSEZbtxrRNJ7okzCans3lXxj2t298EynFHGTnTC2f1Iw==} + resolution: + { + integrity: sha512-nZRhpSxm3PYianRBcRExcHxDvEzYHUPfGCnRL5Fe4/fSEZbtxrRNJ7okzCans3lXxj2t298EynFHGTnTC2f1Iw== + } dependencies: '@types/node': 15.0.1 dev: true /@types/json-schema/7.0.7: - resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} + resolution: + { + integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + } dev: true /@types/mongodb/3.6.12: - resolution: {integrity: sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog==} + resolution: + { + integrity: sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog== + } dependencies: '@types/bson': 4.0.3 '@types/node': 15.0.1 dev: false /@types/node/15.0.1: - resolution: {integrity: sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==} + resolution: + { + integrity: sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== + } /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + resolution: + { + integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + } dev: true /@types/pug/2.0.4: - resolution: {integrity: sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI=} + resolution: { integrity: sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= } dev: true /@types/sass/1.16.0: - resolution: {integrity: sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==} + resolution: + { + integrity: sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA== + } dependencies: '@types/node': 15.0.1 dev: true - /@typescript-eslint/eslint-plugin/4.22.1_b96c9280c6ac79e4dfcda76a733858e3: - resolution: {integrity: sha512-kVTAghWDDhsvQ602tHBc6WmQkdaYbkcTwZu+7l24jtJiYvm9l+/y/b2BZANEezxPDiX5MK2ZecE+9BFi/YJryw==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/eslint-plugin/4.23.0_7cfaee78cda985ff9bc3d8b5cb92a136: + resolution: + { + integrity: sha512-tGK1y3KIvdsQEEgq6xNn1DjiFJtl+wn8JJQiETtCbdQxw1vzjXyAaIkEmO2l6Nq24iy3uZBMFQjZ6ECf1QdgGw== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: '@typescript-eslint/parser': ^4.0.0 eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -257,9 +322,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.22.1_eslint@7.26.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.22.1_eslint@7.26.0+typescript@4.2.4 - '@typescript-eslint/scope-manager': 4.22.1 + '@typescript-eslint/experimental-utils': 4.23.0_eslint@7.26.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.23.0_eslint@7.26.0+typescript@4.2.4 + '@typescript-eslint/scope-manager': 4.23.0 debug: 4.3.1 eslint: 7.26.0 functional-red-black-tree: 1.0.1 @@ -272,16 +337,19 @@ packages: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.22.1_eslint@7.26.0+typescript@4.2.4: - resolution: {integrity: sha512-svYlHecSMCQGDO2qN1v477ax/IDQwWhc7PRBiwAdAMJE7GXk5stF4Z9R/8wbRkuX/5e9dHqbIWxjeOjckK3wLQ==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/experimental-utils/4.23.0_eslint@7.26.0+typescript@4.2.4: + resolution: + { + integrity: sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: eslint: '*' dependencies: '@types/json-schema': 7.0.7 - '@typescript-eslint/scope-manager': 4.22.1 - '@typescript-eslint/types': 4.22.1 - '@typescript-eslint/typescript-estree': 4.22.1_typescript@4.2.4 + '@typescript-eslint/scope-manager': 4.23.0 + '@typescript-eslint/types': 4.23.0 + '@typescript-eslint/typescript-estree': 4.23.0_typescript@4.2.4 eslint: 7.26.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 @@ -290,9 +358,12 @@ packages: - typescript dev: true - /@typescript-eslint/parser/4.22.1_eslint@7.26.0+typescript@4.2.4: - resolution: {integrity: sha512-l+sUJFInWhuMxA6rtirzjooh8cM/AATAe3amvIkqKFeMzkn85V+eLzb1RyuXkHak4dLfYzOmF6DXPyflJvjQnw==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/parser/4.23.0_eslint@7.26.0+typescript@4.2.4: + resolution: + { + integrity: sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 typescript: '*' @@ -300,9 +371,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 4.22.1 - '@typescript-eslint/types': 4.22.1 - '@typescript-eslint/typescript-estree': 4.22.1_typescript@4.2.4 + '@typescript-eslint/scope-manager': 4.23.0 + '@typescript-eslint/types': 4.23.0 + '@typescript-eslint/typescript-estree': 4.23.0_typescript@4.2.4 debug: 4.3.1 eslint: 7.26.0 typescript: 4.2.4 @@ -310,30 +381,39 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/4.22.1: - resolution: {integrity: sha512-d5bAiPBiessSmNi8Amq/RuLslvcumxLmyhf1/Xa9IuaoFJ0YtshlJKxhlbY7l2JdEk3wS0EnmnfeJWSvADOe0g==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/scope-manager/4.23.0: + resolution: + { + integrity: sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dependencies: - '@typescript-eslint/types': 4.22.1 - '@typescript-eslint/visitor-keys': 4.22.1 + '@typescript-eslint/types': 4.23.0 + '@typescript-eslint/visitor-keys': 4.23.0 dev: true - /@typescript-eslint/types/4.22.1: - resolution: {integrity: sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/types/4.23.0: + resolution: + { + integrity: sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dev: true - /@typescript-eslint/typescript-estree/4.22.1_typescript@4.2.4: - resolution: {integrity: sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/typescript-estree/4.23.0_typescript@4.2.4: + resolution: + { + integrity: sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw== + } + engines: { node: ^10.12.0 || >=12.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 4.22.1 - '@typescript-eslint/visitor-keys': 4.22.1 + '@typescript-eslint/types': 4.23.0 + '@typescript-eslint/visitor-keys': 4.23.0 debug: 4.3.1 globby: 11.0.3 is-glob: 4.0.1 @@ -344,20 +424,29 @@ packages: - supports-color dev: true - /@typescript-eslint/visitor-keys/4.22.1: - resolution: {integrity: sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/visitor-keys/4.23.0: + resolution: + { + integrity: sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg== + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } dependencies: - '@typescript-eslint/types': 4.22.1 + '@typescript-eslint/types': 4.23.0 eslint-visitor-keys: 2.0.0 dev: true /@zerodevx/svelte-toast/0.3.0: - resolution: {integrity: sha512-TY5dLB5DEpxuHu60M6gum+fDxzIGXg35R8500orz58JTFs9LiHWoEfeJ4n9t7Afix3iMmYLl2thjhnCHCiQIhQ==} + resolution: + { + integrity: sha512-TY5dLB5DEpxuHu60M6gum+fDxzIGXg35R8500orz58JTFs9LiHWoEfeJ4n9t7Afix3iMmYLl2thjhnCHCiQIhQ== + } dev: false /acorn-jsx/5.3.1_acorn@7.4.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} + resolution: + { + integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -365,7 +454,10 @@ packages: dev: true /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + resolution: + { + integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + } dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 @@ -373,18 +465,27 @@ packages: dev: true /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + } + engines: { node: '>=0.4.0' } dev: true /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + } + engines: { node: '>=0.4.0' } hasBin: true dev: true /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -393,7 +494,10 @@ packages: dev: true /ajv/8.2.0: - resolution: {integrity: sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==} + resolution: + { + integrity: sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== + } dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -402,81 +506,112 @@ packages: dev: true /alphanum-sort/1.0.2: - resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} + resolution: { integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= } dev: true /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + } + engines: { node: '>=6' } dev: true /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + } + engines: { node: '>=8' } dev: true /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + } + engines: { node: '>=4' } dependencies: color-convert: 1.9.3 dev: true /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + } + engines: { node: '>=8' } dependencies: color-convert: 2.0.1 dev: true /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + } + engines: { node: '>= 8' } dependencies: normalize-path: 3.0.0 picomatch: 2.2.3 dev: true /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + } dependencies: sprintf-js: 1.0.3 dev: true /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + } dev: false /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + } + engines: { node: '>=8' } dev: true /asn1/0.2.4: - resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} + resolution: + { + integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + } dependencies: safer-buffer: 2.1.2 dev: false /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /at-least-node/1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + } + engines: { node: '>=8' } dev: true /auto-parse/1.8.0: - resolution: {integrity: sha512-Uri4uC+K5cSi5hjM4snFrqPrjqUpwxeSW5EMTPvN7Ju3PlDzmXXDr5tjdzxPvvwgT3J7bmMDJ3Rm625nbrc72A==} + resolution: + { + integrity: sha512-Uri4uC+K5cSi5hjM4snFrqPrjqUpwxeSW5EMTPvN7Ju3PlDzmXXDr5tjdzxPvvwgT3J7bmMDJ3Rm625nbrc72A== + } dependencies: typpy: 2.3.11 dev: true - /autoprefixer/10.2.5_postcss@8.2.14: - resolution: {integrity: sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==} - engines: {node: ^10 || ^12 || >=14} + /autoprefixer/10.2.5_postcss@8.2.15: + resolution: + { + integrity: sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA== + } + engines: { node: ^10 || ^12 || >=14 } hasBin: true peerDependencies: postcss: ^8.1.0 @@ -486,37 +621,52 @@ packages: colorette: 1.2.2 fraction.js: 4.0.13 normalize-range: 0.1.2 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + } /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + } dev: false /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + resolution: { integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= } dependencies: tweetnacl: 0.14.5 dev: false /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + } + engines: { node: '>=8' } dev: true /bl/2.2.1: - resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==} + resolution: + { + integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + } dependencies: readable-stream: 2.3.7 safe-buffer: 5.2.1 dev: false /bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + } dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -524,29 +674,41 @@ packages: dev: false /bluebird/3.5.1: - resolution: {integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==} + resolution: + { + integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== + } dev: false /boolbase/1.0.0: - resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + resolution: { integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= } dev: true /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + } + engines: { node: '>=8' } dependencies: fill-range: 7.0.1 dev: true /browserslist/4.16.6: - resolution: {integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: caniuse-lite: 1.0.30001220 @@ -557,43 +719,64 @@ packages: dev: true /bson/1.1.6: - resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==} - engines: {node: '>=0.6.19'} + resolution: + { + integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== + } + engines: { node: '>=0.6.19' } dev: false /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} + resolution: { integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= } dev: false /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bytes/3.1.0: - resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + } + engines: { node: '>= 0.8' } dev: true /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + } + engines: { node: '>=6' } dev: true /camelcase-css/2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + } + engines: { node: '>= 6' } dev: true /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + } + engines: { node: '>=6' } dev: true /caniuse-api/3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + resolution: + { + integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + } dependencies: browserslist: 4.16.6 caniuse-lite: 1.0.30001220 @@ -602,12 +785,18 @@ packages: dev: true /caniuse-lite/1.0.30001220: - resolution: {integrity: sha512-pjC2T4DIDyGAKTL4dMvGUQaMUHRmhvPpAgNNTa14jaBWHu+bLQgvpFqElxh9L4829Fdx0PlKiMp3wnYldRtECA==} + resolution: + { + integrity: sha512-pjC2T4DIDyGAKTL4dMvGUQaMUHRmhvPpAgNNTa14jaBWHu+bLQgvpFqElxh9L4829Fdx0PlKiMp3wnYldRtECA== + } dev: true /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + } + engines: { node: '>=4' } dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -615,21 +804,30 @@ packages: dev: true /chalk/4.1.1: - resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /cheap-watch/1.0.3: - resolution: {integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg== + } + engines: { node: '>=8' } dev: true /chokidar/3.5.1: - resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -643,76 +841,112 @@ packages: dev: true /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + resolution: + { + integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + } dev: false /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + } dependencies: color-name: 1.1.3 dev: true /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + } + engines: { node: '>=7.0.0' } dependencies: color-name: 1.1.4 dev: true /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + resolution: { integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= } dev: true /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + } dev: true /color-string/1.5.5: - resolution: {integrity: sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==} + resolution: + { + integrity: sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== + } dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: true /color/3.1.3: - resolution: {integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==} + resolution: + { + integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + } dependencies: color-convert: 1.9.3 color-string: 1.5.5 dev: true /colorette/1.2.2: - resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} + resolution: + { + integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + } dev: true /commander/6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + } + engines: { node: '>= 6' } dev: true /commander/7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + } + engines: { node: '>= 10' } /compare-versions/3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + resolution: + { + integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + } dev: false /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } /cookie/0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + } + engines: { node: '>= 0.6' } dev: false /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + resolution: { integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= } dev: false /cosmiconfig/7.0.0: - resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + } + engines: { node: '>=10' } dependencies: '@types/parse-json': 4.0.0 import-fresh: 3.3.0 @@ -722,8 +956,11 @@ packages: dev: true /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + } + engines: { node: '>= 8' } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -731,25 +968,34 @@ packages: dev: true /css-color-names/0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} + resolution: { integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= } dev: true /css-color-names/1.0.1: - resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} - dev: true - - /css-declaration-sorter/6.0.0_postcss@8.2.14: - resolution: {integrity: sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + } + dev: true + + /css-declaration-sorter/6.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg== + } + engines: { node: '>= 10' } peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 timsort: 0.3.0 dev: true /css-select/3.1.2: - resolution: {integrity: sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==} + resolution: + { + integrity: sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== + } dependencies: boolbase: 1.0.0 css-what: 4.0.0 @@ -759,111 +1005,147 @@ packages: dev: true /css-tree/1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + } + engines: { node: '>=8.0.0' } dependencies: mdn-data: 2.0.14 source-map: 0.6.1 dev: true /css-unit-converter/1.1.2: - resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} + resolution: + { + integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + } dev: true /css-what/4.0.0: - resolution: {integrity: sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== + } + engines: { node: '>= 6' } dev: true /cssesc/3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + } + engines: { node: '>=4' } hasBin: true dev: true - /cssnano-preset-default/5.0.1_postcss@8.2.14: - resolution: {integrity: sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q==} - engines: {node: ^10 || ^12 || >=14.0} + /cssnano-preset-default/5.0.1_postcss@8.2.15: + resolution: + { + integrity: sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - css-declaration-sorter: 6.0.0_postcss@8.2.14 - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 - postcss-calc: 8.0.0_postcss@8.2.14 - postcss-colormin: 5.0.0_postcss@8.2.14 - postcss-convert-values: 5.0.0_postcss@8.2.14 - postcss-discard-comments: 5.0.0_postcss@8.2.14 - postcss-discard-duplicates: 5.0.0_postcss@8.2.14 - postcss-discard-empty: 5.0.0_postcss@8.2.14 - postcss-discard-overridden: 5.0.0_postcss@8.2.14 - postcss-merge-longhand: 5.0.1_postcss@8.2.14 - postcss-merge-rules: 5.0.0_postcss@8.2.14 - postcss-minify-font-values: 5.0.0_postcss@8.2.14 - postcss-minify-gradients: 5.0.0_postcss@8.2.14 - postcss-minify-params: 5.0.0_postcss@8.2.14 - postcss-minify-selectors: 5.0.0_postcss@8.2.14 - postcss-normalize-charset: 5.0.0_postcss@8.2.14 - postcss-normalize-display-values: 5.0.0_postcss@8.2.14 - postcss-normalize-positions: 5.0.0_postcss@8.2.14 - postcss-normalize-repeat-style: 5.0.0_postcss@8.2.14 - postcss-normalize-string: 5.0.0_postcss@8.2.14 - postcss-normalize-timing-functions: 5.0.0_postcss@8.2.14 - postcss-normalize-unicode: 5.0.0_postcss@8.2.14 - postcss-normalize-url: 5.0.0_postcss@8.2.14 - postcss-normalize-whitespace: 5.0.0_postcss@8.2.14 - postcss-ordered-values: 5.0.0_postcss@8.2.14 - postcss-reduce-initial: 5.0.0_postcss@8.2.14 - postcss-reduce-transforms: 5.0.0_postcss@8.2.14 - postcss-svgo: 5.0.0_postcss@8.2.14 - postcss-unique-selectors: 5.0.0_postcss@8.2.14 - dev: true - - /cssnano-utils/2.0.0_postcss@8.2.14: - resolution: {integrity: sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA==} - engines: {node: ^10 || ^12 || >=14.0} + css-declaration-sorter: 6.0.0_postcss@8.2.15 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 + postcss-calc: 8.0.0_postcss@8.2.15 + postcss-colormin: 5.0.0_postcss@8.2.15 + postcss-convert-values: 5.0.0_postcss@8.2.15 + postcss-discard-comments: 5.0.0_postcss@8.2.15 + postcss-discard-duplicates: 5.0.0_postcss@8.2.15 + postcss-discard-empty: 5.0.0_postcss@8.2.15 + postcss-discard-overridden: 5.0.0_postcss@8.2.15 + postcss-merge-longhand: 5.0.1_postcss@8.2.15 + postcss-merge-rules: 5.0.0_postcss@8.2.15 + postcss-minify-font-values: 5.0.0_postcss@8.2.15 + postcss-minify-gradients: 5.0.0_postcss@8.2.15 + postcss-minify-params: 5.0.0_postcss@8.2.15 + postcss-minify-selectors: 5.0.0_postcss@8.2.15 + postcss-normalize-charset: 5.0.0_postcss@8.2.15 + postcss-normalize-display-values: 5.0.0_postcss@8.2.15 + postcss-normalize-positions: 5.0.0_postcss@8.2.15 + postcss-normalize-repeat-style: 5.0.0_postcss@8.2.15 + postcss-normalize-string: 5.0.0_postcss@8.2.15 + postcss-normalize-timing-functions: 5.0.0_postcss@8.2.15 + postcss-normalize-unicode: 5.0.0_postcss@8.2.15 + postcss-normalize-url: 5.0.0_postcss@8.2.15 + postcss-normalize-whitespace: 5.0.0_postcss@8.2.15 + postcss-ordered-values: 5.0.0_postcss@8.2.15 + postcss-reduce-initial: 5.0.0_postcss@8.2.15 + postcss-reduce-transforms: 5.0.0_postcss@8.2.15 + postcss-svgo: 5.0.0_postcss@8.2.15 + postcss-unique-selectors: 5.0.0_postcss@8.2.15 + dev: true + + /cssnano-utils/2.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /cssnano/5.0.2_postcss@8.2.14: - resolution: {integrity: sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q==} - engines: {node: ^10 || ^12 || >=14.0} + /cssnano/5.0.2_postcss@8.2.15: + resolution: + { + integrity: sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: cosmiconfig: 7.0.0 - cssnano-preset-default: 5.0.1_postcss@8.2.14 + cssnano-preset-default: 5.0.1_postcss@8.2.15 is-resolvable: 1.1.0 - postcss: 8.2.14 + postcss: 8.2.15 dev: true /csso/4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + } + engines: { node: '>=8.0.0' } dependencies: css-tree: 1.1.3 dev: true /cuid/2.1.8: - resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==} + resolution: + { + integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg== + } dev: false /dayjs/1.10.4: - resolution: {integrity: sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==} + resolution: + { + integrity: sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== + } dev: false /debug/3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + resolution: + { + integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + } dependencies: ms: 2.0.0 dev: false /debug/4.3.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -873,8 +1155,11 @@ packages: ms: 2.1.2 /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -885,26 +1170,35 @@ packages: dev: true /deep-is/0.1.3: - resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} + resolution: { integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= } dev: true /defined/1.0.0: - resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=} + resolution: { integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= } dev: true /denque/1.5.0: - resolution: {integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ== + } + engines: { node: '>=0.10' } dev: false /detect-indent/6.0.0: - resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== + } + engines: { node: '>=8' } dev: true /detective/5.2.0: - resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + } + engines: { node: '>=0.8.0' } hasBin: true dependencies: acorn-node: 1.8.2 @@ -913,23 +1207,32 @@ packages: dev: true /didyoumean/1.2.1: - resolution: {integrity: sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=} + resolution: { integrity: sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= } dev: true /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + } + engines: { node: '>=8' } dependencies: path-type: 4.0.0 dev: true /dlv/1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + resolution: + { + integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + } dev: true /docker-modem/3.0.0: - resolution: {integrity: sha512-WwFajJ8I5geZ/dDZ5FDMDA6TBkWa76xWwGIGw8uzUjNUGCN0to83wJ8Oi1AxrJTC0JBn+7fvIxUctnawtlwXeg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-WwFajJ8I5geZ/dDZ5FDMDA6TBkWa76xWwGIGw8uzUjNUGCN0to83wJ8Oi1AxrJTC0JBn+7fvIxUctnawtlwXeg== + } + engines: { node: '>= 8.0' } dependencies: debug: 4.3.1 readable-stream: 3.6.0 @@ -940,8 +1243,11 @@ packages: dev: false /dockerode/3.3.0: - resolution: {integrity: sha512-St08lfOjpYCOXEM8XA0VLu3B3hRjtddODphNW5GFoA0AS3JHgoPQKOz0Qmdzg3P+hUPxhb02g1o1Cu1G+U3lRg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-St08lfOjpYCOXEM8XA0VLu3B3hRjtddODphNW5GFoA0AS3JHgoPQKOz0Qmdzg3P+hUPxhb02g1o1Cu1G+U3lRg== + } + engines: { node: '>= 8.0' } dependencies: docker-modem: 3.0.0 tar-fs: 2.0.1 @@ -950,14 +1256,20 @@ packages: dev: false /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + } + engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 dev: true /dom-serializer/1.3.1: - resolution: {integrity: sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==} + resolution: + { + integrity: sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + } dependencies: domelementtype: 2.2.0 domhandler: 4.2.0 @@ -965,18 +1277,27 @@ packages: dev: true /domelementtype/2.2.0: - resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + resolution: + { + integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + } dev: true /domhandler/4.2.0: - resolution: {integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + } + engines: { node: '>= 4' } dependencies: domelementtype: 2.2.0 dev: true /domutils/2.6.0: - resolution: {integrity: sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==} + resolution: + { + integrity: sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== + } dependencies: dom-serializer: 1.3.1 domelementtype: 2.2.0 @@ -984,15 +1305,21 @@ packages: dev: true /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + } + engines: { node: '>=8' } dependencies: is-obj: 2.0.0 dev: true /dotenv-extended/2.9.0: - resolution: {integrity: sha512-MKc4WCqZj6Abx4rpDbQ9LsuBJldRLxLgFkY5qE+4JM7hXVYT/v8zyWGgnBeDjSOGzEecWOFPlosNpxfB9YnsCw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-MKc4WCqZj6Abx4rpDbQ9LsuBJldRLxLgFkY5qE+4JM7hXVYT/v8zyWGgnBeDjSOGzEecWOFPlosNpxfB9YnsCw== + } + engines: { node: '>=6' } hasBin: true dependencies: auto-parse: 1.8.0 @@ -1002,71 +1329,98 @@ packages: dev: true /dotenv/8.2.0: - resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + } + engines: { node: '>=8' } dev: true /ecdsa-sig-formatter/1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + resolution: + { + integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + } dependencies: safe-buffer: 5.2.1 dev: false /electron-to-chromium/1.3.725: - resolution: {integrity: sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw==} + resolution: + { + integrity: sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw== + } dev: true /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + } dev: true /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + } dependencies: once: 1.4.0 dev: false /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + } + engines: { node: '>=8.6' } dependencies: ansi-colors: 4.1.1 dev: true /entities/2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + resolution: + { + integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + } dev: true /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + } dependencies: is-arrayish: 0.2.1 dev: true /esbuild/0.11.20: - resolution: {integrity: sha512-QOZrVpN/Yz74xfat0H6euSgn3RnwLevY1mJTEXneukz1ln9qB+ieaerRMzSeETpz/UJWsBMzRVR/andBht5WKw==} - hasBin: true - requiresBuild: true - dev: true - - /esbuild/0.9.7: - resolution: {integrity: sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==} + resolution: + { + integrity: sha512-QOZrVpN/Yz74xfat0H6euSgn3RnwLevY1mJTEXneukz1ln9qB+ieaerRMzSeETpz/UJWsBMzRVR/andBht5WKw== + } hasBin: true requiresBuild: true dev: true /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + } + engines: { node: '>=6' } dev: true /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} + resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= } + engines: { node: '>=0.8.0' } dev: true /eslint-config-prettier/8.3.0_eslint@7.26.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + resolution: + { + integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + } hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -1075,8 +1429,11 @@ packages: dev: true /eslint-plugin-svelte3/3.2.0_eslint@7.26.0+svelte@3.38.2: - resolution: {integrity: sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA== + } + engines: { node: '>=10' } peerDependencies: eslint: '>=6.0.0' svelte: ^3.2.0 @@ -1086,33 +1443,48 @@ packages: dev: true /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + } + engines: { node: '>=8.0.0' } dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + } + engines: { node: '>=6' } dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + } + engines: { node: '>=4' } dev: true /eslint-visitor-keys/2.0.0: - resolution: {integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + } + engines: { node: '>=10' } dev: true /eslint/7.26.0: - resolution: {integrity: sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg== + } + engines: { node: ^10.12.0 || >=12.0.0 } hasBin: true dependencies: '@babel/code-frame': 7.12.11 @@ -1157,8 +1529,11 @@ packages: dev: true /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: acorn: 7.4.1 acorn-jsx: 5.3.1_acorn@7.4.1 @@ -1166,51 +1541,78 @@ packages: dev: true /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + } + engines: { node: '>=4' } hasBin: true dev: true /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + } + engines: { node: '>=0.10' } dependencies: estraverse: 5.2.0 dev: true /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + } + engines: { node: '>=4.0' } dependencies: estraverse: 5.2.0 dev: true /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + } + engines: { node: '>=4.0' } dev: true /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + } + engines: { node: '>=4.0' } dev: true /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + resolution: + { + integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + } dev: true /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + } + engines: { node: '>=0.10.0' } dev: true /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + } dev: true /fast-glob/3.2.5: - resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + } + engines: { node: '>=8' } dependencies: '@nodelib/fs.stat': 2.0.4 '@nodelib/fs.walk': 1.2.6 @@ -1221,113 +1623,157 @@ packages: dev: true /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + } dev: true /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + resolution: { integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= } dev: true /fastq/1.11.0: - resolution: {integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==} + resolution: + { + integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + } dependencies: reusify: 1.0.4 dev: true /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.0.4 dev: true /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + } + engines: { node: '>=8' } dependencies: to-regex-range: 5.0.1 dev: true /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flatted: 3.1.1 rimraf: 3.0.2 dev: true /flatted/3.1.1: - resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} + resolution: + { + integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + } dev: true /fraction.js/4.0.13: - resolution: {integrity: sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==} + resolution: + { + integrity: sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== + } dev: true /fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + } dev: false - /fs-extra/9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + /fs-extra/10.0.0: + resolution: + { + integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + } + engines: { node: '>=12' } dependencies: - at-least-node: 1.0.0 graceful-fs: 4.2.6 jsonfile: 6.1.0 universalify: 2.0.0 dev: true /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + resolution: { integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= } /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] dev: true optional: true /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + resolution: + { + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + } /function.name/1.0.13: - resolution: {integrity: sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA==} + resolution: + { + integrity: sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA== + } dependencies: noop6: 1.0.9 dev: true /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} + resolution: { integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= } dev: true /generate-password/1.6.0: - resolution: {integrity: sha512-YUJTQkApkLT/fru0QdYWP0lVZdPKhF5kXCP24sgI4gR/vFMJFopCj5t1+9FAKIYcML/nxzx2PMkA1ymO1FC+tQ==} + resolution: + { + integrity: sha512-YUJTQkApkLT/fru0QdYWP0lVZdPKhF5kXCP24sgI4gR/vFMJFopCj5t1+9FAKIYcML/nxzx2PMkA1ymO1FC+tQ== + } dev: false /glob-base/0.3.0: - resolution: {integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= } + engines: { node: '>=0.10.0' } dependencies: glob-parent: 2.0.0 is-glob: 2.0.1 dev: true /glob-parent/2.0.0: - resolution: {integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=} + resolution: { integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= } dependencies: is-glob: 2.0.1 dev: true /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + } + engines: { node: '>= 6' } dependencies: is-glob: 4.0.1 dev: true /glob/7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + resolution: + { + integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1338,7 +1784,10 @@ packages: dev: false /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + resolution: + { + integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1349,22 +1798,31 @@ packages: dev: true /globals/12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + } + engines: { node: '>=8' } dependencies: type-fest: 0.8.1 dev: true /globals/13.8.0: - resolution: {integrity: sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== + } + engines: { node: '>=8' } dependencies: type-fest: 0.20.2 dev: true /globby/11.0.3: - resolution: {integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + } + engines: { node: '>=10' } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -1375,127 +1833,178 @@ packages: dev: true /graceful-fs/4.2.6: - resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} + resolution: + { + integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + } dev: true /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} + resolution: { integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= } + engines: { node: '>=4' } dev: true /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + } + engines: { node: '>=8' } dev: true /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + resolution: + { + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + } + engines: { node: '>= 0.4.0' } dependencies: function-bind: 1.1.1 /hash-sum/2.0.0: - resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + resolution: + { + integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + } dev: true /hex-color-regex/1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + resolution: + { + integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + } dev: true /hsl-regex/1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} + resolution: { integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= } dev: true /hsla-regex/1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} + resolution: { integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg= } dev: true /html-tags/3.1.0: - resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + } + engines: { node: '>=8' } dev: true /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + } dev: false /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + } + engines: { node: '>= 4' } dev: true /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + } + engines: { node: '>= 4' } dev: true /import-cwd/3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + } + engines: { node: '>=8' } dependencies: import-from: 3.0.0 dev: true /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + } + engines: { node: '>=6' } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /import-from/3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + } + engines: { node: '>=8' } dependencies: resolve-from: 5.0.0 dev: true /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} + resolution: { integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= } + engines: { node: '>=0.8.19' } dev: true /indexes-of/1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} + resolution: { integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc= } dev: true /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + resolution: { integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= } dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + } /interpret/1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + } + engines: { node: '>= 0.10' } dev: false /is-absolute-url/3.0.3: - resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + } + engines: { node: '>=8' } dev: true /is-arrayish/0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + resolution: { integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= } dev: true /is-arrayish/0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + resolution: + { + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + } dev: true /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + } + engines: { node: '>=8' } dependencies: binary-extensions: 2.2.0 dev: true /is-color-stop/1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} + resolution: { integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= } dependencies: css-color-names: 0.0.4 hex-color-regex: 1.1.0 @@ -1506,72 +2015,96 @@ packages: dev: true /is-core-module/2.4.0: - resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} + resolution: + { + integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + } dependencies: has: 1.0.3 /is-dotfile/1.0.3: - resolution: {integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= } + engines: { node: '>=0.10.0' } dev: true /is-extglob/1.0.0: - resolution: {integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= } + engines: { node: '>=0.10.0' } dev: true /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= } + engines: { node: '>=0.10.0' } dev: true /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + } + engines: { node: '>=8' } dev: true /is-glob/2.0.1: - resolution: {integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 1.0.0 dev: true /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 2.1.1 dev: true /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + } + engines: { node: '>=0.12.0' } dev: true /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + } + engines: { node: '>=8' } dev: true /is-resolvable/1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} + resolution: + { + integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + } dev: true /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + resolution: { integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= } dev: false /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + resolution: { integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= } dev: true /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + } dev: true /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + } hasBin: true dependencies: argparse: 1.0.10 @@ -1579,30 +2112,45 @@ packages: dev: true /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + } hasBin: true dependencies: argparse: 2.0.1 dev: false /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + } dev: true /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + } dev: true /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + } dev: true /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + resolution: { integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= } dev: true /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + } dependencies: universalify: 2.0.0 optionalDependencies: @@ -1610,8 +2158,11 @@ packages: dev: true /jsonwebtoken/8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} + resolution: + { + integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + } + engines: { node: '>=4', npm: '>=1.4.28' } dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -1626,7 +2177,10 @@ packages: dev: false /jwa/1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + resolution: + { + integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + } dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -1634,143 +2188,188 @@ packages: dev: false /jws/3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + resolution: + { + integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + } dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: false /kareem/2.3.2: - resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==} + resolution: + { + integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== + } dev: false /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + resolution: { integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= } dev: true /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} + resolution: { integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= } dev: true /lodash.flatten/4.4.0: - resolution: {integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=} + resolution: { integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= } dev: true /lodash.includes/4.3.0: - resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} + resolution: { integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= } dev: false /lodash.isboolean/3.0.3: - resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} + resolution: { integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= } dev: false /lodash.isinteger/4.0.4: - resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} + resolution: { integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= } dev: false /lodash.isnumber/3.0.3: - resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} + resolution: { integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= } dev: false /lodash.isplainobject/4.0.6: - resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} + resolution: { integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= } dev: false /lodash.isstring/4.0.1: - resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} + resolution: { integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= } dev: false /lodash.memoize/4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + resolution: { integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= } dev: true /lodash.once/4.1.1: - resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} + resolution: { integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= } dev: false /lodash.toarray/4.4.0: - resolution: {integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE=} + resolution: { integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= } dev: true /lodash.topath/4.5.2: - resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=} + resolution: { integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= } dev: true /lodash.truncate/4.4.2: - resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} + resolution: { integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= } dev: true /lodash.uniq/4.5.0: - resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} + resolution: { integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= } dev: true /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + } dev: true /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + } + engines: { node: '>=10' } dependencies: yallist: 4.0.0 dev: true /mdn-data/2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + resolution: + { + integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + } dev: true /memory-pager/1.5.0: - resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + resolution: + { + integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + } dev: false optional: true /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + } + engines: { node: '>= 8' } dev: true /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + } + engines: { node: '>=8.6' } dependencies: braces: 3.0.2 picomatch: 2.2.3 dev: true /min-indent/1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + } + engines: { node: '>=4' } dev: true /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + resolution: + { + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + } dependencies: brace-expansion: 1.1.11 /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + resolution: + { + integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + } dev: true /mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + resolution: + { + integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + } dev: false /modern-normalize/1.1.0: - resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== + } + engines: { node: '>=6' } dev: true /mongodb/3.6.6: - resolution: {integrity: sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w== + } + engines: { node: '>=4' } peerDependencies: aws4: '*' bson-ext: '*' @@ -1801,23 +2400,29 @@ packages: saslprep: 1.0.3 dev: false - /mongoose-legacy-pluralize/1.0.2_mongoose@5.12.7: - resolution: {integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==} + /mongoose-legacy-pluralize/1.0.2_mongoose@5.12.9: + resolution: + { + integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== + } peerDependencies: mongoose: '*' dependencies: - mongoose: 5.12.7 + mongoose: 5.12.9 dev: false - /mongoose/5.12.7: - resolution: {integrity: sha512-BniNwACn7uflK2h+M3juvyLH5nn9JDFgnB5KE2EwWFwSrRyhSpPnCtanRKJW3OtMCJyPccMIjtGZxHNW7JfnIw==} - engines: {node: '>=4.0.0'} + /mongoose/5.12.9: + resolution: + { + integrity: sha512-ZSDjW15DmUbHQcZ2PqoXsJeYnpYipISi6QJH/XHR9dcSg3IRNCa86apcTptBux03/YBPiSZlKNYUNDx7iuMWoA== + } + engines: { node: '>=4.0.0' } dependencies: '@types/mongodb': 3.6.12 bson: 1.1.6 kareem: 2.3.2 mongodb: 3.6.6 - mongoose-legacy-pluralize: 1.0.2_mongoose@5.12.7 + mongoose-legacy-pluralize: 1.0.2_mongoose@5.12.9 mpath: 0.8.3 mquery: 3.2.5 ms: 2.1.2 @@ -1835,13 +2440,19 @@ packages: dev: false /mpath/0.8.3: - resolution: {integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA== + } + engines: { node: '>=4.0.0' } dev: false /mquery/3.2.5: - resolution: {integrity: sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== + } + engines: { node: '>=4.0.0' } dependencies: bluebird: 3.5.1 debug: 3.1.0 @@ -1851,95 +2462,123 @@ packages: dev: false /mri/1.1.6: - resolution: {integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== + } + engines: { node: '>=4' } dev: true /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + resolution: { integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= } dev: false /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + } /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + } dev: false - /nanoid/3.1.22: - resolution: {integrity: sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /nanoid/3.1.23: - resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true dev: true /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + resolution: { integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= } dev: true /node-emoji/1.10.0: - resolution: {integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==} + resolution: + { + integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + } dependencies: lodash.toarray: 4.4.0 dev: true /node-releases/1.1.71: - resolution: {integrity: sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==} + resolution: + { + integrity: sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + } dev: true /noop6/1.0.9: - resolution: {integrity: sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA==} + resolution: + { + integrity: sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA== + } dev: true /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + } + engines: { node: '>=0.10.0' } dev: true /normalize-range/0.1.2: - resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= } + engines: { node: '>=0.10.0' } dev: true /normalize-url/4.5.0: - resolution: {integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + } + engines: { node: '>=8' } dev: true /nth-check/2.0.0: - resolution: {integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==} + resolution: + { + integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + } dependencies: boolbase: 1.0.0 dev: true - /object-assign/4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} - engines: {node: '>=0.10.0'} - dev: true - /object-hash/2.1.1: - resolution: {integrity: sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ== + } + engines: { node: '>= 6' } dev: true /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + resolution: { integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= } dependencies: wrappy: 1.0.2 /optional-require/1.0.3: - resolution: {integrity: sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== + } + engines: { node: '>=4' } dev: false /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + } + engines: { node: '>= 0.8.0' } dependencies: deep-is: 0.1.3 fast-levenshtein: 2.0.6 @@ -1950,15 +2589,18 @@ packages: dev: true /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + } + engines: { node: '>=6' } dependencies: callsites: 3.1.0 dev: true /parse-glob/3.0.4: - resolution: {integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw= } + engines: { node: '>=0.10.0' } dependencies: glob-base: 0.3.0 is-dotfile: 1.0.3 @@ -1967,8 +2609,11 @@ packages: dev: true /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + } + engines: { node: '>=8' } dependencies: '@babel/code-frame': 7.12.11 error-ex: 1.3.2 @@ -1977,334 +2622,424 @@ packages: dev: true /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} + resolution: { integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= } + engines: { node: '>=0.10.0' } /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + } + engines: { node: '>=8' } dev: true /path-parse/1.0.6: - resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} + resolution: + { + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + } /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + } + engines: { node: '>=8' } dev: true /picomatch/2.2.3: - resolution: {integrity: sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==} - engines: {node: '>=8.6'} - dev: true - - /postcss-calc/8.0.0_postcss@8.2.14: - resolution: {integrity: sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==} + resolution: + { + integrity: sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + } + engines: { node: '>=8.6' } + dev: true + + /postcss-calc/8.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + } peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-selector-parser: 6.0.5 postcss-value-parser: 4.1.0 dev: true - /postcss-colormin/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-colormin/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: browserslist: 4.16.6 color: 3.1.3 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-convert-values/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-convert-values/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-discard-comments/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-comments/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /postcss-discard-duplicates/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-duplicates/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /postcss-discard-empty/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-empty/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /postcss-discard-overridden/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-discard-overridden/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 - dev: true - - /postcss-functions/3.0.0: - resolution: {integrity: sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=} - dependencies: - glob: 7.1.7 - object-assign: 4.1.1 - postcss: 6.0.23 - postcss-value-parser: 3.3.1 + postcss: 8.2.15 dev: true /postcss-js/3.0.3: - resolution: {integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==} - engines: {node: '>=10.0'} + resolution: + { + integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== + } + engines: { node: '>=10.0' } dependencies: camelcase-css: 2.0.1 postcss: 8.2.15 dev: true /postcss-load-config/3.0.1: - resolution: {integrity: sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ== + } + engines: { node: '>= 10' } dependencies: cosmiconfig: 7.0.0 import-cwd: 3.0.0 dev: true - /postcss-merge-longhand/5.0.1_postcss@8.2.14: - resolution: {integrity: sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-merge-longhand/5.0.1_postcss@8.2.15: + resolution: + { + integrity: sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: css-color-names: 1.0.1 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 - stylehacks: 5.0.0_postcss@8.2.14 + stylehacks: 5.0.0_postcss@8.2.15 dev: true - /postcss-merge-rules/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-merge-rules/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: browserslist: 4.16.6 caniuse-api: 3.0.0 - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-selector-parser: 6.0.5 vendors: 1.0.4 dev: true - /postcss-minify-font-values/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-font-values/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-minify-gradients/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-gradients/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 is-color-stop: 1.1.0 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-minify-params/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-params/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: alphanum-sort: 1.0.2 browserslist: 4.16.6 - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 uniqs: 2.0.0 dev: true - /postcss-minify-selectors/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-minify-selectors/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: alphanum-sort: 1.0.2 - postcss: 8.2.14 + postcss: 8.2.15 postcss-selector-parser: 3.1.2 dev: true - /postcss-nested/5.0.5_postcss@8.2.14: - resolution: {integrity: sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==} - engines: {node: '>=10.0'} + /postcss-nested/5.0.5_postcss@8.2.15: + resolution: + { + integrity: sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew== + } + engines: { node: '>=10.0' } peerDependencies: postcss: ^8.1.13 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-selector-parser: 6.0.6 dev: true - /postcss-normalize-charset/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-charset/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /postcss-normalize-display-values/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-display-values/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-positions/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-positions/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-repeat-style/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-repeat-style/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-string/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-string/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-timing-functions/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-timing-functions/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-unicode/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-unicode/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: browserslist: 4.16.6 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-url/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-url/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: is-absolute-url: 3.0.3 normalize-url: 4.5.0 - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-normalize-whitespace/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-normalize-whitespace/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-ordered-values/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-ordered-values/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true - /postcss-reduce-initial/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-reduce-initial/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: browserslist: 4.16.6 caniuse-api: 3.0.0 - postcss: 8.2.14 + postcss: 8.2.15 dev: true - /postcss-reduce-transforms/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-reduce-transforms/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - cssnano-utils: 2.0.0_postcss@8.2.14 - postcss: 8.2.14 + cssnano-utils: 2.0.0_postcss@8.2.15 + postcss: 8.2.15 postcss-value-parser: 4.1.0 dev: true /postcss-selector-parser/3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + } + engines: { node: '>=8' } dependencies: dot-prop: 5.3.0 indexes-of: 1.0.1 @@ -2312,82 +3047,76 @@ packages: dev: true /postcss-selector-parser/6.0.5: - resolution: {integrity: sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg== + } + engines: { node: '>=4' } dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true /postcss-selector-parser/6.0.6: - resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + } + engines: { node: '>=4' } dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-svgo/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-svgo/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: - postcss: 8.2.14 + postcss: 8.2.15 postcss-value-parser: 4.1.0 svgo: 2.3.0 dev: true - /postcss-unique-selectors/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w==} - engines: {node: ^10 || ^12 || >=14.0} + /postcss-unique-selectors/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: alphanum-sort: 1.0.2 - postcss: 8.2.14 + postcss: 8.2.15 postcss-selector-parser: 6.0.5 uniqs: 2.0.0 dev: true /postcss-value-parser/3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + resolution: + { + integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + } dev: true /postcss-value-parser/4.1.0: - resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} - dev: true - - /postcss/6.0.23: - resolution: {integrity: sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==} - engines: {node: '>=4.0.0'} - dependencies: - chalk: 2.4.2 - source-map: 0.6.1 - supports-color: 5.5.0 - dev: true - - /postcss/8.2.13: - resolution: {integrity: sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - colorette: 1.2.2 - nanoid: 3.1.22 - source-map: 0.6.1 - dev: true - - /postcss/8.2.14: - resolution: {integrity: sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - colorette: 1.2.2 - nanoid: 3.1.22 - source-map: 0.6.1 + resolution: + { + integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + } dev: true /postcss/8.2.15: - resolution: {integrity: sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== + } + engines: { node: ^10 || ^12 || >=14 } dependencies: colorette: 1.2.2 nanoid: 3.1.23 @@ -2395,12 +3124,18 @@ packages: dev: true /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-plugin-svelte/2.2.0_prettier@2.3.0+svelte@3.38.2: - resolution: {integrity: sha512-Xdmqgr71tAuMqqzNCK52/v94g/Yv7V7lz+nmbO9NEA+9ol15VV3uUHOfydMNOo3SWvFaVlBcp947ebEaMWqVfQ==} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + } + engines: { node: '>= 0.8.0' } + dev: true + + /prettier-plugin-svelte/2.3.0_prettier@2.3.0+svelte@3.38.2: + resolution: + { + integrity: sha512-HTzXvSq7lWFuLsSaxYOUkGkVNCl3RrSjDCOgQjkBX5FQGmWjL8o3IFACSGhjPMMfWKADpapAr0zdbBWkND9mqw== + } peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 @@ -2410,39 +3145,57 @@ packages: dev: true /prettier/2.3.0: - resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== + } + engines: { node: '>=10.13.0' } hasBin: true dev: true /pretty-hrtime/1.0.3: - resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=} - engines: {node: '>= 0.8'} + resolution: { integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= } + engines: { node: '>= 0.8' } dev: true /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + } dev: false /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + } + engines: { node: '>=0.4.0' } dev: true /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + } dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + } + engines: { node: '>=6' } dev: true /purgecss/3.1.3: - resolution: {integrity: sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==} + resolution: + { + integrity: sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ== + } hasBin: true dependencies: commander: 6.2.1 @@ -2452,16 +3205,25 @@ packages: dev: true /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + } dev: true /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + } + engines: { node: '>=10' } dev: true /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + resolution: + { + integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + } dependencies: core-util-is: 1.0.2 inherits: 2.0.4 @@ -2473,8 +3235,11 @@ packages: dev: false /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + } + engines: { node: '>= 6' } dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -2482,154 +3247,223 @@ packages: dev: false /readdirp/3.5.0: - resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} - engines: {node: '>=8.10.0'} + resolution: + { + integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + } + engines: { node: '>=8.10.0' } dependencies: picomatch: 2.2.3 dev: true /rechoir/0.6.2: - resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=} - engines: {node: '>= 0.10'} + resolution: { integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= } + engines: { node: '>= 0.10' } dependencies: resolve: 1.20.0 dev: false /reduce-css-calc/2.1.8: - resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} + resolution: + { + integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + } dependencies: css-unit-converter: 1.1.2 postcss-value-parser: 3.3.1 dev: true /regexp-clone/1.0.0: - resolution: {integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==} + resolution: + { + integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== + } dev: false /regexpp/3.1.0: - resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + } + engines: { node: '>=8' } dev: true /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + } + engines: { node: '>=0.10.0' } dev: true /require-relative/0.8.7: - resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} + resolution: { integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= } dev: true /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + } + engines: { node: '>=4' } dev: true /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + } + engines: { node: '>=8' } dev: true /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + resolution: + { + integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + } dependencies: is-core-module: 2.4.0 path-parse: 1.0.6 /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } dev: true /rgb-regex/1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} + resolution: { integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE= } dev: true /rgba-regex/1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} + resolution: { integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= } dev: true /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + } hasBin: true dependencies: glob: 7.1.7 dev: true /rollup/2.46.0: - resolution: {integrity: sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q== + } + engines: { node: '>=10.0.0' } hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true /run-parallel/1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + } dependencies: queue-microtask: 1.2.3 dev: true /sade/1.7.4: - resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== + } + engines: { node: '>= 6' } dependencies: mri: 1.1.6 dev: true /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + } dev: false /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + } dev: false /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + } dev: false /salteen/1.0.0: - resolution: {integrity: sha512-hApiOPudRSzM5aD1dWIWlXL8dPUja8GloMzHMlmDtNiU5brFNyjvQ+SiLLxHVQNeZ2HgKBnzrRHp+BXQiA5vGg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-hApiOPudRSzM5aD1dWIWlXL8dPUja8GloMzHMlmDtNiU5brFNyjvQ+SiLLxHVQNeZ2HgKBnzrRHp+BXQiA5vGg== + } + engines: { node: '>=6' } dev: false /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + } + engines: { node: '>=6' } dependencies: sparse-bitfield: 3.0.3 dev: false optional: true /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + resolution: + { + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + } hasBin: true dev: false /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + } + engines: { node: '>=10' } hasBin: true dependencies: lru-cache: 6.0.0 dev: true /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + } + engines: { node: '>=8' } dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + } + engines: { node: '>=8' } dev: true /shelljs/0.8.4: - resolution: {integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + } + engines: { node: '>=4' } hasBin: true dependencies: glob: 7.1.6 @@ -2638,28 +3472,40 @@ packages: dev: false /sift/13.5.2: - resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} + resolution: + { + integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== + } dev: false /simple-swizzle/0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} + resolution: { integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= } dependencies: is-arrayish: 0.3.2 dev: true /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + } + engines: { node: '>=8' } dev: true /slash/4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + } + engines: { node: '>=12' } dev: true /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -2667,37 +3513,46 @@ packages: dev: true /sliced/1.0.1: - resolution: {integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=} + resolution: { integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= } dev: false /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + } + engines: { node: '>=0.10.0' } dev: true /source-map/0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + } + engines: { node: '>= 8' } dev: true /sparse-bitfield/3.0.3: - resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=} + resolution: { integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE= } dependencies: memory-pager: 1.5.0 dev: false optional: true /split-ca/1.0.1: - resolution: {integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=} + resolution: { integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY= } dev: false /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + resolution: { integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= } dev: true /ssh2-streams/0.4.10: - resolution: {integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==} - engines: {node: '>=5.2.0'} + resolution: + { + integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ== + } + engines: { node: '>=5.2.0' } dependencies: asn1: 0.2.4 bcrypt-pbkdf: 1.0.2 @@ -2705,24 +3560,33 @@ packages: dev: false /ssh2/0.8.9: - resolution: {integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==} - engines: {node: '>=5.2.0'} + resolution: + { + integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw== + } + engines: { node: '>=5.2.0' } dependencies: ssh2-streams: 0.4.10 dev: false /stable/0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + resolution: + { + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + } dev: true /streamsearch/0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} + resolution: { integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= } + engines: { node: '>=0.8.0' } dev: false /string-width/4.2.2: - resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + } + engines: { node: '>=8' } dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 @@ -2730,63 +3594,90 @@ packages: dev: true /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + } dependencies: safe-buffer: 5.1.2 dev: false /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + } dependencies: safe-buffer: 5.2.1 dev: false /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + } + engines: { node: '>=8' } dependencies: ansi-regex: 5.0.0 dev: true /strip-indent/3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + } + engines: { node: '>=8' } dependencies: min-indent: 1.0.1 dev: true /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /stylehacks/5.0.0_postcss@8.2.14: - resolution: {integrity: sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA==} - engines: {node: ^10 || ^12 || >=14.0} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + } + engines: { node: '>=8' } + dev: true + + /stylehacks/5.0.0_postcss@8.2.15: + resolution: + { + integrity: sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA== + } + engines: { node: ^10 || ^12 || >=14.0 } peerDependencies: postcss: ^8.2.1 dependencies: browserslist: 4.16.6 - postcss: 8.2.14 + postcss: 8.2.15 postcss-selector-parser: 6.0.5 dev: true /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 dev: true /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 dev: true /svelte-hmr/0.14.3_svelte@3.38.2: - resolution: {integrity: sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg==} + resolution: + { + integrity: sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg== + } peerDependencies: svelte: '>=3.19.0' dependencies: @@ -2794,14 +3685,20 @@ packages: dev: true /svelte-kit-cookie-session/0.4.3: - resolution: {integrity: sha512-dffh86haFNNY7+Oqf+hD5fELPva7N7aiAmtkqjWzdoJXgH95Yq3TP3NiLzv9Ep3nZBalYRschh5Hg2L5Jtu2Kg==} + resolution: + { + integrity: sha512-dffh86haFNNY7+Oqf+hD5fELPva7N7aiAmtkqjWzdoJXgH95Yq3TP3NiLzv9Ep3nZBalYRschh5Hg2L5Jtu2Kg== + } dependencies: salteen: 1.0.0 dev: false - /svelte-preprocess/4.7.3_bc60392b3f6116f56fa9e4496adda117: - resolution: {integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/4.7.3_5944bffd99aeae72e0daf7602e6be64e: + resolution: + { + integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA== + } + engines: { node: '>= 9.11.2' } requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 @@ -2843,7 +3740,7 @@ packages: '@types/pug': 2.0.4 '@types/sass': 1.16.0 detect-indent: 6.0.0 - postcss: 8.2.14 + postcss: 8.2.15 postcss-load-config: 3.0.1 strip-indent: 3.0.0 svelte: 3.38.2 @@ -2851,17 +3748,26 @@ packages: dev: true /svelte-select/3.17.0: - resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==} + resolution: + { + integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA== + } dev: false /svelte/3.38.2: - resolution: {integrity: sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg== + } + engines: { node: '>= 8' } dev: true /svgo/2.3.0: - resolution: {integrity: sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== + } + engines: { node: '>=10.13.0' } hasBin: true dependencies: '@trysound/sax': 0.1.1 @@ -2874,8 +3780,11 @@ packages: dev: true /table/6.6.0: - resolution: {integrity: sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== + } + engines: { node: '>=10.0.0' } dependencies: ajv: 8.2.0 lodash.clonedeep: 4.5.0 @@ -2886,16 +3795,19 @@ packages: strip-ansi: 6.0.0 dev: true - /tailwindcss/2.2.0-canary.6_b46308bb95614802e1b6d1dce4e25ea6: - resolution: {integrity: sha512-gXpjyw8g4Z565tG6yDyzh2VH3mX0riWXeujg/L6Ph4z/t5ztnqRF2QGXVT5toZYyl7LP02YTrfVqxzDY5vuJDw==} - engines: {node: '>=12.13.0'} + /tailwindcss/2.2.0-canary.7_797cfc3ceddb49f111b184f6879a433f: + resolution: + { + integrity: sha512-IXhWIUjvuE70W55qpMvpuP4QFPy8dMLYxGwtLQwvZu0m+iBYeBLyWtN+K8vOj3WBbAVbCdJvyFHp+LyhwkyhKw== + } + engines: { node: '>=12.13.0' } hasBin: true peerDependencies: autoprefixer: ^10.0.2 postcss: ^8.0.9 dependencies: '@fullhuman/postcss-purgecss': 3.1.3 - autoprefixer: 10.2.5_postcss@8.2.14 + autoprefixer: 10.2.5_postcss@8.2.15 bytes: 3.1.0 chalk: 4.1.1 chokidar: 3.5.1 @@ -2904,7 +3816,7 @@ packages: didyoumean: 1.2.1 dlv: 1.1.3 fast-glob: 3.2.5 - fs-extra: 9.1.0 + fs-extra: 10.0.0 html-tags: 3.1.0 lodash: 4.17.21 lodash.topath: 4.5.2 @@ -2913,10 +3825,9 @@ packages: normalize-path: 3.0.0 object-hash: 2.1.1 parse-glob: 3.0.4 - postcss: 8.2.14 - postcss-functions: 3.0.0 + postcss: 8.2.15 postcss-js: 3.0.3 - postcss-nested: 5.0.5_postcss@8.2.14 + postcss-nested: 5.0.5_postcss@8.2.15 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 pretty-hrtime: 1.0.3 @@ -2926,7 +3837,10 @@ packages: dev: true /tar-fs/2.0.1: - resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + resolution: + { + integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA== + } dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 @@ -2935,8 +3849,11 @@ packages: dev: false /tar-stream/2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + } + engines: { node: '>=6' } dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -2946,31 +3863,43 @@ packages: dev: false /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + resolution: { integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= } dev: true /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} + resolution: { integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= } dev: true /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + } + engines: { node: '>=8.0' } dependencies: is-number: 7.0.0 dev: true /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + } dev: true /tslib/2.2.0: - resolution: {integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==} + resolution: + { + integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + } dev: true /tsutils/3.21.0_typescript@4.2.4: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -2979,89 +3908,109 @@ packages: dev: true /tweetnacl/0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} + resolution: { integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= } dev: false /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 dev: true /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + } + engines: { node: '>=10' } dev: true /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + } + engines: { node: '>=8' } dev: true /typescript/4.2.4: - resolution: {integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==} - engines: {node: '>=4.2.0'} + resolution: + { + integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + } + engines: { node: '>=4.2.0' } hasBin: true dev: true /typpy/2.3.11: - resolution: {integrity: sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g==} + resolution: + { + integrity: sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g== + } dependencies: function.name: 1.0.13 dev: true /uniq/1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} + resolution: { integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= } dev: true /uniqs/2.0.0: - resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=} + resolution: { integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI= } dev: true /unique-names-generator/4.5.0: - resolution: {integrity: sha512-GaiWvo3rKIHi1SyYP8/9cDrPMPSwEiYDUo2p0NQHeCHDXzLn8P6p8bttSS3lX7HHS3Yl5vnw/ulybO4GN85CgQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-GaiWvo3rKIHi1SyYP8/9cDrPMPSwEiYDUo2p0NQHeCHDXzLn8P6p8bttSS3lX7HHS3Yl5vnw/ulybO4GN85CgQ== + } + engines: { node: '>=8' } dev: false /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + } + engines: { node: '>= 10.0.0' } dev: true /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + } dependencies: punycode: 2.1.1 dev: true /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: { integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= } /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + resolution: + { + integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + } dev: true /vendors/1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - dev: true - - /vite/2.2.4: - resolution: {integrity: sha512-vnIwSNci+phFMp6krhy+FbYzKL0R67Sdt9mVZ96S27AewrApSJjTqncJcalk8sf60BgcbW4+1C6DFIWkxquO9g==} - engines: {node: '>=12.0.0'} - hasBin: true - dependencies: - esbuild: 0.9.7 - postcss: 8.2.13 - resolve: 1.20.0 - rollup: 2.46.0 - optionalDependencies: - fsevents: 2.3.2 + resolution: + { + integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + } dev: true /vite/2.3.2: - resolution: {integrity: sha512-QhLdOompDrfkyryCNTts9HE+eJhvhN9ibKNJ5Q8DpQai+6nOsuIlaveZNg67e1O/2QaWqXeBo82eHnAs1De2bQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-QhLdOompDrfkyryCNTts9HE+eJhvhN9ibKNJ5Q8DpQai+6nOsuIlaveZNg67e1O/2QaWqXeBo82eHnAs1De2bQ== + } + engines: { node: '>=12.0.0' } hasBin: true dependencies: esbuild: 0.11.20 @@ -3073,31 +4022,46 @@ packages: dev: true /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + } + engines: { node: '>= 8' } hasBin: true dependencies: isexe: 2.0.0 dev: true /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + } + engines: { node: '>=0.10.0' } dev: true /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + resolution: { integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= } /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + } + engines: { node: '>=0.4' } dev: true /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + } dev: true /yaml/1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + } + engines: { node: '>= 6' } dev: true diff --git a/src/components/Application/ActiveTab/General.svelte b/src/components/Application/ActiveTab/General.svelte index 83d3d01411..2a0c08100b 100644 --- a/src/components/Application/ActiveTab/General.svelte +++ b/src/components/Application/ActiveTab/General.svelte @@ -9,77 +9,96 @@ active: false, number: 80 }, - build: true + build: true, + start: false }, nodejs: { port: { active: true, number: 3000 }, - build: true + build: true, + start: true + }, + nestjs: { + port: { + active: true, + number: 3000 + }, + build: true, + start: true }, vuejs: { port: { active: false, number: 80 }, - build: true + build: true, + start: false }, nuxtjs: { port: { active: true, number: 3000 }, - build: true + build: true, + start: true }, react: { port: { active: false, number: 80 }, - build: true + build: true, + start: false }, nextjs: { port: { active: true, number: 3000 }, - build: true + build: true, + start: true }, gatsby: { port: { active: true, number: 3000 }, - build: true + build: true, + start: false }, svelte: { port: { active: false, number: 80 }, - build: true + build: true, + start: false }, php: { port: { active: false, number: 80 }, - build: false + build: false, + start: false }, rust: { port: { active: true, number: 3000 }, - build: false + build: false, + start: false }, docker: { port: { active: true, number: 3000 }, - build: false + build: false, + start: false } }; function selectBuildPack(event) { @@ -90,8 +109,9 @@ } } onMount(() => { - if(!$application.publish.domain) domainInput.focus(); + if (!$application.publish.domain) domainInput.focus(); }); +
@@ -178,6 +198,14 @@ > Rust
+
+ NestJS +
Install Command @@ -300,6 +328,22 @@ bind:value={$application.build.command.build} placeholder="eg: yarn build" /> + +
@@ -309,4 +353,5 @@ .buildpack { @apply px-6 py-2 mx-2 my-2 bg-warmGray-800 w-48 ease-in-out transform hover:scale-105 text-center rounded border-2 border-transparent border-dashed cursor-pointer transition duration-100; } + diff --git a/src/components/Application/Configuration.svelte b/src/components/Application/Configuration.svelte index 91f2d181cc..30233ffe6d 100644 --- a/src/components/Application/Configuration.svelte +++ b/src/components/Application/Configuration.svelte @@ -1,6 +1,6 @@ -
- {#if $page.path === '/database/new'} -
-
(type = 'mongodb')} - > -
- +{#if loading} + +{:else} +
+ {#if $page.path === '/database/new'} +
+
(type = 'mongodb')} + > +
+ +
+
MongoDB
-
MongoDB
-
-
(type = 'couchdb')} - > -
- +
(type = 'couchdb')} + > +
+ +
+
Couchdb
-
Couchdb
-
-
(type = 'postgresql')} - > -
- +
(type = 'postgresql')} + > +
+ +
+
PostgreSQL
-
PostgreSQL
-
-
(type = 'mysql')} - > -
- +
(type = 'mysql')} + > +
+ +
+
MySQL
+
+
(type = 'redis')} + > +
+ +
+
Redis
-
MySQL
-
- -
- {#if type} -
- - - -
+ {#if type} +
+ {#if type !== 'redis'} + + + {/if} + + +
+ {/if} {/if} - {/if} -
+
+{/if} diff --git a/src/components/Database/SVGs/Redis.svelte b/src/components/Database/SVGs/Redis.svelte new file mode 100644 index 0000000000..d35b5f9739 --- /dev/null +++ b/src/components/Database/SVGs/Redis.svelte @@ -0,0 +1,37 @@ + + + diff --git a/src/components/Service/Plausible.svelte b/src/components/Service/Plausible.svelte index 97e40bad46..43ceb8f97b 100644 --- a/src/components/Service/Plausible.svelte +++ b/src/components/Service/Plausible.svelte @@ -3,7 +3,7 @@ import { toast } from '@zerodevx/svelte-toast'; import Loading from '../Loading.svelte'; import Tooltip from '$components/Tooltip.svelte'; - import { request } from '$lib/api/request'; + import { request } from '$lib/request'; import { page, session } from '$app/stores'; import PasswordField from '$components/PasswordField.svelte'; import { browser } from '$app/env'; diff --git a/src/global.d.ts b/src/global.d.ts index 39ed4217f2..aa2cf612cc 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -43,6 +43,7 @@ export type Application = { command: { build: string | null; installation: string; + start: string; }; container: { name: string; diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 5e2077680e..975b64710a 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -4,6 +4,9 @@ import { publicPages } from '$lib/consts'; import mongoose from 'mongoose'; import { verifyUserId } from '$lib/api/common'; import { initializeSession } from 'svelte-kit-cookie-session'; +import { cleanupStuckedDeploymentsInDB } from '$lib/api/applications/cleanup'; +import { docker } from '$lib/api/docker'; +import Configuration from '$models/Configuration'; process.on('SIGINT', function () { mongoose.connection.close(function () { @@ -13,6 +16,7 @@ process.on('SIGINT', function () { }); async function connectMongoDB() { + // TODO: Save configurations on start? const { MONGODB_USER, MONGODB_PASSWORD, MONGODB_HOST, MONGODB_PORT, MONGODB_DB } = process.env; try { if (process.env.NODE_ENV === 'production') { @@ -27,12 +31,65 @@ async function connectMongoDB() { ); } console.log('Connected to mongodb.'); + } catch (error) { console.log(error); } + } -if (mongoose.connection.readyState !== 1) connectMongoDB(); +(async () => { + console.log(mongoose.connection.readyState) + if (mongoose.connection.readyState !== 1) await connectMongoDB(); + try { + await mongoose.connection.db.dropCollection('logs-servers'); + } catch (error) { + // + } + try { + await cleanupStuckedDeploymentsInDB(); + } catch (error) { + console.log(error) + } + try { + const dockerServices = await docker.engine.listServices(); + let applications: any = dockerServices.filter( + (r) => + r.Spec.Labels.managedBy === 'coolify' && + r.Spec.Labels.type === 'application' && + r.Spec.Labels.configuration + ); + applications = applications.map((r) => { + if (JSON.parse(r.Spec.Labels.configuration)) { + return { + configuration: JSON.parse(r.Spec.Labels.configuration), + UpdatedAt: r.UpdatedAt + }; + } + return {}; + }); + applications = [ + ...new Map( + applications.map((item) => [ + item.configuration.publish.domain + item.configuration.publish.path, + item + ]) + ).values() + ]; + for (const application of applications) { + await Configuration.findOneAndUpdate({ + 'repository.name': application.configuration.repository.name, + 'repository.organization': application.configuration.repository.organization, + 'repository.branch': application.configuration.repository.branch, + }, { + ...application.configuration + }, { upsert: true }) + } + } catch (error) { + console.log(error) + } +})() + export async function handle({ request, render }) { const { SECRETS_ENCRYPTION_KEY } = process.env; diff --git a/src/lib/api/applications/buildContainer.ts b/src/lib/api/applications/buildContainer.ts index aad916aec5..e971747f6f 100644 --- a/src/lib/api/applications/buildContainer.ts +++ b/src/lib/api/applications/buildContainer.ts @@ -1,4 +1,4 @@ -import Deployment from '$models/Logs/Deployment'; +import Deployment from '$models/Deployment'; import { saveAppLog } from './logging'; import * as packs from './packs'; diff --git a/src/lib/api/applications/cleanup.ts b/src/lib/api/applications/cleanup.ts index 28a3fd6be3..bb632932f8 100644 --- a/src/lib/api/applications/cleanup.ts +++ b/src/lib/api/applications/cleanup.ts @@ -1,4 +1,5 @@ import { docker } from '$lib/api/docker'; +import Deployment from '$models/Deployment'; import { execShellAsync } from '../common'; export async function deleteSameDeployments(configuration) { @@ -17,29 +18,49 @@ export async function deleteSameDeployments(configuration) { }); } +export async function cleanupStuckedDeploymentsInDB() { + // Cleanup stucked deployments. + await Deployment.updateMany( + { progress: { $in: ['queued', 'inprogress'] } }, + { progress: 'failed' } + ); +} export async function purgeImagesContainers(configuration, deleteAll = false) { const { name, tag } = configuration.build.container; - await execShellAsync('docker container prune -f'); - if (deleteAll) { - const IDsToDelete = ( - await execShellAsync(`docker images ls --filter=reference='${name}' --format '{{json .ID }}'`) - ) - .trim() - .replace(/"/g, '') - .split('\n'); - if (IDsToDelete.length > 0) - await execShellAsync(`docker rmi -f ${IDsToDelete.toString().replace(',', ' ')}`); - } else { - const IDsToDelete = ( - await execShellAsync( - `docker images ls --filter=reference='${name}' --filter=before='${name}:${tag}' --format '{{json .ID }}'` + try { + await execShellAsync('docker container prune -f'); + } catch (error) { + // + } + try { + if (deleteAll) { + const IDsToDelete = ( + await execShellAsync( + `docker images ls --filter=reference='${name}' --format '{{json .ID }}'` + ) + ) + .trim() + .replace(/"/g, '') + .split('\n'); + if (IDsToDelete.length > 0) await execShellAsync(`docker rmi -f ${IDsToDelete.join(' ')}`); + } else { + const IDsToDelete = ( + await execShellAsync( + `docker images ls --filter=reference='${name}' --filter=before='${name}:${tag}' --format '{{json .ID }}'` + ) ) - ) - .trim() - .replace(/"/g, '') - .split('\n'); - if (IDsToDelete.length > 1) - await execShellAsync(`docker rmi -f ${IDsToDelete.toString().replace(',', ' ')}`); + .trim() + .replace(/"/g, '') + .split('\n'); + if (IDsToDelete.length > 1) await execShellAsync(`docker rmi -f ${IDsToDelete.join(' ')}`); + } + + } catch (error) { + console.log(error); + } + try { + await execShellAsync('docker image prune -f'); + } catch (error) { + // } - await execShellAsync('docker image prune -f'); } diff --git a/src/lib/api/applications/logging.ts b/src/lib/api/applications/logging.ts index 10f7aac1c2..e4df3117a0 100644 --- a/src/lib/api/applications/logging.ts +++ b/src/lib/api/applications/logging.ts @@ -1,9 +1,10 @@ import Settings from '$models/Settings'; -import ServerLog from '$models/Logs/Server'; -import ApplicationLog from '$models/Logs/Application'; +import ServerLog from '$models/ServerLog'; +import ApplicationLog from '$models/ApplicationLog'; import dayjs from 'dayjs'; import { version } from '../../../../package.json'; + function generateTimestamp() { return `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} `; } diff --git a/src/lib/api/applications/packs/helpers.ts b/src/lib/api/applications/packs/helpers.ts index 80d54179ec..5aca1396c5 100644 --- a/src/lib/api/applications/packs/helpers.ts +++ b/src/lib/api/applications/packs/helpers.ts @@ -1,20 +1,21 @@ import { docker, streamEvents } from '$lib/api/docker'; import { promises as fs } from 'fs'; -const buildImageNodeDocker = (configuration) => { +const buildImageNodeDocker = (configuration, prodBuild) => { return [ 'FROM node:lts', 'WORKDIR /usr/src/app', `COPY ${configuration.build.directory}/package*.json ./`, configuration.build.command.installation && `RUN ${configuration.build.command.installation}`, `COPY ./${configuration.build.directory} ./`, - `RUN ${configuration.build.command.build}` + `RUN ${configuration.build.command.build}`, + prodBuild && `RUN rm -fr node_modules && ${configuration.build.command.installation} --prod` ].join('\n'); }; -export async function buildImage(configuration, cacheBuild?: boolean) { +export async function buildImage(configuration, cacheBuild?: boolean, prodBuild?: boolean) { await fs.writeFile( `${configuration.general.workdir}/Dockerfile`, - buildImageNodeDocker(configuration) + buildImageNodeDocker(configuration, prodBuild) ); const stream = await docker.engine.buildImage( { src: ['.'], context: configuration.general.workdir }, diff --git a/src/lib/api/applications/packs/index.ts b/src/lib/api/applications/packs/index.ts index 1741fa7216..cad73a1858 100644 --- a/src/lib/api/applications/packs/index.ts +++ b/src/lib/api/applications/packs/index.ts @@ -7,6 +7,7 @@ import php from './php'; import nuxtjs from './nuxtjs'; import nodejs from './nodejs'; import nextjs from './nextjs'; +import nestjs from './nestjs'; import gatsby from './gatsby'; import docker from './docker'; @@ -20,6 +21,7 @@ export { nuxtjs, nodejs, nextjs, + nestjs, gatsby, docker }; diff --git a/src/lib/api/applications/packs/nestjs/index.ts b/src/lib/api/applications/packs/nestjs/index.ts new file mode 100644 index 0000000000..9443f3220b --- /dev/null +++ b/src/lib/api/applications/packs/nestjs/index.ts @@ -0,0 +1,31 @@ +import { docker, streamEvents } from '$lib/api/docker'; +import { promises as fs } from 'fs'; +import { buildImage } from '../helpers'; +// `HEALTHCHECK --timeout=10s --start-period=10s --interval=5s CMD curl -I -s -f http://localhost:${configuration.publish.port}${configuration.publish.path} || exit 1`, +const publishNodejsDocker = (configuration) => { + return [ + 'FROM node:lts', + 'WORKDIR /usr/src/app', + configuration.build.command.build + ? `COPY --from=${configuration.build.container.name}:${configuration.build.container.tag} /usr/src/app/${configuration.publish.directory} ./` + : ` + COPY ${configuration.build.directory}/package*.json ./ + RUN ${configuration.build.command.installation} + COPY ./${configuration.build.directory} ./`, + `EXPOSE ${configuration.publish.port}`, + `CMD ${configuration.build.command.start}` + ].join('\n'); +}; + +export default async function (configuration) { + if (configuration.build.command.build) await buildImage(configuration, false, true); + await fs.writeFile( + `${configuration.general.workdir}/Dockerfile`, + publishNodejsDocker(configuration) + ); + const stream = await docker.engine.buildImage( + { src: ['.'], context: configuration.general.workdir }, + { t: `${configuration.build.container.name}:${configuration.build.container.tag}` } + ); + await streamEvents(stream, configuration); +} diff --git a/src/lib/api/applications/packs/nextjs/index.ts b/src/lib/api/applications/packs/nextjs/index.ts index af6821c02a..0e550f78ec 100644 --- a/src/lib/api/applications/packs/nextjs/index.ts +++ b/src/lib/api/applications/packs/nextjs/index.ts @@ -13,7 +13,7 @@ const publishNodejsDocker = (configuration) => { RUN ${configuration.build.command.installation} COPY ./${configuration.build.directory} ./`, `EXPOSE ${configuration.publish.port}`, - 'CMD [ "yarn", "start" ]' + `CMD ${configuration.build.command.start}` ].join('\n'); }; export default async function (configuration) { diff --git a/src/lib/api/applications/packs/nodejs/index.ts b/src/lib/api/applications/packs/nodejs/index.ts index 8001921ea0..eef7842ae4 100644 --- a/src/lib/api/applications/packs/nodejs/index.ts +++ b/src/lib/api/applications/packs/nodejs/index.ts @@ -13,7 +13,7 @@ const publishNodejsDocker = (configuration) => { RUN ${configuration.build.command.installation} COPY ./${configuration.build.directory} ./`, `EXPOSE ${configuration.publish.port}`, - 'CMD [ "yarn", "start" ]' + `CMD ${configuration.build.command.start}` ].join('\n'); }; diff --git a/src/lib/api/applications/packs/nuxtjs/index.ts b/src/lib/api/applications/packs/nuxtjs/index.ts index eee103ca1d..a444dcf39b 100644 --- a/src/lib/api/applications/packs/nuxtjs/index.ts +++ b/src/lib/api/applications/packs/nuxtjs/index.ts @@ -13,7 +13,7 @@ const publishNodejsDocker = (configuration) => { RUN ${configuration.build.command.installation} COPY ./${configuration.build.directory} ./`, `EXPOSE ${configuration.publish.port}`, - 'CMD [ "yarn", "start" ]' + `CMD ${configuration.build.command.start}` ].join('\n'); }; diff --git a/src/lib/api/applications/templates.ts b/src/lib/api/applications/packs/templates.ts similarity index 84% rename from src/lib/api/applications/templates.ts rename to src/lib/api/applications/packs/templates.ts index 41de3b756f..dd48f47f70 100644 --- a/src/lib/api/applications/templates.ts +++ b/src/lib/api/applications/packs/templates.ts @@ -1,6 +1,7 @@ const defaultBuildAndDeploy = { installation: 'yarn install', - build: 'yarn build' + build: 'yarn build', + start: 'yarn start' }; const templates = { @@ -10,6 +11,13 @@ const templates = { directory: 'public', name: 'Svelte' }, + '@nestjs/core': { + pack: 'nestjs', + ...defaultBuildAndDeploy, + start: 'yarn start:prod', + port: 3000, + name: 'NestJS' + }, next: { pack: 'nextjs', ...defaultBuildAndDeploy, diff --git a/src/lib/api/applications/queueAndBuild.ts b/src/lib/api/applications/queueAndBuild.ts index a8a3ed892a..e8705fa259 100644 --- a/src/lib/api/applications/queueAndBuild.ts +++ b/src/lib/api/applications/queueAndBuild.ts @@ -1,4 +1,5 @@ -import Deployment from '$models/Logs/Deployment'; + +import Deployment from '$models/Deployment'; import dayjs from 'dayjs'; import buildContainer from './buildContainer'; import { updateServiceLabels } from './configuration'; @@ -9,23 +10,21 @@ import { saveAppLog } from './logging'; export default async function (configuration, imageChanged) { const { id, organization, name, branch } = configuration.repository; const { domain } = configuration.publish; - const { deployId, nickname } = configuration.general; - await new Deployment({ - repoId: id, - branch, - deployId, - domain, - organization, - name, - nickname - }).save(); - await saveAppLog(`${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} Queued.`, configuration); - await copyFiles(configuration); - await buildContainer(configuration); - await deploy(configuration, imageChanged); - await Deployment.findOneAndUpdate( - { repoId: id, branch, deployId, organization, name, domain }, - { repoId: id, branch, deployId, organization, name, domain, progress: 'done' } - ); - await updateServiceLabels(configuration); + const { deployId} = configuration.general; + try { + await saveAppLog(`${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} Queued.`, configuration); + await copyFiles(configuration); + await buildContainer(configuration); + await deploy(configuration, imageChanged); + await Deployment.findOneAndUpdate( + { repoId: id, branch, deployId, organization, name, domain }, + { repoId: id, branch, deployId, organization, name, domain, progress: 'done' } + ); + await updateServiceLabels(configuration); + } catch (error) { + await Deployment.findOneAndUpdate( + { repoId: id, branch, deployId, organization, name, domain }, + { repoId: id, branch, deployId, organization, name, domain, progress: 'failed' } + ); + } } diff --git a/src/lib/api/common.ts b/src/lib/api/common.ts index 1b077bd64f..df022e1e87 100644 --- a/src/lib/api/common.ts +++ b/src/lib/api/common.ts @@ -1,13 +1,17 @@ import shell from 'shelljs'; import User from '$models/User'; import jsonwebtoken from 'jsonwebtoken'; +import { saveServerLog } from './applications/logging'; export function execShellAsync(cmd, opts = {}) { try { return new Promise(function (resolve, reject) { shell.config.silent = true; - shell.exec(cmd, opts, function (code, stdout, stderr) { - if (code !== 0) return reject(new Error(stderr)); + shell.exec(cmd, opts, async function (code, stdout, stderr) { + if (code !== 0) { + await saveServerLog({ message: JSON.stringify({ cmd, opts, code, stdout, stderr }) }) + return reject(new Error(stderr)); + } return resolve(stdout); }); }); diff --git a/src/lib/api/github.ts b/src/lib/api/github.ts new file mode 100644 index 0000000000..7ffef6cc4a --- /dev/null +++ b/src/lib/api/github.ts @@ -0,0 +1,23 @@ +import type { Request } from '@sveltejs/kit'; + +export async function githubAPI( + request: Request, + resource: string, + token?: string, + data?: Record +) { + const base = 'https://api.github.com'; + const res = await fetch(`${base}${resource}`, { + method: request.method, + headers: { + 'content-type': 'application/json', + accept: 'application/json', + authorization: token ? `token ${token}` : '' + }, + body: data && JSON.stringify(data) + }); + return { + status: res.status, + body: await res.json() + }; +} diff --git a/src/lib/api/request.ts b/src/lib/request.ts similarity index 95% rename from src/lib/api/request.ts rename to src/lib/request.ts index 108fdbf9b4..dea12898a7 100644 --- a/src/lib/api/request.ts +++ b/src/lib/request.ts @@ -61,7 +61,6 @@ export async function request( } else if (response.headers.get('content-type').match(/multipart\/form-data/)) { return await response.formData(); } else { - console.log(response); if (response.headers.get('content-disposition')) { const blob = await response.blob(); console.log(blob); @@ -86,10 +85,10 @@ export async function request( }); } else if (response.status >= 500) { const error = (await response.json()).error; - browser && toast.push(error); + browser && toast.push(error.message || error); return Promise.reject({ status: response.status, - error: error || 'Oops, something is not okay. Are you okay?' + error: error.message || error || 'Oops, something is not okay. Are you okay?' }); } else { browser && toast.push(response.statusText); diff --git a/src/models/Logs/Application.ts b/src/models/ApplicationLog.ts similarity index 68% rename from src/models/Logs/Application.ts rename to src/models/ApplicationLog.ts index 7e8291dadf..5e6d4f1b59 100644 --- a/src/models/Logs/Application.ts +++ b/src/models/ApplicationLog.ts @@ -8,4 +8,4 @@ const ApplicationLogsSchema = new Schema({ ApplicationLogsSchema.set('timestamps', true); -export default mongoose.model('logs-application', ApplicationLogsSchema); +export default mongoose.models['logs-application'] || mongoose.model('logs-application', ApplicationLogsSchema); \ No newline at end of file diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts new file mode 100644 index 0000000000..9fbe1685fc --- /dev/null +++ b/src/models/Configuration.ts @@ -0,0 +1,48 @@ +import mongoose from 'mongoose'; +const { Schema } = mongoose; +const ConfigurationSchema = new Schema({ + github: { + installation: { + id: { type: Number, required: true } + }, + app: { + id: { type: Number, required: true } + } + }, + repository: { + id: { type: Number, required: true }, + organization: { type: String, required: true }, + name: { type: String, required: true }, + branch: { type: String, required: true }, + }, + general: { + deployId: { type: String, required: true }, + nickname: { type: String, required: true }, + workdir: { type: String, required: true }, + }, + build: { + pack: { type: String, required: true }, + directory: { type: String }, + command: { + build: { type: String }, + installation: { type: String }, + start: { type: String }, + }, + container: { + name: { type: String, required: true }, + tag: { type: String, required: true }, + baseSHA: { type: String, required: true }, + }, + }, + publish: { + directory: { type: String }, + domain: { type: String, required: true }, + path: { type: String }, + port: { type: Number }, + secrets: { type: Array }, + } +}); + +ConfigurationSchema.set('timestamps', true); + +export default mongoose.models['configuration'] || mongoose.model('configuration', ConfigurationSchema); diff --git a/src/models/Logs/Deployment.ts b/src/models/Deployment.ts similarity index 84% rename from src/models/Logs/Deployment.ts rename to src/models/Deployment.ts index 34d5df654e..94a4735393 100644 --- a/src/models/Logs/Deployment.ts +++ b/src/models/Deployment.ts @@ -14,4 +14,4 @@ const DeploymentSchema = new Schema({ DeploymentSchema.set('timestamps', true); -export default mongoose.model('deployment', DeploymentSchema); +export default mongoose.models['deployment'] || mongoose.model('deployment', DeploymentSchema); diff --git a/src/models/Logs/Server.ts b/src/models/ServerLog.ts similarity index 79% rename from src/models/Logs/Server.ts rename to src/models/ServerLog.ts index 0c949b4d8b..fb1bcfa7f8 100644 --- a/src/models/Logs/Server.ts +++ b/src/models/ServerLog.ts @@ -1,5 +1,5 @@ import mongoose from 'mongoose'; -import { version } from '../../../package.json'; +import { version } from '../../package.json' const { Schema, Document } = mongoose; // export interface ILogsServer extends Document { @@ -20,4 +20,4 @@ const LogsServerSchema = new Schema({ LogsServerSchema.set('timestamps', { createdAt: 'createdAt', updatedAt: false }); -export default mongoose.model('logs-server', LogsServerSchema); +export default mongoose.models['logs-server'] || mongoose.model('logs-server', LogsServerSchema); diff --git a/src/models/Settings.ts b/src/models/Settings.ts index 63686c9804..fcc1fa8175 100644 --- a/src/models/Settings.ts +++ b/src/models/Settings.ts @@ -14,4 +14,4 @@ const SettingsSchema = new Schema({ SettingsSchema.set('timestamps', true); -export default mongoose.model('settings', SettingsSchema); +export default mongoose.models['settings'] || mongoose.model('settings', SettingsSchema); diff --git a/src/models/User.ts b/src/models/User.ts index 818aa4946f..bd69ce5bfb 100644 --- a/src/models/User.ts +++ b/src/models/User.ts @@ -14,4 +14,4 @@ const UserSchema = new Schema({ UserSchema.set('timestamps', true); -export default mongoose.model('user', UserSchema); +export default mongoose.models['user'] || mongoose.model('user', UserSchema); diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index dce2976752..b61fa79df3 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -1,6 +1,6 @@
+ {:else if application.configuration.build.pack === 'nestjs'} + + + {:else if application.configuration.build.pack === 'react'}
@@ -56,6 +58,10 @@ + {:else if database.configuration.general.type == 'redis'} + {:else if database.configuration.general.type == 'clickhouse'} No databases found
{/if}
- diff --git a/src/routes/database/[name]/configuration.svelte b/src/routes/database/[name]/configuration.svelte index 98dcdf8d47..86bc4079f9 100644 --- a/src/routes/database/[name]/configuration.svelte +++ b/src/routes/database/[name]/configuration.svelte @@ -1,7 +1,7 @@