├── .eslintrc.cjs ├── .gitignore ├── .nvmrc ├── .prettierrc ├── LICENSE ├── README.md ├── adapter ├── files │ ├── _package.json │ └── entry.js └── index.js ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── src ├── app.css ├── app.html ├── components │ ├── Footer.svelte │ ├── Search.svelte │ ├── Status.svelte │ └── WorkersLogo.svelte ├── global.d.ts ├── lib │ └── countryCodes.json └── routes │ ├── __layout.svelte │ ├── countries │ └── [countryCode].svelte │ └── index.svelte ├── static ├── cf.svg ├── corona.png ├── death.png ├── duration.png ├── edge.png ├── favicon.png ├── refresh.png └── search.png ├── svelte.config.js ├── tailwind.config.cjs ├── tsconfig.json ├── wrangler.toml └── yarn.lock /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: '@typescript-eslint/parser', 4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], 5 | plugins: ['svelte3', '@typescript-eslint'], 6 | ignorePatterns: ['*.cjs'], 7 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], 8 | settings: { 9 | 'svelte3/typescript': () => require('typescript') 10 | }, 11 | parserOptions: { 12 | sourceType: 'module', 13 | ecmaVersion: 2019 14 | }, 15 | env: { 16 | browser: true, 17 | es2017: true, 18 | node: true 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | dist 8 | workers-site -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v16.13.0 -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Matteo Rigon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Incremental static regeneration (ISR)
for SvelteKit on Cloudflare Workers 2 | 3 | This is a small Covid19 Tracker demo that uses SvelteKit to show that Cloudflare supports framework-agnostic Incremental Static Regeneration (ISR).
4 | The homepage is regenerated every 24 hours, while the country pages are regenerated every 4 hours.
5 | The red bar on the top of every page shows rendering information. If you refresh pages, their rendering info should never change until they expire. 6 | 7 | **Demo**: [https://sveltekit-isr.reego.workers.dev/](https://sveltekit-isr.reego.workers.dev/) 8 | 9 | ## What is ISR? 10 | 11 | Incremental Static Regeneration, or ISR for short, is a technique first introduced by Vercel to improve build times for large static websites with a lot of pages. 12 | 13 | Instead of rendering every page upfront at build time, you render pages on demand when they are requested, and then persist the response along with the rest of the site assets, effectively serving static pages after the first render. 14 | 15 | This is a really cool feature that allows Jamstack sites to scale indefinitely. 16 | 17 | ## How do you achieve ISR on Cloudflare Workers? 18 | 19 | - **TL:DR version**: Use KV to store pages after you render them. You can even supply a TTL to expire pages after a certain amount of time. 20 | - **Detailed, framework-agnostic explanation**: please read my [blog post](https://reego.dev/blog/achieving-isr-on-cloudflare-workers). 21 | - If you are just curious about the SvelteKit implementation, check the [adapter](https://github.com/reegodev/sveltekit-isr/tree/main/adapter) folder. 22 | 23 | ## License 24 | 25 | MIT -------------------------------------------------------------------------------- /adapter/files/_package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "version": "0.0.1", 4 | "description": "Worker site generated by SvelteKit", 5 | "main": "index.js", 6 | "dependencies": { 7 | "@cloudflare/kv-asset-handler": "~0.1.3" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /adapter/files/entry.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is a modified version of @sveltejs/adapter-cloudflare-workers 3 | */ 4 | import { init, render } from '../output/server/app.js'; 5 | import { getAssetFromKV, mapRequestToAsset } from '@cloudflare/kv-asset-handler'; 6 | 7 | init(); 8 | 9 | addEventListener('fetch', (event) => { 10 | event.respondWith(handle(event)); 11 | }); 12 | 13 | async function handle(event) { 14 | // try static files first 15 | if (event.request.method == 'GET') { 16 | try { 17 | return await getAssetFromKV(event); 18 | } catch (e) { 19 | // Do nothing 20 | } 21 | } 22 | 23 | // fall back to an app route 24 | const request = event.request; 25 | const request_url = new URL(request.url); 26 | const cacheKey = new Request(request_url.toString(), request); 27 | const cache = caches.default; 28 | 29 | const response = await cache.match(cacheKey); 30 | if (response) { 31 | return response; 32 | } 33 | 34 | try { 35 | const rendered = await render({ 36 | host: request_url.host, 37 | path: request_url.pathname, 38 | query: request_url.searchParams, 39 | rawBody: await read(request), 40 | headers: Object.fromEntries(request.headers), 41 | method: request.method 42 | }); 43 | 44 | if (rendered) { 45 | const response = new Response(rendered.body, { 46 | status: rendered.status, 47 | headers: makeHeaders(rendered.headers) 48 | }); 49 | 50 | // Save the response in the KV store for successful renders 51 | if (rendered.status >= 200 && rendered.status < 300) { 52 | // Generate the key from the request like @cloudflare/kv-asset-handler expects 53 | const requestKey = mapRequestToAsset(request) 54 | const parsedUrl = new URL(requestKey.url) 55 | const pathname = parsedUrl.pathname.replace(/^\/+/, '') 56 | 57 | // Obtain the maxage value returned by the load function 58 | const kvOptions = {} 59 | if (rendered.headers['cache-control']) { 60 | const [ _, maxage ] = rendered.headers['cache-control'].split('=') 61 | if (maxage) { 62 | kvOptions.expirationTtl = Number(maxage) 63 | } 64 | } 65 | // __STATIC_CONTENT is the global variable injected 66 | // by Cloudflare Workers for the KV store of static assets 67 | 68 | // Save the response in the KV store for successful renders 69 | // Expire the key after maxage seconds have passed 70 | event.waitUntil( 71 | // eslint-disable-next-line no-undef 72 | __STATIC_CONTENT.put(pathname, rendered.body, kvOptions) 73 | ) 74 | } 75 | 76 | return response 77 | } 78 | } catch (e) { 79 | return new Response(JSON.stringify(e, Object.getOwnPropertyNames(e)), { status: 500 }); 80 | } 81 | 82 | return new Response({ 83 | status: 404, 84 | statusText: 'Not Found' 85 | }); 86 | } 87 | 88 | /** @param {Request} request */ 89 | async function read(request) { 90 | return new Uint8Array(await request.arrayBuffer()); 91 | } 92 | 93 | /** 94 | * @param {Record} headers 95 | * @returns {Request} 96 | */ 97 | function makeHeaders(headers) { 98 | const result = new Headers(); 99 | for (const header in headers) { 100 | const value = headers[header]; 101 | if (typeof value === 'string') { 102 | result.set(header, value); 103 | continue; 104 | } 105 | for (const sub of value) { 106 | result.append(header, sub); 107 | } 108 | } 109 | return result; 110 | } 111 | -------------------------------------------------------------------------------- /adapter/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is taken directly from @sveltejs/adapter-cloudflare-workers 3 | * https://github.com/sveltejs/kit/tree/master/packages/adapter-cloudflare-workers 4 | */ 5 | 6 | import fs from 'fs'; 7 | import { execSync } from 'child_process'; 8 | import esbuild from 'esbuild'; 9 | import toml from '@iarna/toml'; 10 | import { fileURLToPath } from 'url'; 11 | 12 | /** 13 | * @typedef {import('esbuild').BuildOptions} BuildOptions 14 | */ 15 | 16 | /** @type {import('.')} */ 17 | export default function (options) { 18 | return { 19 | name: 'custom-cloudflare-adapter', 20 | 21 | async adapt({ utils }) { 22 | const { site } = validate_config(utils); 23 | 24 | const bucket = site.bucket; 25 | const entrypoint = site['entry-point'] || 'workers-site'; 26 | 27 | const files = fileURLToPath(new URL('./files', import.meta.url)); 28 | 29 | utils.rimraf(bucket); 30 | utils.rimraf(entrypoint); 31 | 32 | utils.log.info('Installing worker dependencies...'); 33 | utils.copy(`${files}/_package.json`, '.svelte-kit/cloudflare-workers/package.json'); 34 | 35 | // TODO would be cool if we could make this step unnecessary somehow 36 | const stdout = execSync('npm install', { cwd: '.svelte-kit/cloudflare-workers' }); 37 | utils.log.info(stdout.toString()); 38 | 39 | utils.log.minor('Generating worker...'); 40 | utils.copy(`${files}/entry.js`, '.svelte-kit/cloudflare-workers/entry.js'); 41 | 42 | /** @type {BuildOptions} */ 43 | const default_options = { 44 | entryPoints: ['.svelte-kit/cloudflare-workers/entry.js'], 45 | outfile: `${entrypoint}/index.js`, 46 | bundle: true, 47 | target: 'es2020', 48 | platform: 'browser' 49 | }; 50 | 51 | const build_options = 52 | options && options.esbuild ? await options.esbuild(default_options) : default_options; 53 | 54 | await esbuild.build(build_options); 55 | 56 | fs.writeFileSync(`${entrypoint}/package.json`, JSON.stringify({ main: 'index.js' })); 57 | 58 | utils.log.info('Prerendering static pages...'); 59 | await utils.prerender({ 60 | dest: bucket 61 | }); 62 | 63 | utils.log.minor('Copying assets...'); 64 | utils.copy_static_files(bucket); 65 | utils.copy_client_files(bucket); 66 | } 67 | }; 68 | } 69 | 70 | function validate_config(utils) { 71 | if (fs.existsSync('wrangler.toml')) { 72 | let wrangler_config; 73 | 74 | try { 75 | wrangler_config = toml.parse(fs.readFileSync('wrangler.toml', 'utf-8')); 76 | } catch (err) { 77 | err.message = `Error parsing wrangler.toml: ${err.message}`; 78 | throw err; 79 | } 80 | 81 | if (!wrangler_config.site || !wrangler_config.site.bucket) { 82 | throw new Error( 83 | 'You must specify site.bucket in wrangler.toml. Consult https://developers.cloudflare.com/workers/platform/sites/configuration' 84 | ); 85 | } 86 | 87 | return wrangler_config; 88 | } 89 | 90 | utils.log.error( 91 | 'Consult https://developers.cloudflare.com/workers/platform/sites/configuration on how to setup your site' 92 | ); 93 | 94 | utils.log( 95 | ` 96 | Sample wrangler.toml: 97 | name = "" 98 | type = "javascript" 99 | account_id = "" 100 | workers_dev = true 101 | route = "" 102 | zone_id = "" 103 | [site] 104 | bucket = "./.cloudflare/assets" 105 | entry-point = "./.cloudflare/worker"` 106 | .replace(/^\t+/gm, '') 107 | .trim() 108 | ); 109 | 110 | throw new Error('Missing a wrangler.toml file'); 111 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-app", 3 | "version": "0.0.1", 4 | "scripts": { 5 | "dev": "svelte-kit dev", 6 | "build": "svelte-kit build", 7 | "preview": "svelte-kit preview", 8 | "check": "svelte-check --tsconfig ./tsconfig.json", 9 | "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", 10 | "lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .", 11 | "format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ." 12 | }, 13 | "devDependencies": { 14 | "@cloudflare/workers-types": "^3.2.0", 15 | "@sveltejs/kit": "next", 16 | "@typescript-eslint/eslint-plugin": "^4.31.1", 17 | "@typescript-eslint/parser": "^4.31.1", 18 | "autoprefixer": "^10.4.0", 19 | "cssnano": "^5.0.11", 20 | "esbuild": "^0.13.14", 21 | "eslint": "^7.32.0", 22 | "eslint-config-prettier": "^8.3.0", 23 | "eslint-plugin-svelte3": "^3.2.1", 24 | "postcss": "^8.3.11", 25 | "prettier": "^2.4.1", 26 | "prettier-plugin-svelte": "^2.4.0", 27 | "svelte": "^3.42.6", 28 | "svelte-check": "^2.2.6", 29 | "svelte-preprocess": "^4.9.4", 30 | "tailwindcss": "^2.2.19", 31 | "tslib": "^2.3.1", 32 | "typescript": "^4.4.3" 33 | }, 34 | "type": "module", 35 | "dependencies": { 36 | "@cloudflare/kv-asset-handler": "^0.2.0", 37 | "axios": "^0.24.0", 38 | "date-fns": "^2.26.0", 39 | "simple-svelte-autocomplete": "^2.2.4", 40 | "svelte-autocomplete": "^0.0.4", 41 | "wrangler": "^0.0.0-fsw-beta.5" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | '@cloudflare/kv-asset-handler': ^0.2.0 5 | '@sveltejs/kit': next 6 | '@typescript-eslint/eslint-plugin': ^4.31.1 7 | '@typescript-eslint/parser': ^4.31.1 8 | autoprefixer: ^10.4.0 9 | axios: ^0.24.0 10 | cssnano: ^5.0.11 11 | date-fns: ^2.26.0 12 | eslint: ^7.32.0 13 | eslint-config-prettier: ^8.3.0 14 | eslint-plugin-svelte3: ^3.2.1 15 | postcss: ^8.3.11 16 | prettier: ^2.4.1 17 | prettier-plugin-svelte: ^2.4.0 18 | simple-svelte-autocomplete: ^2.2.4 19 | svelte: ^3.42.6 20 | svelte-autocomplete: ^0.0.4 21 | svelte-check: ^2.2.6 22 | svelte-preprocess: ^4.9.4 23 | tailwindcss: ^2.2.19 24 | tslib: ^2.3.1 25 | typescript: ^4.4.3 26 | 27 | dependencies: 28 | '@cloudflare/kv-asset-handler': 0.2.0 29 | axios: 0.24.0 30 | date-fns: 2.26.0 31 | simple-svelte-autocomplete: 2.2.4 32 | svelte-autocomplete: 0.0.4 33 | 34 | devDependencies: 35 | '@sveltejs/kit': 1.0.0-next.196_svelte@3.44.1 36 | '@typescript-eslint/eslint-plugin': 4.33.0_d00b196ac5df1286ea7e45797bebddbc 37 | '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.5.2 38 | autoprefixer: 10.4.0_postcss@8.3.11 39 | cssnano: 5.0.11_postcss@8.3.11 40 | eslint: 7.32.0 41 | eslint-config-prettier: 8.3.0_eslint@7.32.0 42 | eslint-plugin-svelte3: 3.2.1_eslint@7.32.0+svelte@3.44.1 43 | postcss: 8.3.11 44 | prettier: 2.4.1 45 | prettier-plugin-svelte: 2.5.0_prettier@2.4.1+svelte@3.44.1 46 | svelte: 3.44.1 47 | svelte-check: 2.2.10_postcss@8.3.11+svelte@3.44.1 48 | svelte-preprocess: 4.9.8_a7621183bde426ded30bedcff7efa7fb 49 | tailwindcss: 2.2.19_0c54bdadaf9d9c9c6c134cb2c6c061a3 50 | tslib: 2.3.1 51 | typescript: 4.5.2 52 | 53 | packages: 54 | 55 | /@babel/code-frame/7.12.11: 56 | resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} 57 | dependencies: 58 | '@babel/highlight': 7.16.0 59 | dev: true 60 | 61 | /@babel/helper-validator-identifier/7.15.7: 62 | resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} 63 | engines: {node: '>=6.9.0'} 64 | dev: true 65 | 66 | /@babel/highlight/7.16.0: 67 | resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} 68 | engines: {node: '>=6.9.0'} 69 | dependencies: 70 | '@babel/helper-validator-identifier': 7.15.7 71 | chalk: 2.4.2 72 | js-tokens: 4.0.0 73 | dev: true 74 | 75 | /@cloudflare/kv-asset-handler/0.2.0: 76 | resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==} 77 | dependencies: 78 | mime: 3.0.0 79 | dev: false 80 | 81 | /@eslint/eslintrc/0.4.3: 82 | resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} 83 | engines: {node: ^10.12.0 || >=12.0.0} 84 | dependencies: 85 | ajv: 6.12.6 86 | debug: 4.3.2 87 | espree: 7.3.1 88 | globals: 13.12.0 89 | ignore: 4.0.6 90 | import-fresh: 3.3.0 91 | js-yaml: 3.14.1 92 | minimatch: 3.0.4 93 | strip-json-comments: 3.1.1 94 | transitivePeerDependencies: 95 | - supports-color 96 | dev: true 97 | 98 | /@humanwhocodes/config-array/0.5.0: 99 | resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} 100 | engines: {node: '>=10.10.0'} 101 | dependencies: 102 | '@humanwhocodes/object-schema': 1.2.1 103 | debug: 4.3.2 104 | minimatch: 3.0.4 105 | transitivePeerDependencies: 106 | - supports-color 107 | dev: true 108 | 109 | /@humanwhocodes/object-schema/1.2.1: 110 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 111 | dev: true 112 | 113 | /@nodelib/fs.scandir/2.1.5: 114 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 115 | engines: {node: '>= 8'} 116 | dependencies: 117 | '@nodelib/fs.stat': 2.0.5 118 | run-parallel: 1.2.0 119 | dev: true 120 | 121 | /@nodelib/fs.stat/2.0.5: 122 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 123 | engines: {node: '>= 8'} 124 | dev: true 125 | 126 | /@nodelib/fs.walk/1.2.8: 127 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 128 | engines: {node: '>= 8'} 129 | dependencies: 130 | '@nodelib/fs.scandir': 2.1.5 131 | fastq: 1.13.0 132 | dev: true 133 | 134 | /@rollup/pluginutils/4.1.1: 135 | resolution: {integrity: sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==} 136 | engines: {node: '>= 8.0.0'} 137 | dependencies: 138 | estree-walker: 2.0.2 139 | picomatch: 2.3.0 140 | dev: true 141 | 142 | /@sveltejs/kit/1.0.0-next.196_svelte@3.44.1: 143 | resolution: {integrity: sha512-z7sA/2/3Il5biibjPXCYXJC11TyFhgCvMaJvvbtMnu2l3EmOmJBMS+r2djGptzfFsugSVNwGQFn8+ldWQWq3jA==} 144 | engines: {node: '>=14.13'} 145 | hasBin: true 146 | peerDependencies: 147 | svelte: ^3.44.0 148 | dependencies: 149 | '@sveltejs/vite-plugin-svelte': 1.0.0-next.30_svelte@3.44.1+vite@2.6.14 150 | cheap-watch: 1.0.4 151 | sade: 1.7.4 152 | svelte: 3.44.1 153 | vite: 2.6.14 154 | transitivePeerDependencies: 155 | - diff-match-patch 156 | - less 157 | - sass 158 | - stylus 159 | - supports-color 160 | dev: true 161 | 162 | /@sveltejs/vite-plugin-svelte/1.0.0-next.30_svelte@3.44.1+vite@2.6.14: 163 | resolution: {integrity: sha512-YQqdMxjL1VgSFk4/+IY3yLwuRRapPafPiZTiaGEq1psbJYSNYUWx9F1zMm32GMsnogg3zn99mGJOqe3ld3HZSg==} 164 | engines: {node: ^14.13.1 || >= 16} 165 | peerDependencies: 166 | diff-match-patch: ^1.0.5 167 | svelte: ^3.44.0 168 | vite: ^2.6.0 169 | peerDependenciesMeta: 170 | diff-match-patch: 171 | optional: true 172 | dependencies: 173 | '@rollup/pluginutils': 4.1.1 174 | debug: 4.3.2 175 | kleur: 4.1.4 176 | magic-string: 0.25.7 177 | require-relative: 0.8.7 178 | svelte: 3.44.1 179 | svelte-hmr: 0.14.7_svelte@3.44.1 180 | vite: 2.6.14 181 | transitivePeerDependencies: 182 | - supports-color 183 | dev: true 184 | 185 | /@trysound/sax/0.2.0: 186 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} 187 | engines: {node: '>=10.13.0'} 188 | dev: true 189 | 190 | /@types/json-schema/7.0.9: 191 | resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} 192 | dev: true 193 | 194 | /@types/node/16.11.8: 195 | resolution: {integrity: sha512-hmT5gfpRkkHr7DZZHMf3jBe/zNcVGN+jXSL2f8nAsYfBPxQFToKwQlS/zES4Sjp488Bi73i+p6bvrNRRGU0x9Q==} 196 | dev: true 197 | 198 | /@types/parse-json/4.0.0: 199 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} 200 | dev: true 201 | 202 | /@types/pug/2.0.5: 203 | resolution: {integrity: sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==} 204 | dev: true 205 | 206 | /@types/sass/1.43.0: 207 | resolution: {integrity: sha512-DPSXNJ1rYLo88GyF9tuB4bsYGfpKI1a4+wOQmc+LI1SUoocm9QLRSpz0GxxuyjmJsYFIQo/dDlRSSpIXngff+w==} 208 | dependencies: 209 | '@types/node': 16.11.8 210 | dev: true 211 | 212 | /@typescript-eslint/eslint-plugin/4.33.0_d00b196ac5df1286ea7e45797bebddbc: 213 | resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} 214 | engines: {node: ^10.12.0 || >=12.0.0} 215 | peerDependencies: 216 | '@typescript-eslint/parser': ^4.0.0 217 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 218 | typescript: '*' 219 | peerDependenciesMeta: 220 | typescript: 221 | optional: true 222 | dependencies: 223 | '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.5.2 224 | '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.5.2 225 | '@typescript-eslint/scope-manager': 4.33.0 226 | debug: 4.3.2 227 | eslint: 7.32.0 228 | functional-red-black-tree: 1.0.1 229 | ignore: 5.1.9 230 | regexpp: 3.2.0 231 | semver: 7.3.5 232 | tsutils: 3.21.0_typescript@4.5.2 233 | typescript: 4.5.2 234 | transitivePeerDependencies: 235 | - supports-color 236 | dev: true 237 | 238 | /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0+typescript@4.5.2: 239 | resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} 240 | engines: {node: ^10.12.0 || >=12.0.0} 241 | peerDependencies: 242 | eslint: '*' 243 | dependencies: 244 | '@types/json-schema': 7.0.9 245 | '@typescript-eslint/scope-manager': 4.33.0 246 | '@typescript-eslint/types': 4.33.0 247 | '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.5.2 248 | eslint: 7.32.0 249 | eslint-scope: 5.1.1 250 | eslint-utils: 3.0.0_eslint@7.32.0 251 | transitivePeerDependencies: 252 | - supports-color 253 | - typescript 254 | dev: true 255 | 256 | /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.5.2: 257 | resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} 258 | engines: {node: ^10.12.0 || >=12.0.0} 259 | peerDependencies: 260 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 261 | typescript: '*' 262 | peerDependenciesMeta: 263 | typescript: 264 | optional: true 265 | dependencies: 266 | '@typescript-eslint/scope-manager': 4.33.0 267 | '@typescript-eslint/types': 4.33.0 268 | '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.5.2 269 | debug: 4.3.2 270 | eslint: 7.32.0 271 | typescript: 4.5.2 272 | transitivePeerDependencies: 273 | - supports-color 274 | dev: true 275 | 276 | /@typescript-eslint/scope-manager/4.33.0: 277 | resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} 278 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 279 | dependencies: 280 | '@typescript-eslint/types': 4.33.0 281 | '@typescript-eslint/visitor-keys': 4.33.0 282 | dev: true 283 | 284 | /@typescript-eslint/types/4.33.0: 285 | resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} 286 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 287 | dev: true 288 | 289 | /@typescript-eslint/typescript-estree/4.33.0_typescript@4.5.2: 290 | resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} 291 | engines: {node: ^10.12.0 || >=12.0.0} 292 | peerDependencies: 293 | typescript: '*' 294 | peerDependenciesMeta: 295 | typescript: 296 | optional: true 297 | dependencies: 298 | '@typescript-eslint/types': 4.33.0 299 | '@typescript-eslint/visitor-keys': 4.33.0 300 | debug: 4.3.2 301 | globby: 11.0.4 302 | is-glob: 4.0.3 303 | semver: 7.3.5 304 | tsutils: 3.21.0_typescript@4.5.2 305 | typescript: 4.5.2 306 | transitivePeerDependencies: 307 | - supports-color 308 | dev: true 309 | 310 | /@typescript-eslint/visitor-keys/4.33.0: 311 | resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} 312 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 313 | dependencies: 314 | '@typescript-eslint/types': 4.33.0 315 | eslint-visitor-keys: 2.1.0 316 | dev: true 317 | 318 | /acorn-jsx/5.3.2_acorn@7.4.1: 319 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 320 | peerDependencies: 321 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 322 | dependencies: 323 | acorn: 7.4.1 324 | dev: true 325 | 326 | /acorn-node/1.8.2: 327 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 328 | dependencies: 329 | acorn: 7.4.1 330 | acorn-walk: 7.2.0 331 | xtend: 4.0.2 332 | dev: true 333 | 334 | /acorn-walk/7.2.0: 335 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 336 | engines: {node: '>=0.4.0'} 337 | dev: true 338 | 339 | /acorn/7.4.1: 340 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 341 | engines: {node: '>=0.4.0'} 342 | hasBin: true 343 | dev: true 344 | 345 | /ajv/6.12.6: 346 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 347 | dependencies: 348 | fast-deep-equal: 3.1.3 349 | fast-json-stable-stringify: 2.1.0 350 | json-schema-traverse: 0.4.1 351 | uri-js: 4.4.1 352 | dev: true 353 | 354 | /ajv/8.8.1: 355 | resolution: {integrity: sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==} 356 | dependencies: 357 | fast-deep-equal: 3.1.3 358 | json-schema-traverse: 1.0.0 359 | require-from-string: 2.0.2 360 | uri-js: 4.4.1 361 | dev: true 362 | 363 | /alphanum-sort/1.0.2: 364 | resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} 365 | dev: true 366 | 367 | /ansi-colors/4.1.1: 368 | resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} 369 | engines: {node: '>=6'} 370 | dev: true 371 | 372 | /ansi-regex/5.0.1: 373 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 374 | engines: {node: '>=8'} 375 | dev: true 376 | 377 | /ansi-styles/3.2.1: 378 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 379 | engines: {node: '>=4'} 380 | dependencies: 381 | color-convert: 1.9.3 382 | dev: true 383 | 384 | /ansi-styles/4.3.0: 385 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 386 | engines: {node: '>=8'} 387 | dependencies: 388 | color-convert: 2.0.1 389 | dev: true 390 | 391 | /anymatch/3.1.2: 392 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 393 | engines: {node: '>= 8'} 394 | dependencies: 395 | normalize-path: 3.0.0 396 | picomatch: 2.3.0 397 | dev: true 398 | 399 | /arg/5.0.1: 400 | resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==} 401 | dev: true 402 | 403 | /argparse/1.0.10: 404 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 405 | dependencies: 406 | sprintf-js: 1.0.3 407 | dev: true 408 | 409 | /array-union/2.1.0: 410 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 411 | engines: {node: '>=8'} 412 | dev: true 413 | 414 | /astral-regex/2.0.0: 415 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 416 | engines: {node: '>=8'} 417 | dev: true 418 | 419 | /autoprefixer/10.4.0_postcss@8.3.11: 420 | resolution: {integrity: sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==} 421 | engines: {node: ^10 || ^12 || >=14} 422 | hasBin: true 423 | peerDependencies: 424 | postcss: ^8.1.0 425 | dependencies: 426 | browserslist: 4.18.1 427 | caniuse-lite: 1.0.30001282 428 | fraction.js: 4.1.2 429 | normalize-range: 0.1.2 430 | picocolors: 1.0.0 431 | postcss: 8.3.11 432 | postcss-value-parser: 4.1.0 433 | dev: true 434 | 435 | /axios/0.24.0: 436 | resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} 437 | dependencies: 438 | follow-redirects: 1.14.5 439 | transitivePeerDependencies: 440 | - debug 441 | dev: false 442 | 443 | /balanced-match/1.0.2: 444 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 445 | dev: true 446 | 447 | /binary-extensions/2.2.0: 448 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 449 | engines: {node: '>=8'} 450 | dev: true 451 | 452 | /boolbase/1.0.0: 453 | resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} 454 | dev: true 455 | 456 | /brace-expansion/1.1.11: 457 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 458 | dependencies: 459 | balanced-match: 1.0.2 460 | concat-map: 0.0.1 461 | dev: true 462 | 463 | /braces/3.0.2: 464 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 465 | engines: {node: '>=8'} 466 | dependencies: 467 | fill-range: 7.0.1 468 | dev: true 469 | 470 | /browserslist/4.18.1: 471 | resolution: {integrity: sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==} 472 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 473 | hasBin: true 474 | dependencies: 475 | caniuse-lite: 1.0.30001282 476 | electron-to-chromium: 1.3.902 477 | escalade: 3.1.1 478 | node-releases: 2.0.1 479 | picocolors: 1.0.0 480 | dev: true 481 | 482 | /buffer-crc32/0.2.13: 483 | resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} 484 | dev: true 485 | 486 | /bytes/3.1.1: 487 | resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} 488 | engines: {node: '>= 0.8'} 489 | dev: true 490 | 491 | /callsites/3.1.0: 492 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 493 | engines: {node: '>=6'} 494 | dev: true 495 | 496 | /camelcase-css/2.0.1: 497 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 498 | engines: {node: '>= 6'} 499 | dev: true 500 | 501 | /caniuse-api/3.0.0: 502 | resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} 503 | dependencies: 504 | browserslist: 4.18.1 505 | caniuse-lite: 1.0.30001282 506 | lodash.memoize: 4.1.2 507 | lodash.uniq: 4.5.0 508 | dev: true 509 | 510 | /caniuse-lite/1.0.30001282: 511 | resolution: {integrity: sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==} 512 | dev: true 513 | 514 | /chalk/2.4.2: 515 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 516 | engines: {node: '>=4'} 517 | dependencies: 518 | ansi-styles: 3.2.1 519 | escape-string-regexp: 1.0.5 520 | supports-color: 5.5.0 521 | dev: true 522 | 523 | /chalk/4.1.2: 524 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 525 | engines: {node: '>=10'} 526 | dependencies: 527 | ansi-styles: 4.3.0 528 | supports-color: 7.2.0 529 | dev: true 530 | 531 | /cheap-watch/1.0.4: 532 | resolution: {integrity: sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==} 533 | engines: {node: '>=8'} 534 | dev: true 535 | 536 | /chokidar/3.5.2: 537 | resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} 538 | engines: {node: '>= 8.10.0'} 539 | dependencies: 540 | anymatch: 3.1.2 541 | braces: 3.0.2 542 | glob-parent: 5.1.2 543 | is-binary-path: 2.1.0 544 | is-glob: 4.0.3 545 | normalize-path: 3.0.0 546 | readdirp: 3.6.0 547 | optionalDependencies: 548 | fsevents: 2.3.2 549 | dev: true 550 | 551 | /color-convert/1.9.3: 552 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 553 | dependencies: 554 | color-name: 1.1.3 555 | dev: true 556 | 557 | /color-convert/2.0.1: 558 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 559 | engines: {node: '>=7.0.0'} 560 | dependencies: 561 | color-name: 1.1.4 562 | dev: true 563 | 564 | /color-name/1.1.3: 565 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 566 | dev: true 567 | 568 | /color-name/1.1.4: 569 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 570 | dev: true 571 | 572 | /color-string/1.6.0: 573 | resolution: {integrity: sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==} 574 | dependencies: 575 | color-name: 1.1.4 576 | simple-swizzle: 0.2.2 577 | dev: true 578 | 579 | /color/4.0.1: 580 | resolution: {integrity: sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==} 581 | dependencies: 582 | color-convert: 2.0.1 583 | color-string: 1.6.0 584 | dev: true 585 | 586 | /colord/2.9.1: 587 | resolution: {integrity: sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==} 588 | dev: true 589 | 590 | /commander/6.2.1: 591 | resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} 592 | engines: {node: '>= 6'} 593 | dev: true 594 | 595 | /commander/7.2.0: 596 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 597 | engines: {node: '>= 10'} 598 | dev: true 599 | 600 | /concat-map/0.0.1: 601 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 602 | dev: true 603 | 604 | /cosmiconfig/7.0.1: 605 | resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} 606 | engines: {node: '>=10'} 607 | dependencies: 608 | '@types/parse-json': 4.0.0 609 | import-fresh: 3.3.0 610 | parse-json: 5.2.0 611 | path-type: 4.0.0 612 | yaml: 1.10.2 613 | dev: true 614 | 615 | /cross-spawn/7.0.3: 616 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 617 | engines: {node: '>= 8'} 618 | dependencies: 619 | path-key: 3.1.1 620 | shebang-command: 2.0.0 621 | which: 2.0.2 622 | dev: true 623 | 624 | /css-color-names/0.0.4: 625 | resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} 626 | dev: true 627 | 628 | /css-declaration-sorter/6.1.3_postcss@8.3.11: 629 | resolution: {integrity: sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==} 630 | engines: {node: '>= 10'} 631 | peerDependencies: 632 | postcss: ^8.0.9 633 | dependencies: 634 | postcss: 8.3.11 635 | timsort: 0.3.0 636 | dev: true 637 | 638 | /css-select/4.1.3: 639 | resolution: {integrity: sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==} 640 | dependencies: 641 | boolbase: 1.0.0 642 | css-what: 5.1.0 643 | domhandler: 4.2.2 644 | domutils: 2.8.0 645 | nth-check: 2.0.1 646 | dev: true 647 | 648 | /css-tree/1.1.3: 649 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 650 | engines: {node: '>=8.0.0'} 651 | dependencies: 652 | mdn-data: 2.0.14 653 | source-map: 0.6.1 654 | dev: true 655 | 656 | /css-unit-converter/1.1.2: 657 | resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} 658 | dev: true 659 | 660 | /css-what/5.1.0: 661 | resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} 662 | engines: {node: '>= 6'} 663 | dev: true 664 | 665 | /cssesc/3.0.0: 666 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 667 | engines: {node: '>=4'} 668 | hasBin: true 669 | dev: true 670 | 671 | /cssnano-preset-default/5.1.7_postcss@8.3.11: 672 | resolution: {integrity: sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==} 673 | engines: {node: ^10 || ^12 || >=14.0} 674 | peerDependencies: 675 | postcss: ^8.2.15 676 | dependencies: 677 | css-declaration-sorter: 6.1.3_postcss@8.3.11 678 | cssnano-utils: 2.0.1_postcss@8.3.11 679 | postcss: 8.3.11 680 | postcss-calc: 8.0.0_postcss@8.3.11 681 | postcss-colormin: 5.2.1_postcss@8.3.11 682 | postcss-convert-values: 5.0.2_postcss@8.3.11 683 | postcss-discard-comments: 5.0.1_postcss@8.3.11 684 | postcss-discard-duplicates: 5.0.1_postcss@8.3.11 685 | postcss-discard-empty: 5.0.1_postcss@8.3.11 686 | postcss-discard-overridden: 5.0.1_postcss@8.3.11 687 | postcss-merge-longhand: 5.0.4_postcss@8.3.11 688 | postcss-merge-rules: 5.0.3_postcss@8.3.11 689 | postcss-minify-font-values: 5.0.1_postcss@8.3.11 690 | postcss-minify-gradients: 5.0.3_postcss@8.3.11 691 | postcss-minify-params: 5.0.2_postcss@8.3.11 692 | postcss-minify-selectors: 5.1.0_postcss@8.3.11 693 | postcss-normalize-charset: 5.0.1_postcss@8.3.11 694 | postcss-normalize-display-values: 5.0.1_postcss@8.3.11 695 | postcss-normalize-positions: 5.0.1_postcss@8.3.11 696 | postcss-normalize-repeat-style: 5.0.1_postcss@8.3.11 697 | postcss-normalize-string: 5.0.1_postcss@8.3.11 698 | postcss-normalize-timing-functions: 5.0.1_postcss@8.3.11 699 | postcss-normalize-unicode: 5.0.1_postcss@8.3.11 700 | postcss-normalize-url: 5.0.3_postcss@8.3.11 701 | postcss-normalize-whitespace: 5.0.1_postcss@8.3.11 702 | postcss-ordered-values: 5.0.2_postcss@8.3.11 703 | postcss-reduce-initial: 5.0.1_postcss@8.3.11 704 | postcss-reduce-transforms: 5.0.1_postcss@8.3.11 705 | postcss-svgo: 5.0.3_postcss@8.3.11 706 | postcss-unique-selectors: 5.0.2_postcss@8.3.11 707 | dev: true 708 | 709 | /cssnano-utils/2.0.1_postcss@8.3.11: 710 | resolution: {integrity: sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==} 711 | engines: {node: ^10 || ^12 || >=14.0} 712 | peerDependencies: 713 | postcss: ^8.2.15 714 | dependencies: 715 | postcss: 8.3.11 716 | dev: true 717 | 718 | /cssnano/5.0.11_postcss@8.3.11: 719 | resolution: {integrity: sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==} 720 | engines: {node: ^10 || ^12 || >=14.0} 721 | peerDependencies: 722 | postcss: ^8.2.15 723 | dependencies: 724 | cssnano-preset-default: 5.1.7_postcss@8.3.11 725 | is-resolvable: 1.1.0 726 | lilconfig: 2.0.4 727 | postcss: 8.3.11 728 | yaml: 1.10.2 729 | dev: true 730 | 731 | /csso/4.2.0: 732 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} 733 | engines: {node: '>=8.0.0'} 734 | dependencies: 735 | css-tree: 1.1.3 736 | dev: true 737 | 738 | /date-fns/2.26.0: 739 | resolution: {integrity: sha512-VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg==} 740 | engines: {node: '>=0.11'} 741 | dev: false 742 | 743 | /debug/4.3.2: 744 | resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} 745 | engines: {node: '>=6.0'} 746 | peerDependencies: 747 | supports-color: '*' 748 | peerDependenciesMeta: 749 | supports-color: 750 | optional: true 751 | dependencies: 752 | ms: 2.1.2 753 | dev: true 754 | 755 | /deep-is/0.1.4: 756 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 757 | dev: true 758 | 759 | /defined/1.0.0: 760 | resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=} 761 | dev: true 762 | 763 | /detect-indent/6.1.0: 764 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 765 | engines: {node: '>=8'} 766 | dev: true 767 | 768 | /detective/5.2.0: 769 | resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} 770 | engines: {node: '>=0.8.0'} 771 | hasBin: true 772 | dependencies: 773 | acorn-node: 1.8.2 774 | defined: 1.0.0 775 | minimist: 1.2.5 776 | dev: true 777 | 778 | /didyoumean/1.2.2: 779 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 780 | dev: true 781 | 782 | /dir-glob/3.0.1: 783 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 784 | engines: {node: '>=8'} 785 | dependencies: 786 | path-type: 4.0.0 787 | dev: true 788 | 789 | /dlv/1.1.3: 790 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 791 | dev: true 792 | 793 | /doctrine/3.0.0: 794 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 795 | engines: {node: '>=6.0.0'} 796 | dependencies: 797 | esutils: 2.0.3 798 | dev: true 799 | 800 | /dom-serializer/1.3.2: 801 | resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} 802 | dependencies: 803 | domelementtype: 2.2.0 804 | domhandler: 4.2.2 805 | entities: 2.2.0 806 | dev: true 807 | 808 | /domelementtype/2.2.0: 809 | resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} 810 | dev: true 811 | 812 | /domhandler/4.2.2: 813 | resolution: {integrity: sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==} 814 | engines: {node: '>= 4'} 815 | dependencies: 816 | domelementtype: 2.2.0 817 | dev: true 818 | 819 | /domutils/2.8.0: 820 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 821 | dependencies: 822 | dom-serializer: 1.3.2 823 | domelementtype: 2.2.0 824 | domhandler: 4.2.2 825 | dev: true 826 | 827 | /electron-to-chromium/1.3.902: 828 | resolution: {integrity: sha512-zFv5jbtyIr+V9FuT9o439isXbkXQ27mJqZfLXpBKzXugWE8+3RotHbXJlli0/r+Rvdlkut0OOMzeOWLAjH0jCw==} 829 | dev: true 830 | 831 | /emoji-regex/8.0.0: 832 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 833 | dev: true 834 | 835 | /enquirer/2.3.6: 836 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 837 | engines: {node: '>=8.6'} 838 | dependencies: 839 | ansi-colors: 4.1.1 840 | dev: true 841 | 842 | /entities/2.2.0: 843 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 844 | dev: true 845 | 846 | /error-ex/1.3.2: 847 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 848 | dependencies: 849 | is-arrayish: 0.2.1 850 | dev: true 851 | 852 | /es6-promise/3.3.1: 853 | resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=} 854 | dev: true 855 | 856 | /esbuild-android-arm64/0.13.14: 857 | resolution: {integrity: sha512-Q+Xhfp827r+ma8/DJgpMRUbDZfefsk13oePFEXEIJ4gxFbNv5+vyiYXYuKm43/+++EJXpnaYmEnu4hAKbAWYbA==} 858 | cpu: [arm64] 859 | os: [android] 860 | requiresBuild: true 861 | dev: true 862 | optional: true 863 | 864 | /esbuild-darwin-64/0.13.14: 865 | resolution: {integrity: sha512-YmOhRns6QBNSjpVdTahi/yZ8dscx9ai7a6OY6z5ACgOuQuaQ2Qk2qgJ0/siZ6LgD0gJFMV8UINFV5oky5TFNQQ==} 866 | cpu: [x64] 867 | os: [darwin] 868 | requiresBuild: true 869 | dev: true 870 | optional: true 871 | 872 | /esbuild-darwin-arm64/0.13.14: 873 | resolution: {integrity: sha512-Lp00VTli2jqZghSa68fx3fEFCPsO1hK59RMo1PRap5RUjhf55OmaZTZYnCDI0FVlCtt+gBwX5qwFt4lc6tI1xg==} 874 | cpu: [arm64] 875 | os: [darwin] 876 | requiresBuild: true 877 | dev: true 878 | optional: true 879 | 880 | /esbuild-freebsd-64/0.13.14: 881 | resolution: {integrity: sha512-BKosI3jtvTfnmsCW37B1TyxMUjkRWKqopR0CE9AF2ratdpkxdR24Vpe3gLKNyWiZ7BE96/SO5/YfhbPUzY8wKw==} 882 | cpu: [x64] 883 | os: [freebsd] 884 | requiresBuild: true 885 | dev: true 886 | optional: true 887 | 888 | /esbuild-freebsd-arm64/0.13.14: 889 | resolution: {integrity: sha512-yd2uh0yf+fWv5114+SYTl4/1oDWtr4nN5Op+PGxAkMqHfYfLjFKpcxwCo/QOS/0NWqPVE8O41IYZlFhbEN2B8Q==} 890 | cpu: [arm64] 891 | os: [freebsd] 892 | requiresBuild: true 893 | dev: true 894 | optional: true 895 | 896 | /esbuild-linux-32/0.13.14: 897 | resolution: {integrity: sha512-a8rOnS1oWSfkkYWXoD2yXNV4BdbDKA7PNVQ1klqkY9SoSApL7io66w5H44mTLsfyw7G6Z2vLlaLI2nz9MMAowA==} 898 | cpu: [ia32] 899 | os: [linux] 900 | requiresBuild: true 901 | dev: true 902 | optional: true 903 | 904 | /esbuild-linux-64/0.13.14: 905 | resolution: {integrity: sha512-yPZSoMs9W2MC3Dw+6kflKt5FfQm6Dicex9dGIr1OlHRsn3Hm7yGMUTctlkW53KknnZdOdcdd5upxvbxqymczVQ==} 906 | cpu: [x64] 907 | os: [linux] 908 | requiresBuild: true 909 | dev: true 910 | optional: true 911 | 912 | /esbuild-linux-arm/0.13.14: 913 | resolution: {integrity: sha512-8chZE4pkKRvJ/M/iwsNQ1KqsRg2RyU5eT/x2flNt/f8F2TVrDreR7I0HEeCR50wLla3B1C3wTIOzQBmjuc6uWg==} 914 | cpu: [arm] 915 | os: [linux] 916 | requiresBuild: true 917 | dev: true 918 | optional: true 919 | 920 | /esbuild-linux-arm64/0.13.14: 921 | resolution: {integrity: sha512-Lvo391ln9PzC334e+jJ2S0Rt0cxP47eoH5gFyv/E8HhOnEJTvm7A+RRnMjjHnejELacTTfYgFGQYPjLsi/jObQ==} 922 | cpu: [arm64] 923 | os: [linux] 924 | requiresBuild: true 925 | dev: true 926 | optional: true 927 | 928 | /esbuild-linux-mips64le/0.13.14: 929 | resolution: {integrity: sha512-MZhgxbmrWbpY3TOE029O6l5tokG9+Yoj2hW7vdit/d/VnmneqeGrSHADuDL6qXM8L5jaCiaivb4VhsyVCpdAbQ==} 930 | cpu: [mips64el] 931 | os: [linux] 932 | requiresBuild: true 933 | dev: true 934 | optional: true 935 | 936 | /esbuild-linux-ppc64le/0.13.14: 937 | resolution: {integrity: sha512-un7KMwS7fX1Un6BjfSZxTT8L5cV/8Uf4SAhM7WYy2XF8o8TI+uRxxD03svZnRNIPsN2J5cl6qV4n7Iwz+yhhVw==} 938 | cpu: [ppc64] 939 | os: [linux] 940 | requiresBuild: true 941 | dev: true 942 | optional: true 943 | 944 | /esbuild-netbsd-64/0.13.14: 945 | resolution: {integrity: sha512-5ekKx/YbOmmlTeNxBjh38Uh5TGn5C4uyqN17i67k18pS3J+U2hTVD7rCxcFcRS1AjNWumkVL3jWqYXadFwMS0Q==} 946 | cpu: [x64] 947 | os: [netbsd] 948 | requiresBuild: true 949 | dev: true 950 | optional: true 951 | 952 | /esbuild-openbsd-64/0.13.14: 953 | resolution: {integrity: sha512-9bzvwewHjct2Cv5XcVoE1yW5YTW12Sk838EYfA46abgnhxGoFSD1mFcaztp5HHC43AsF+hQxbSFG/RilONARUA==} 954 | cpu: [x64] 955 | os: [openbsd] 956 | requiresBuild: true 957 | dev: true 958 | optional: true 959 | 960 | /esbuild-sunos-64/0.13.14: 961 | resolution: {integrity: sha512-mjMrZB76M6FmoiTvj/RGWilrioR7gVwtFBRVugr9qLarXMIU1W/pQx+ieEOtflrW61xo8w1fcxyHsVVGRvoQ0w==} 962 | cpu: [x64] 963 | os: [sunos] 964 | requiresBuild: true 965 | dev: true 966 | optional: true 967 | 968 | /esbuild-windows-32/0.13.14: 969 | resolution: {integrity: sha512-GZa6mrx2rgfbH/5uHg0Rdw50TuOKbdoKCpEBitzmG5tsXBdce+cOL+iFO5joZc6fDVCLW3Y6tjxmSXRk/v20Hg==} 970 | cpu: [ia32] 971 | os: [win32] 972 | requiresBuild: true 973 | dev: true 974 | optional: true 975 | 976 | /esbuild-windows-64/0.13.14: 977 | resolution: {integrity: sha512-Lsgqah24bT7ClHjLp/Pj3A9wxjhIAJyWQcrOV4jqXAFikmrp2CspA8IkJgw7HFjx6QrJuhpcKVbCAe/xw0i2yw==} 978 | cpu: [x64] 979 | os: [win32] 980 | requiresBuild: true 981 | dev: true 982 | optional: true 983 | 984 | /esbuild-windows-arm64/0.13.14: 985 | resolution: {integrity: sha512-KP8FHVlWGhM7nzYtURsGnskXb/cBCPTfj0gOKfjKq2tHtYnhDZywsUG57nk7TKhhK0fL11LcejHG3LRW9RF/9A==} 986 | cpu: [arm64] 987 | os: [win32] 988 | requiresBuild: true 989 | dev: true 990 | optional: true 991 | 992 | /esbuild/0.13.14: 993 | resolution: {integrity: sha512-xu4D+1ji9x53ocuomcY+KOrwAnWzhBu/wTEjpdgZ8I1c8i5vboYIeigMdzgY1UowYBKa2vZgVgUB32bu7gkxeg==} 994 | hasBin: true 995 | requiresBuild: true 996 | optionalDependencies: 997 | esbuild-android-arm64: 0.13.14 998 | esbuild-darwin-64: 0.13.14 999 | esbuild-darwin-arm64: 0.13.14 1000 | esbuild-freebsd-64: 0.13.14 1001 | esbuild-freebsd-arm64: 0.13.14 1002 | esbuild-linux-32: 0.13.14 1003 | esbuild-linux-64: 0.13.14 1004 | esbuild-linux-arm: 0.13.14 1005 | esbuild-linux-arm64: 0.13.14 1006 | esbuild-linux-mips64le: 0.13.14 1007 | esbuild-linux-ppc64le: 0.13.14 1008 | esbuild-netbsd-64: 0.13.14 1009 | esbuild-openbsd-64: 0.13.14 1010 | esbuild-sunos-64: 0.13.14 1011 | esbuild-windows-32: 0.13.14 1012 | esbuild-windows-64: 0.13.14 1013 | esbuild-windows-arm64: 0.13.14 1014 | dev: true 1015 | 1016 | /escalade/3.1.1: 1017 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1018 | engines: {node: '>=6'} 1019 | dev: true 1020 | 1021 | /escape-string-regexp/1.0.5: 1022 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 1023 | engines: {node: '>=0.8.0'} 1024 | dev: true 1025 | 1026 | /escape-string-regexp/4.0.0: 1027 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1028 | engines: {node: '>=10'} 1029 | dev: true 1030 | 1031 | /eslint-config-prettier/8.3.0_eslint@7.32.0: 1032 | resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} 1033 | hasBin: true 1034 | peerDependencies: 1035 | eslint: '>=7.0.0' 1036 | dependencies: 1037 | eslint: 7.32.0 1038 | dev: true 1039 | 1040 | /eslint-plugin-svelte3/3.2.1_eslint@7.32.0+svelte@3.44.1: 1041 | resolution: {integrity: sha512-YoBR9mLoKCjGghJ/gvpnFZKaMEu/VRcuxpSRS8KuozuEo7CdBH7bmBHa6FmMm0i4kJnOyx+PVsaptz96K6H/4Q==} 1042 | engines: {node: '>=10'} 1043 | peerDependencies: 1044 | eslint: '>=6.0.0' 1045 | svelte: ^3.2.0 1046 | dependencies: 1047 | eslint: 7.32.0 1048 | svelte: 3.44.1 1049 | dev: true 1050 | 1051 | /eslint-scope/5.1.1: 1052 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1053 | engines: {node: '>=8.0.0'} 1054 | dependencies: 1055 | esrecurse: 4.3.0 1056 | estraverse: 4.3.0 1057 | dev: true 1058 | 1059 | /eslint-utils/2.1.0: 1060 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 1061 | engines: {node: '>=6'} 1062 | dependencies: 1063 | eslint-visitor-keys: 1.3.0 1064 | dev: true 1065 | 1066 | /eslint-utils/3.0.0_eslint@7.32.0: 1067 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1068 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1069 | peerDependencies: 1070 | eslint: '>=5' 1071 | dependencies: 1072 | eslint: 7.32.0 1073 | eslint-visitor-keys: 2.1.0 1074 | dev: true 1075 | 1076 | /eslint-visitor-keys/1.3.0: 1077 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 1078 | engines: {node: '>=4'} 1079 | dev: true 1080 | 1081 | /eslint-visitor-keys/2.1.0: 1082 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1083 | engines: {node: '>=10'} 1084 | dev: true 1085 | 1086 | /eslint/7.32.0: 1087 | resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} 1088 | engines: {node: ^10.12.0 || >=12.0.0} 1089 | hasBin: true 1090 | dependencies: 1091 | '@babel/code-frame': 7.12.11 1092 | '@eslint/eslintrc': 0.4.3 1093 | '@humanwhocodes/config-array': 0.5.0 1094 | ajv: 6.12.6 1095 | chalk: 4.1.2 1096 | cross-spawn: 7.0.3 1097 | debug: 4.3.2 1098 | doctrine: 3.0.0 1099 | enquirer: 2.3.6 1100 | escape-string-regexp: 4.0.0 1101 | eslint-scope: 5.1.1 1102 | eslint-utils: 2.1.0 1103 | eslint-visitor-keys: 2.1.0 1104 | espree: 7.3.1 1105 | esquery: 1.4.0 1106 | esutils: 2.0.3 1107 | fast-deep-equal: 3.1.3 1108 | file-entry-cache: 6.0.1 1109 | functional-red-black-tree: 1.0.1 1110 | glob-parent: 5.1.2 1111 | globals: 13.12.0 1112 | ignore: 4.0.6 1113 | import-fresh: 3.3.0 1114 | imurmurhash: 0.1.4 1115 | is-glob: 4.0.3 1116 | js-yaml: 3.14.1 1117 | json-stable-stringify-without-jsonify: 1.0.1 1118 | levn: 0.4.1 1119 | lodash.merge: 4.6.2 1120 | minimatch: 3.0.4 1121 | natural-compare: 1.4.0 1122 | optionator: 0.9.1 1123 | progress: 2.0.3 1124 | regexpp: 3.2.0 1125 | semver: 7.3.5 1126 | strip-ansi: 6.0.1 1127 | strip-json-comments: 3.1.1 1128 | table: 6.7.3 1129 | text-table: 0.2.0 1130 | v8-compile-cache: 2.3.0 1131 | transitivePeerDependencies: 1132 | - supports-color 1133 | dev: true 1134 | 1135 | /espree/7.3.1: 1136 | resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} 1137 | engines: {node: ^10.12.0 || >=12.0.0} 1138 | dependencies: 1139 | acorn: 7.4.1 1140 | acorn-jsx: 5.3.2_acorn@7.4.1 1141 | eslint-visitor-keys: 1.3.0 1142 | dev: true 1143 | 1144 | /esprima/4.0.1: 1145 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1146 | engines: {node: '>=4'} 1147 | hasBin: true 1148 | dev: true 1149 | 1150 | /esquery/1.4.0: 1151 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1152 | engines: {node: '>=0.10'} 1153 | dependencies: 1154 | estraverse: 5.3.0 1155 | dev: true 1156 | 1157 | /esrecurse/4.3.0: 1158 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1159 | engines: {node: '>=4.0'} 1160 | dependencies: 1161 | estraverse: 5.3.0 1162 | dev: true 1163 | 1164 | /estraverse/4.3.0: 1165 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1166 | engines: {node: '>=4.0'} 1167 | dev: true 1168 | 1169 | /estraverse/5.3.0: 1170 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1171 | engines: {node: '>=4.0'} 1172 | dev: true 1173 | 1174 | /estree-walker/2.0.2: 1175 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1176 | dev: true 1177 | 1178 | /esutils/2.0.3: 1179 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1180 | engines: {node: '>=0.10.0'} 1181 | dev: true 1182 | 1183 | /fast-deep-equal/3.1.3: 1184 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1185 | dev: true 1186 | 1187 | /fast-glob/3.2.7: 1188 | resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} 1189 | engines: {node: '>=8'} 1190 | dependencies: 1191 | '@nodelib/fs.stat': 2.0.5 1192 | '@nodelib/fs.walk': 1.2.8 1193 | glob-parent: 5.1.2 1194 | merge2: 1.4.1 1195 | micromatch: 4.0.4 1196 | dev: true 1197 | 1198 | /fast-json-stable-stringify/2.1.0: 1199 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1200 | dev: true 1201 | 1202 | /fast-levenshtein/2.0.6: 1203 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 1204 | dev: true 1205 | 1206 | /fastq/1.13.0: 1207 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1208 | dependencies: 1209 | reusify: 1.0.4 1210 | dev: true 1211 | 1212 | /file-entry-cache/6.0.1: 1213 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1214 | engines: {node: ^10.12.0 || >=12.0.0} 1215 | dependencies: 1216 | flat-cache: 3.0.4 1217 | dev: true 1218 | 1219 | /fill-range/7.0.1: 1220 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1221 | engines: {node: '>=8'} 1222 | dependencies: 1223 | to-regex-range: 5.0.1 1224 | dev: true 1225 | 1226 | /flat-cache/3.0.4: 1227 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1228 | engines: {node: ^10.12.0 || >=12.0.0} 1229 | dependencies: 1230 | flatted: 3.2.4 1231 | rimraf: 3.0.2 1232 | dev: true 1233 | 1234 | /flatted/3.2.4: 1235 | resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} 1236 | dev: true 1237 | 1238 | /follow-redirects/1.14.5: 1239 | resolution: {integrity: sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==} 1240 | engines: {node: '>=4.0'} 1241 | peerDependencies: 1242 | debug: '*' 1243 | peerDependenciesMeta: 1244 | debug: 1245 | optional: true 1246 | dev: false 1247 | 1248 | /fraction.js/4.1.2: 1249 | resolution: {integrity: sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==} 1250 | dev: true 1251 | 1252 | /fs-extra/10.0.0: 1253 | resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} 1254 | engines: {node: '>=12'} 1255 | dependencies: 1256 | graceful-fs: 4.2.8 1257 | jsonfile: 6.1.0 1258 | universalify: 2.0.0 1259 | dev: true 1260 | 1261 | /fs.realpath/1.0.0: 1262 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1263 | dev: true 1264 | 1265 | /fsevents/2.3.2: 1266 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1267 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1268 | os: [darwin] 1269 | requiresBuild: true 1270 | dev: true 1271 | optional: true 1272 | 1273 | /function-bind/1.1.1: 1274 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1275 | dev: true 1276 | 1277 | /functional-red-black-tree/1.0.1: 1278 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} 1279 | dev: true 1280 | 1281 | /glob-parent/5.1.2: 1282 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1283 | engines: {node: '>= 6'} 1284 | dependencies: 1285 | is-glob: 4.0.3 1286 | dev: true 1287 | 1288 | /glob-parent/6.0.2: 1289 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1290 | engines: {node: '>=10.13.0'} 1291 | dependencies: 1292 | is-glob: 4.0.3 1293 | dev: true 1294 | 1295 | /glob/7.2.0: 1296 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 1297 | dependencies: 1298 | fs.realpath: 1.0.0 1299 | inflight: 1.0.6 1300 | inherits: 2.0.4 1301 | minimatch: 3.0.4 1302 | once: 1.4.0 1303 | path-is-absolute: 1.0.1 1304 | dev: true 1305 | 1306 | /globals/13.12.0: 1307 | resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} 1308 | engines: {node: '>=8'} 1309 | dependencies: 1310 | type-fest: 0.20.2 1311 | dev: true 1312 | 1313 | /globby/11.0.4: 1314 | resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} 1315 | engines: {node: '>=10'} 1316 | dependencies: 1317 | array-union: 2.1.0 1318 | dir-glob: 3.0.1 1319 | fast-glob: 3.2.7 1320 | ignore: 5.1.9 1321 | merge2: 1.4.1 1322 | slash: 3.0.0 1323 | dev: true 1324 | 1325 | /graceful-fs/4.2.8: 1326 | resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} 1327 | dev: true 1328 | 1329 | /has-flag/3.0.0: 1330 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 1331 | engines: {node: '>=4'} 1332 | dev: true 1333 | 1334 | /has-flag/4.0.0: 1335 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1336 | engines: {node: '>=8'} 1337 | dev: true 1338 | 1339 | /has/1.0.3: 1340 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1341 | engines: {node: '>= 0.4.0'} 1342 | dependencies: 1343 | function-bind: 1.1.1 1344 | dev: true 1345 | 1346 | /hex-color-regex/1.1.0: 1347 | resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} 1348 | dev: true 1349 | 1350 | /hsl-regex/1.0.0: 1351 | resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} 1352 | dev: true 1353 | 1354 | /hsla-regex/1.0.0: 1355 | resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} 1356 | dev: true 1357 | 1358 | /html-tags/3.1.0: 1359 | resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} 1360 | engines: {node: '>=8'} 1361 | dev: true 1362 | 1363 | /ignore/4.0.6: 1364 | resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} 1365 | engines: {node: '>= 4'} 1366 | dev: true 1367 | 1368 | /ignore/5.1.9: 1369 | resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} 1370 | engines: {node: '>= 4'} 1371 | dev: true 1372 | 1373 | /import-cwd/3.0.0: 1374 | resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} 1375 | engines: {node: '>=8'} 1376 | dependencies: 1377 | import-from: 3.0.0 1378 | dev: true 1379 | 1380 | /import-fresh/3.3.0: 1381 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1382 | engines: {node: '>=6'} 1383 | dependencies: 1384 | parent-module: 1.0.1 1385 | resolve-from: 4.0.0 1386 | dev: true 1387 | 1388 | /import-from/3.0.0: 1389 | resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} 1390 | engines: {node: '>=8'} 1391 | dependencies: 1392 | resolve-from: 5.0.0 1393 | dev: true 1394 | 1395 | /imurmurhash/0.1.4: 1396 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 1397 | engines: {node: '>=0.8.19'} 1398 | dev: true 1399 | 1400 | /inflight/1.0.6: 1401 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 1402 | dependencies: 1403 | once: 1.4.0 1404 | wrappy: 1.0.2 1405 | dev: true 1406 | 1407 | /inherits/2.0.4: 1408 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1409 | dev: true 1410 | 1411 | /is-absolute-url/3.0.3: 1412 | resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} 1413 | engines: {node: '>=8'} 1414 | dev: true 1415 | 1416 | /is-arrayish/0.2.1: 1417 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 1418 | dev: true 1419 | 1420 | /is-arrayish/0.3.2: 1421 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1422 | dev: true 1423 | 1424 | /is-binary-path/2.1.0: 1425 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1426 | engines: {node: '>=8'} 1427 | dependencies: 1428 | binary-extensions: 2.2.0 1429 | dev: true 1430 | 1431 | /is-color-stop/1.1.0: 1432 | resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} 1433 | dependencies: 1434 | css-color-names: 0.0.4 1435 | hex-color-regex: 1.1.0 1436 | hsl-regex: 1.0.0 1437 | hsla-regex: 1.0.0 1438 | rgb-regex: 1.0.1 1439 | rgba-regex: 1.0.0 1440 | dev: true 1441 | 1442 | /is-core-module/2.8.0: 1443 | resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} 1444 | dependencies: 1445 | has: 1.0.3 1446 | dev: true 1447 | 1448 | /is-extglob/2.1.1: 1449 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 1450 | engines: {node: '>=0.10.0'} 1451 | dev: true 1452 | 1453 | /is-fullwidth-code-point/3.0.0: 1454 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1455 | engines: {node: '>=8'} 1456 | dev: true 1457 | 1458 | /is-glob/4.0.3: 1459 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1460 | engines: {node: '>=0.10.0'} 1461 | dependencies: 1462 | is-extglob: 2.1.1 1463 | dev: true 1464 | 1465 | /is-number/7.0.0: 1466 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1467 | engines: {node: '>=0.12.0'} 1468 | dev: true 1469 | 1470 | /is-resolvable/1.1.0: 1471 | resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} 1472 | dev: true 1473 | 1474 | /isexe/2.0.0: 1475 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 1476 | dev: true 1477 | 1478 | /js-tokens/4.0.0: 1479 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1480 | dev: true 1481 | 1482 | /js-yaml/3.14.1: 1483 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1484 | hasBin: true 1485 | dependencies: 1486 | argparse: 1.0.10 1487 | esprima: 4.0.1 1488 | dev: true 1489 | 1490 | /json-parse-even-better-errors/2.3.1: 1491 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1492 | dev: true 1493 | 1494 | /json-schema-traverse/0.4.1: 1495 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1496 | dev: true 1497 | 1498 | /json-schema-traverse/1.0.0: 1499 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 1500 | dev: true 1501 | 1502 | /json-stable-stringify-without-jsonify/1.0.1: 1503 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} 1504 | dev: true 1505 | 1506 | /jsonfile/6.1.0: 1507 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1508 | dependencies: 1509 | universalify: 2.0.0 1510 | optionalDependencies: 1511 | graceful-fs: 4.2.8 1512 | dev: true 1513 | 1514 | /kleur/4.1.4: 1515 | resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} 1516 | engines: {node: '>=6'} 1517 | dev: true 1518 | 1519 | /levn/0.4.1: 1520 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1521 | engines: {node: '>= 0.8.0'} 1522 | dependencies: 1523 | prelude-ls: 1.2.1 1524 | type-check: 0.4.0 1525 | dev: true 1526 | 1527 | /lilconfig/2.0.4: 1528 | resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} 1529 | engines: {node: '>=10'} 1530 | dev: true 1531 | 1532 | /lines-and-columns/1.1.6: 1533 | resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} 1534 | dev: true 1535 | 1536 | /lodash.memoize/4.1.2: 1537 | resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} 1538 | dev: true 1539 | 1540 | /lodash.merge/4.6.2: 1541 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1542 | dev: true 1543 | 1544 | /lodash.topath/4.5.2: 1545 | resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=} 1546 | dev: true 1547 | 1548 | /lodash.truncate/4.4.2: 1549 | resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} 1550 | dev: true 1551 | 1552 | /lodash.uniq/4.5.0: 1553 | resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} 1554 | dev: true 1555 | 1556 | /lodash/4.17.21: 1557 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1558 | dev: true 1559 | 1560 | /lru-cache/6.0.0: 1561 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1562 | engines: {node: '>=10'} 1563 | dependencies: 1564 | yallist: 4.0.0 1565 | dev: true 1566 | 1567 | /magic-string/0.25.7: 1568 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} 1569 | dependencies: 1570 | sourcemap-codec: 1.4.8 1571 | dev: true 1572 | 1573 | /mdn-data/2.0.14: 1574 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 1575 | dev: true 1576 | 1577 | /merge2/1.4.1: 1578 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1579 | engines: {node: '>= 8'} 1580 | dev: true 1581 | 1582 | /micromatch/4.0.4: 1583 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 1584 | engines: {node: '>=8.6'} 1585 | dependencies: 1586 | braces: 3.0.2 1587 | picomatch: 2.3.0 1588 | dev: true 1589 | 1590 | /mime/3.0.0: 1591 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1592 | engines: {node: '>=10.0.0'} 1593 | hasBin: true 1594 | dev: false 1595 | 1596 | /min-indent/1.0.1: 1597 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1598 | engines: {node: '>=4'} 1599 | dev: true 1600 | 1601 | /minimatch/3.0.4: 1602 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} 1603 | dependencies: 1604 | brace-expansion: 1.1.11 1605 | dev: true 1606 | 1607 | /minimist/1.2.5: 1608 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} 1609 | dev: true 1610 | 1611 | /mkdirp/0.5.5: 1612 | resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} 1613 | hasBin: true 1614 | dependencies: 1615 | minimist: 1.2.5 1616 | dev: true 1617 | 1618 | /modern-normalize/1.1.0: 1619 | resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} 1620 | engines: {node: '>=6'} 1621 | dev: true 1622 | 1623 | /mri/1.2.0: 1624 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1625 | engines: {node: '>=4'} 1626 | dev: true 1627 | 1628 | /ms/2.1.2: 1629 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1630 | dev: true 1631 | 1632 | /nanoid/3.1.30: 1633 | resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} 1634 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1635 | hasBin: true 1636 | dev: true 1637 | 1638 | /natural-compare/1.4.0: 1639 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 1640 | dev: true 1641 | 1642 | /node-emoji/1.11.0: 1643 | resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} 1644 | dependencies: 1645 | lodash: 4.17.21 1646 | dev: true 1647 | 1648 | /node-releases/2.0.1: 1649 | resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} 1650 | dev: true 1651 | 1652 | /normalize-path/3.0.0: 1653 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1654 | engines: {node: '>=0.10.0'} 1655 | dev: true 1656 | 1657 | /normalize-range/0.1.2: 1658 | resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} 1659 | engines: {node: '>=0.10.0'} 1660 | dev: true 1661 | 1662 | /normalize-url/6.1.0: 1663 | resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} 1664 | engines: {node: '>=10'} 1665 | dev: true 1666 | 1667 | /nth-check/2.0.1: 1668 | resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} 1669 | dependencies: 1670 | boolbase: 1.0.0 1671 | dev: true 1672 | 1673 | /object-hash/2.2.0: 1674 | resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} 1675 | engines: {node: '>= 6'} 1676 | dev: true 1677 | 1678 | /once/1.4.0: 1679 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 1680 | dependencies: 1681 | wrappy: 1.0.2 1682 | dev: true 1683 | 1684 | /optionator/0.9.1: 1685 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1686 | engines: {node: '>= 0.8.0'} 1687 | dependencies: 1688 | deep-is: 0.1.4 1689 | fast-levenshtein: 2.0.6 1690 | levn: 0.4.1 1691 | prelude-ls: 1.2.1 1692 | type-check: 0.4.0 1693 | word-wrap: 1.2.3 1694 | dev: true 1695 | 1696 | /parent-module/1.0.1: 1697 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1698 | engines: {node: '>=6'} 1699 | dependencies: 1700 | callsites: 3.1.0 1701 | dev: true 1702 | 1703 | /parse-json/5.2.0: 1704 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1705 | engines: {node: '>=8'} 1706 | dependencies: 1707 | '@babel/code-frame': 7.12.11 1708 | error-ex: 1.3.2 1709 | json-parse-even-better-errors: 2.3.1 1710 | lines-and-columns: 1.1.6 1711 | dev: true 1712 | 1713 | /path-is-absolute/1.0.1: 1714 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 1715 | engines: {node: '>=0.10.0'} 1716 | dev: true 1717 | 1718 | /path-key/3.1.1: 1719 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1720 | engines: {node: '>=8'} 1721 | dev: true 1722 | 1723 | /path-parse/1.0.7: 1724 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1725 | dev: true 1726 | 1727 | /path-type/4.0.0: 1728 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1729 | engines: {node: '>=8'} 1730 | dev: true 1731 | 1732 | /picocolors/1.0.0: 1733 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1734 | dev: true 1735 | 1736 | /picomatch/2.3.0: 1737 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} 1738 | engines: {node: '>=8.6'} 1739 | dev: true 1740 | 1741 | /postcss-calc/8.0.0_postcss@8.3.11: 1742 | resolution: {integrity: sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==} 1743 | peerDependencies: 1744 | postcss: ^8.2.2 1745 | dependencies: 1746 | postcss: 8.3.11 1747 | postcss-selector-parser: 6.0.6 1748 | postcss-value-parser: 4.1.0 1749 | dev: true 1750 | 1751 | /postcss-colormin/5.2.1_postcss@8.3.11: 1752 | resolution: {integrity: sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA==} 1753 | engines: {node: ^10 || ^12 || >=14.0} 1754 | peerDependencies: 1755 | postcss: ^8.2.15 1756 | dependencies: 1757 | browserslist: 4.18.1 1758 | caniuse-api: 3.0.0 1759 | colord: 2.9.1 1760 | postcss: 8.3.11 1761 | postcss-value-parser: 4.1.0 1762 | dev: true 1763 | 1764 | /postcss-convert-values/5.0.2_postcss@8.3.11: 1765 | resolution: {integrity: sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==} 1766 | engines: {node: ^10 || ^12 || >=14.0} 1767 | peerDependencies: 1768 | postcss: ^8.2.15 1769 | dependencies: 1770 | postcss: 8.3.11 1771 | postcss-value-parser: 4.1.0 1772 | dev: true 1773 | 1774 | /postcss-discard-comments/5.0.1_postcss@8.3.11: 1775 | resolution: {integrity: sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==} 1776 | engines: {node: ^10 || ^12 || >=14.0} 1777 | peerDependencies: 1778 | postcss: ^8.2.15 1779 | dependencies: 1780 | postcss: 8.3.11 1781 | dev: true 1782 | 1783 | /postcss-discard-duplicates/5.0.1_postcss@8.3.11: 1784 | resolution: {integrity: sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==} 1785 | engines: {node: ^10 || ^12 || >=14.0} 1786 | peerDependencies: 1787 | postcss: ^8.2.15 1788 | dependencies: 1789 | postcss: 8.3.11 1790 | dev: true 1791 | 1792 | /postcss-discard-empty/5.0.1_postcss@8.3.11: 1793 | resolution: {integrity: sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==} 1794 | engines: {node: ^10 || ^12 || >=14.0} 1795 | peerDependencies: 1796 | postcss: ^8.2.15 1797 | dependencies: 1798 | postcss: 8.3.11 1799 | dev: true 1800 | 1801 | /postcss-discard-overridden/5.0.1_postcss@8.3.11: 1802 | resolution: {integrity: sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==} 1803 | engines: {node: ^10 || ^12 || >=14.0} 1804 | peerDependencies: 1805 | postcss: ^8.2.15 1806 | dependencies: 1807 | postcss: 8.3.11 1808 | dev: true 1809 | 1810 | /postcss-js/3.0.3: 1811 | resolution: {integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==} 1812 | engines: {node: '>=10.0'} 1813 | dependencies: 1814 | camelcase-css: 2.0.1 1815 | postcss: 8.3.11 1816 | dev: true 1817 | 1818 | /postcss-load-config/3.1.0: 1819 | resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} 1820 | engines: {node: '>= 10'} 1821 | peerDependencies: 1822 | ts-node: '>=9.0.0' 1823 | peerDependenciesMeta: 1824 | ts-node: 1825 | optional: true 1826 | dependencies: 1827 | import-cwd: 3.0.0 1828 | lilconfig: 2.0.4 1829 | yaml: 1.10.2 1830 | dev: true 1831 | 1832 | /postcss-merge-longhand/5.0.4_postcss@8.3.11: 1833 | resolution: {integrity: sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==} 1834 | engines: {node: ^10 || ^12 || >=14.0} 1835 | peerDependencies: 1836 | postcss: ^8.2.15 1837 | dependencies: 1838 | postcss: 8.3.11 1839 | postcss-value-parser: 4.1.0 1840 | stylehacks: 5.0.1_postcss@8.3.11 1841 | dev: true 1842 | 1843 | /postcss-merge-rules/5.0.3_postcss@8.3.11: 1844 | resolution: {integrity: sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==} 1845 | engines: {node: ^10 || ^12 || >=14.0} 1846 | peerDependencies: 1847 | postcss: ^8.2.15 1848 | dependencies: 1849 | browserslist: 4.18.1 1850 | caniuse-api: 3.0.0 1851 | cssnano-utils: 2.0.1_postcss@8.3.11 1852 | postcss: 8.3.11 1853 | postcss-selector-parser: 6.0.6 1854 | dev: true 1855 | 1856 | /postcss-minify-font-values/5.0.1_postcss@8.3.11: 1857 | resolution: {integrity: sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==} 1858 | engines: {node: ^10 || ^12 || >=14.0} 1859 | peerDependencies: 1860 | postcss: ^8.2.15 1861 | dependencies: 1862 | postcss: 8.3.11 1863 | postcss-value-parser: 4.1.0 1864 | dev: true 1865 | 1866 | /postcss-minify-gradients/5.0.3_postcss@8.3.11: 1867 | resolution: {integrity: sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==} 1868 | engines: {node: ^10 || ^12 || >=14.0} 1869 | peerDependencies: 1870 | postcss: ^8.2.15 1871 | dependencies: 1872 | colord: 2.9.1 1873 | cssnano-utils: 2.0.1_postcss@8.3.11 1874 | postcss: 8.3.11 1875 | postcss-value-parser: 4.1.0 1876 | dev: true 1877 | 1878 | /postcss-minify-params/5.0.2_postcss@8.3.11: 1879 | resolution: {integrity: sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==} 1880 | engines: {node: ^10 || ^12 || >=14.0} 1881 | peerDependencies: 1882 | postcss: ^8.2.15 1883 | dependencies: 1884 | alphanum-sort: 1.0.2 1885 | browserslist: 4.18.1 1886 | cssnano-utils: 2.0.1_postcss@8.3.11 1887 | postcss: 8.3.11 1888 | postcss-value-parser: 4.1.0 1889 | dev: true 1890 | 1891 | /postcss-minify-selectors/5.1.0_postcss@8.3.11: 1892 | resolution: {integrity: sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==} 1893 | engines: {node: ^10 || ^12 || >=14.0} 1894 | peerDependencies: 1895 | postcss: ^8.2.15 1896 | dependencies: 1897 | alphanum-sort: 1.0.2 1898 | postcss: 8.3.11 1899 | postcss-selector-parser: 6.0.6 1900 | dev: true 1901 | 1902 | /postcss-nested/5.0.6_postcss@8.3.11: 1903 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} 1904 | engines: {node: '>=12.0'} 1905 | peerDependencies: 1906 | postcss: ^8.2.14 1907 | dependencies: 1908 | postcss: 8.3.11 1909 | postcss-selector-parser: 6.0.6 1910 | dev: true 1911 | 1912 | /postcss-normalize-charset/5.0.1_postcss@8.3.11: 1913 | resolution: {integrity: sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==} 1914 | engines: {node: ^10 || ^12 || >=14.0} 1915 | peerDependencies: 1916 | postcss: ^8.2.15 1917 | dependencies: 1918 | postcss: 8.3.11 1919 | dev: true 1920 | 1921 | /postcss-normalize-display-values/5.0.1_postcss@8.3.11: 1922 | resolution: {integrity: sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==} 1923 | engines: {node: ^10 || ^12 || >=14.0} 1924 | peerDependencies: 1925 | postcss: ^8.2.15 1926 | dependencies: 1927 | cssnano-utils: 2.0.1_postcss@8.3.11 1928 | postcss: 8.3.11 1929 | postcss-value-parser: 4.1.0 1930 | dev: true 1931 | 1932 | /postcss-normalize-positions/5.0.1_postcss@8.3.11: 1933 | resolution: {integrity: sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==} 1934 | engines: {node: ^10 || ^12 || >=14.0} 1935 | peerDependencies: 1936 | postcss: ^8.2.15 1937 | dependencies: 1938 | postcss: 8.3.11 1939 | postcss-value-parser: 4.1.0 1940 | dev: true 1941 | 1942 | /postcss-normalize-repeat-style/5.0.1_postcss@8.3.11: 1943 | resolution: {integrity: sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==} 1944 | engines: {node: ^10 || ^12 || >=14.0} 1945 | peerDependencies: 1946 | postcss: ^8.2.15 1947 | dependencies: 1948 | cssnano-utils: 2.0.1_postcss@8.3.11 1949 | postcss: 8.3.11 1950 | postcss-value-parser: 4.1.0 1951 | dev: true 1952 | 1953 | /postcss-normalize-string/5.0.1_postcss@8.3.11: 1954 | resolution: {integrity: sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==} 1955 | engines: {node: ^10 || ^12 || >=14.0} 1956 | peerDependencies: 1957 | postcss: ^8.2.15 1958 | dependencies: 1959 | postcss: 8.3.11 1960 | postcss-value-parser: 4.1.0 1961 | dev: true 1962 | 1963 | /postcss-normalize-timing-functions/5.0.1_postcss@8.3.11: 1964 | resolution: {integrity: sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==} 1965 | engines: {node: ^10 || ^12 || >=14.0} 1966 | peerDependencies: 1967 | postcss: ^8.2.15 1968 | dependencies: 1969 | cssnano-utils: 2.0.1_postcss@8.3.11 1970 | postcss: 8.3.11 1971 | postcss-value-parser: 4.1.0 1972 | dev: true 1973 | 1974 | /postcss-normalize-unicode/5.0.1_postcss@8.3.11: 1975 | resolution: {integrity: sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==} 1976 | engines: {node: ^10 || ^12 || >=14.0} 1977 | peerDependencies: 1978 | postcss: ^8.2.15 1979 | dependencies: 1980 | browserslist: 4.18.1 1981 | postcss: 8.3.11 1982 | postcss-value-parser: 4.1.0 1983 | dev: true 1984 | 1985 | /postcss-normalize-url/5.0.3_postcss@8.3.11: 1986 | resolution: {integrity: sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==} 1987 | engines: {node: ^10 || ^12 || >=14.0} 1988 | peerDependencies: 1989 | postcss: ^8.2.15 1990 | dependencies: 1991 | is-absolute-url: 3.0.3 1992 | normalize-url: 6.1.0 1993 | postcss: 8.3.11 1994 | postcss-value-parser: 4.1.0 1995 | dev: true 1996 | 1997 | /postcss-normalize-whitespace/5.0.1_postcss@8.3.11: 1998 | resolution: {integrity: sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==} 1999 | engines: {node: ^10 || ^12 || >=14.0} 2000 | peerDependencies: 2001 | postcss: ^8.2.15 2002 | dependencies: 2003 | postcss: 8.3.11 2004 | postcss-value-parser: 4.1.0 2005 | dev: true 2006 | 2007 | /postcss-ordered-values/5.0.2_postcss@8.3.11: 2008 | resolution: {integrity: sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==} 2009 | engines: {node: ^10 || ^12 || >=14.0} 2010 | peerDependencies: 2011 | postcss: ^8.2.15 2012 | dependencies: 2013 | cssnano-utils: 2.0.1_postcss@8.3.11 2014 | postcss: 8.3.11 2015 | postcss-value-parser: 4.1.0 2016 | dev: true 2017 | 2018 | /postcss-reduce-initial/5.0.1_postcss@8.3.11: 2019 | resolution: {integrity: sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==} 2020 | engines: {node: ^10 || ^12 || >=14.0} 2021 | peerDependencies: 2022 | postcss: ^8.2.15 2023 | dependencies: 2024 | browserslist: 4.18.1 2025 | caniuse-api: 3.0.0 2026 | postcss: 8.3.11 2027 | dev: true 2028 | 2029 | /postcss-reduce-transforms/5.0.1_postcss@8.3.11: 2030 | resolution: {integrity: sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==} 2031 | engines: {node: ^10 || ^12 || >=14.0} 2032 | peerDependencies: 2033 | postcss: ^8.2.15 2034 | dependencies: 2035 | cssnano-utils: 2.0.1_postcss@8.3.11 2036 | postcss: 8.3.11 2037 | postcss-value-parser: 4.1.0 2038 | dev: true 2039 | 2040 | /postcss-selector-parser/6.0.6: 2041 | resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} 2042 | engines: {node: '>=4'} 2043 | dependencies: 2044 | cssesc: 3.0.0 2045 | util-deprecate: 1.0.2 2046 | dev: true 2047 | 2048 | /postcss-svgo/5.0.3_postcss@8.3.11: 2049 | resolution: {integrity: sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==} 2050 | engines: {node: ^10 || ^12 || >=14.0} 2051 | peerDependencies: 2052 | postcss: ^8.2.15 2053 | dependencies: 2054 | postcss: 8.3.11 2055 | postcss-value-parser: 4.1.0 2056 | svgo: 2.8.0 2057 | dev: true 2058 | 2059 | /postcss-unique-selectors/5.0.2_postcss@8.3.11: 2060 | resolution: {integrity: sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==} 2061 | engines: {node: ^10 || ^12 || >=14.0} 2062 | peerDependencies: 2063 | postcss: ^8.2.15 2064 | dependencies: 2065 | alphanum-sort: 1.0.2 2066 | postcss: 8.3.11 2067 | postcss-selector-parser: 6.0.6 2068 | dev: true 2069 | 2070 | /postcss-value-parser/3.3.1: 2071 | resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} 2072 | dev: true 2073 | 2074 | /postcss-value-parser/4.1.0: 2075 | resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} 2076 | dev: true 2077 | 2078 | /postcss/8.3.11: 2079 | resolution: {integrity: sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==} 2080 | engines: {node: ^10 || ^12 || >=14} 2081 | dependencies: 2082 | nanoid: 3.1.30 2083 | picocolors: 1.0.0 2084 | source-map-js: 0.6.2 2085 | dev: true 2086 | 2087 | /prelude-ls/1.2.1: 2088 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2089 | engines: {node: '>= 0.8.0'} 2090 | dev: true 2091 | 2092 | /prettier-plugin-svelte/2.5.0_prettier@2.4.1+svelte@3.44.1: 2093 | resolution: {integrity: sha512-+iHY2uGChOngrgKielJUnqo74gIL/EO5oeWm8MftFWjEi213lq9QYTOwm1pv4lI1nA61tdgf80CF2i5zMcu1kw==} 2094 | peerDependencies: 2095 | prettier: ^1.16.4 || ^2.0.0 2096 | svelte: ^3.2.0 2097 | dependencies: 2098 | prettier: 2.4.1 2099 | svelte: 3.44.1 2100 | dev: true 2101 | 2102 | /prettier/2.4.1: 2103 | resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} 2104 | engines: {node: '>=10.13.0'} 2105 | hasBin: true 2106 | dev: true 2107 | 2108 | /pretty-hrtime/1.0.3: 2109 | resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=} 2110 | engines: {node: '>= 0.8'} 2111 | dev: true 2112 | 2113 | /progress/2.0.3: 2114 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 2115 | engines: {node: '>=0.4.0'} 2116 | dev: true 2117 | 2118 | /punycode/2.1.1: 2119 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2120 | engines: {node: '>=6'} 2121 | dev: true 2122 | 2123 | /purgecss/4.0.3: 2124 | resolution: {integrity: sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==} 2125 | hasBin: true 2126 | dependencies: 2127 | commander: 6.2.1 2128 | glob: 7.2.0 2129 | postcss: 8.3.11 2130 | postcss-selector-parser: 6.0.6 2131 | dev: true 2132 | 2133 | /queue-microtask/1.2.3: 2134 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2135 | dev: true 2136 | 2137 | /quick-lru/5.1.1: 2138 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 2139 | engines: {node: '>=10'} 2140 | dev: true 2141 | 2142 | /readdirp/3.6.0: 2143 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2144 | engines: {node: '>=8.10.0'} 2145 | dependencies: 2146 | picomatch: 2.3.0 2147 | dev: true 2148 | 2149 | /reduce-css-calc/2.1.8: 2150 | resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} 2151 | dependencies: 2152 | css-unit-converter: 1.1.2 2153 | postcss-value-parser: 3.3.1 2154 | dev: true 2155 | 2156 | /regexpp/3.2.0: 2157 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2158 | engines: {node: '>=8'} 2159 | dev: true 2160 | 2161 | /require-from-string/2.0.2: 2162 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 2163 | engines: {node: '>=0.10.0'} 2164 | dev: true 2165 | 2166 | /require-relative/0.8.7: 2167 | resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} 2168 | dev: true 2169 | 2170 | /resolve-from/4.0.0: 2171 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2172 | engines: {node: '>=4'} 2173 | dev: true 2174 | 2175 | /resolve-from/5.0.0: 2176 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2177 | engines: {node: '>=8'} 2178 | dev: true 2179 | 2180 | /resolve/1.20.0: 2181 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} 2182 | dependencies: 2183 | is-core-module: 2.8.0 2184 | path-parse: 1.0.7 2185 | dev: true 2186 | 2187 | /reusify/1.0.4: 2188 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2189 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2190 | dev: true 2191 | 2192 | /rgb-regex/1.0.1: 2193 | resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} 2194 | dev: true 2195 | 2196 | /rgba-regex/1.0.0: 2197 | resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} 2198 | dev: true 2199 | 2200 | /rimraf/2.7.1: 2201 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 2202 | hasBin: true 2203 | dependencies: 2204 | glob: 7.2.0 2205 | dev: true 2206 | 2207 | /rimraf/3.0.2: 2208 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2209 | hasBin: true 2210 | dependencies: 2211 | glob: 7.2.0 2212 | dev: true 2213 | 2214 | /rollup/2.60.0: 2215 | resolution: {integrity: sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ==} 2216 | engines: {node: '>=10.0.0'} 2217 | hasBin: true 2218 | optionalDependencies: 2219 | fsevents: 2.3.2 2220 | dev: true 2221 | 2222 | /run-parallel/1.2.0: 2223 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2224 | dependencies: 2225 | queue-microtask: 1.2.3 2226 | dev: true 2227 | 2228 | /sade/1.7.4: 2229 | resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==} 2230 | engines: {node: '>= 6'} 2231 | dependencies: 2232 | mri: 1.2.0 2233 | dev: true 2234 | 2235 | /sander/0.5.1: 2236 | resolution: {integrity: sha1-dB4kXiMfB8r7b98PEzrfohalAq0=} 2237 | dependencies: 2238 | es6-promise: 3.3.1 2239 | graceful-fs: 4.2.8 2240 | mkdirp: 0.5.5 2241 | rimraf: 2.7.1 2242 | dev: true 2243 | 2244 | /semver/7.3.5: 2245 | resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} 2246 | engines: {node: '>=10'} 2247 | hasBin: true 2248 | dependencies: 2249 | lru-cache: 6.0.0 2250 | dev: true 2251 | 2252 | /shebang-command/2.0.0: 2253 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2254 | engines: {node: '>=8'} 2255 | dependencies: 2256 | shebang-regex: 3.0.0 2257 | dev: true 2258 | 2259 | /shebang-regex/3.0.0: 2260 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2261 | engines: {node: '>=8'} 2262 | dev: true 2263 | 2264 | /simple-svelte-autocomplete/2.2.4: 2265 | resolution: {integrity: sha512-a/1ceBoLl5UOrdyOhFL1mXA1o8P7tXO1wmHs4IBR1UeI4cCHEojOKnpMldfSrKNP3gxmqm/F+hohReoPnbFgeA==} 2266 | dev: false 2267 | 2268 | /simple-swizzle/0.2.2: 2269 | resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} 2270 | dependencies: 2271 | is-arrayish: 0.3.2 2272 | dev: true 2273 | 2274 | /slash/3.0.0: 2275 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2276 | engines: {node: '>=8'} 2277 | dev: true 2278 | 2279 | /slice-ansi/4.0.0: 2280 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2281 | engines: {node: '>=10'} 2282 | dependencies: 2283 | ansi-styles: 4.3.0 2284 | astral-regex: 2.0.0 2285 | is-fullwidth-code-point: 3.0.0 2286 | dev: true 2287 | 2288 | /sorcery/0.10.0: 2289 | resolution: {integrity: sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=} 2290 | hasBin: true 2291 | dependencies: 2292 | buffer-crc32: 0.2.13 2293 | minimist: 1.2.5 2294 | sander: 0.5.1 2295 | sourcemap-codec: 1.4.8 2296 | dev: true 2297 | 2298 | /source-map-js/0.6.2: 2299 | resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} 2300 | engines: {node: '>=0.10.0'} 2301 | dev: true 2302 | 2303 | /source-map/0.6.1: 2304 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2305 | engines: {node: '>=0.10.0'} 2306 | dev: true 2307 | 2308 | /source-map/0.7.3: 2309 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} 2310 | engines: {node: '>= 8'} 2311 | dev: true 2312 | 2313 | /sourcemap-codec/1.4.8: 2314 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2315 | dev: true 2316 | 2317 | /sprintf-js/1.0.3: 2318 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} 2319 | dev: true 2320 | 2321 | /stable/0.1.8: 2322 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} 2323 | dev: true 2324 | 2325 | /string-width/4.2.3: 2326 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2327 | engines: {node: '>=8'} 2328 | dependencies: 2329 | emoji-regex: 8.0.0 2330 | is-fullwidth-code-point: 3.0.0 2331 | strip-ansi: 6.0.1 2332 | dev: true 2333 | 2334 | /strip-ansi/6.0.1: 2335 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2336 | engines: {node: '>=8'} 2337 | dependencies: 2338 | ansi-regex: 5.0.1 2339 | dev: true 2340 | 2341 | /strip-indent/3.0.0: 2342 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 2343 | engines: {node: '>=8'} 2344 | dependencies: 2345 | min-indent: 1.0.1 2346 | dev: true 2347 | 2348 | /strip-json-comments/3.1.1: 2349 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2350 | engines: {node: '>=8'} 2351 | dev: true 2352 | 2353 | /stylehacks/5.0.1_postcss@8.3.11: 2354 | resolution: {integrity: sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==} 2355 | engines: {node: ^10 || ^12 || >=14.0} 2356 | peerDependencies: 2357 | postcss: ^8.2.15 2358 | dependencies: 2359 | browserslist: 4.18.1 2360 | postcss: 8.3.11 2361 | postcss-selector-parser: 6.0.6 2362 | dev: true 2363 | 2364 | /supports-color/5.5.0: 2365 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2366 | engines: {node: '>=4'} 2367 | dependencies: 2368 | has-flag: 3.0.0 2369 | dev: true 2370 | 2371 | /supports-color/7.2.0: 2372 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2373 | engines: {node: '>=8'} 2374 | dependencies: 2375 | has-flag: 4.0.0 2376 | dev: true 2377 | 2378 | /svelte-autocomplete/0.0.4: 2379 | resolution: {integrity: sha512-XM5Qe+9XO4MwQsjDSPfW7KQwoF9kz+tHalmU4NpSXEaxhnm1FhBaeCa2Gd893Gc1FMIonP5JHTSG3Uhvz9mT1Q==} 2380 | dev: false 2381 | 2382 | /svelte-check/2.2.10_postcss@8.3.11+svelte@3.44.1: 2383 | resolution: {integrity: sha512-UVLd/N7hUIG2v6dytofsw8MxYn2iS2hpNSglsGz9Z9b8ZfbJ5jayl4Mm1SXhNwiFs5aklG90zSBJtd7NTK8dTg==} 2384 | hasBin: true 2385 | peerDependencies: 2386 | svelte: ^3.24.0 2387 | dependencies: 2388 | chalk: 4.1.2 2389 | chokidar: 3.5.2 2390 | fast-glob: 3.2.7 2391 | import-fresh: 3.3.0 2392 | minimist: 1.2.5 2393 | sade: 1.7.4 2394 | source-map: 0.7.3 2395 | svelte: 3.44.1 2396 | svelte-preprocess: 4.9.8_a7621183bde426ded30bedcff7efa7fb 2397 | typescript: 4.5.2 2398 | transitivePeerDependencies: 2399 | - '@babel/core' 2400 | - coffeescript 2401 | - less 2402 | - node-sass 2403 | - postcss 2404 | - postcss-load-config 2405 | - pug 2406 | - sass 2407 | - stylus 2408 | - sugarss 2409 | dev: true 2410 | 2411 | /svelte-hmr/0.14.7_svelte@3.44.1: 2412 | resolution: {integrity: sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==} 2413 | peerDependencies: 2414 | svelte: '>=3.19.0' 2415 | dependencies: 2416 | svelte: 3.44.1 2417 | dev: true 2418 | 2419 | /svelte-preprocess/4.9.8_a7621183bde426ded30bedcff7efa7fb: 2420 | resolution: {integrity: sha512-EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==} 2421 | engines: {node: '>= 9.11.2'} 2422 | requiresBuild: true 2423 | peerDependencies: 2424 | '@babel/core': ^7.10.2 2425 | coffeescript: ^2.5.1 2426 | less: ^3.11.3 2427 | node-sass: '*' 2428 | postcss: ^7 || ^8 2429 | postcss-load-config: ^2.1.0 || ^3.0.0 2430 | pug: ^3.0.0 2431 | sass: ^1.26.8 2432 | stylus: ^0.54.7 2433 | sugarss: ^2.0.0 2434 | svelte: ^3.23.0 2435 | typescript: ^3.9.5 || ^4.0.0 2436 | peerDependenciesMeta: 2437 | '@babel/core': 2438 | optional: true 2439 | coffeescript: 2440 | optional: true 2441 | less: 2442 | optional: true 2443 | node-sass: 2444 | optional: true 2445 | postcss: 2446 | optional: true 2447 | postcss-load-config: 2448 | optional: true 2449 | pug: 2450 | optional: true 2451 | sass: 2452 | optional: true 2453 | stylus: 2454 | optional: true 2455 | sugarss: 2456 | optional: true 2457 | typescript: 2458 | optional: true 2459 | dependencies: 2460 | '@types/pug': 2.0.5 2461 | '@types/sass': 1.43.0 2462 | detect-indent: 6.1.0 2463 | magic-string: 0.25.7 2464 | postcss: 8.3.11 2465 | sorcery: 0.10.0 2466 | strip-indent: 3.0.0 2467 | svelte: 3.44.1 2468 | typescript: 4.5.2 2469 | dev: true 2470 | 2471 | /svelte/3.44.1: 2472 | resolution: {integrity: sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==} 2473 | engines: {node: '>= 8'} 2474 | dev: true 2475 | 2476 | /svgo/2.8.0: 2477 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} 2478 | engines: {node: '>=10.13.0'} 2479 | hasBin: true 2480 | dependencies: 2481 | '@trysound/sax': 0.2.0 2482 | commander: 7.2.0 2483 | css-select: 4.1.3 2484 | css-tree: 1.1.3 2485 | csso: 4.2.0 2486 | picocolors: 1.0.0 2487 | stable: 0.1.8 2488 | dev: true 2489 | 2490 | /table/6.7.3: 2491 | resolution: {integrity: sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==} 2492 | engines: {node: '>=10.0.0'} 2493 | dependencies: 2494 | ajv: 8.8.1 2495 | lodash.truncate: 4.4.2 2496 | slice-ansi: 4.0.0 2497 | string-width: 4.2.3 2498 | strip-ansi: 6.0.1 2499 | dev: true 2500 | 2501 | /tailwindcss/2.2.19_0c54bdadaf9d9c9c6c134cb2c6c061a3: 2502 | resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} 2503 | engines: {node: '>=12.13.0'} 2504 | hasBin: true 2505 | peerDependencies: 2506 | autoprefixer: ^10.0.2 2507 | postcss: ^8.0.9 2508 | dependencies: 2509 | arg: 5.0.1 2510 | autoprefixer: 10.4.0_postcss@8.3.11 2511 | bytes: 3.1.1 2512 | chalk: 4.1.2 2513 | chokidar: 3.5.2 2514 | color: 4.0.1 2515 | cosmiconfig: 7.0.1 2516 | detective: 5.2.0 2517 | didyoumean: 1.2.2 2518 | dlv: 1.1.3 2519 | fast-glob: 3.2.7 2520 | fs-extra: 10.0.0 2521 | glob-parent: 6.0.2 2522 | html-tags: 3.1.0 2523 | is-color-stop: 1.1.0 2524 | is-glob: 4.0.3 2525 | lodash: 4.17.21 2526 | lodash.topath: 4.5.2 2527 | modern-normalize: 1.1.0 2528 | node-emoji: 1.11.0 2529 | normalize-path: 3.0.0 2530 | object-hash: 2.2.0 2531 | postcss: 8.3.11 2532 | postcss-js: 3.0.3 2533 | postcss-load-config: 3.1.0 2534 | postcss-nested: 5.0.6_postcss@8.3.11 2535 | postcss-selector-parser: 6.0.6 2536 | postcss-value-parser: 4.1.0 2537 | pretty-hrtime: 1.0.3 2538 | purgecss: 4.0.3 2539 | quick-lru: 5.1.1 2540 | reduce-css-calc: 2.1.8 2541 | resolve: 1.20.0 2542 | tmp: 0.2.1 2543 | transitivePeerDependencies: 2544 | - ts-node 2545 | dev: true 2546 | 2547 | /text-table/0.2.0: 2548 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} 2549 | dev: true 2550 | 2551 | /timsort/0.3.0: 2552 | resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} 2553 | dev: true 2554 | 2555 | /tmp/0.2.1: 2556 | resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} 2557 | engines: {node: '>=8.17.0'} 2558 | dependencies: 2559 | rimraf: 3.0.2 2560 | dev: true 2561 | 2562 | /to-regex-range/5.0.1: 2563 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2564 | engines: {node: '>=8.0'} 2565 | dependencies: 2566 | is-number: 7.0.0 2567 | dev: true 2568 | 2569 | /tslib/1.14.1: 2570 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2571 | dev: true 2572 | 2573 | /tslib/2.3.1: 2574 | resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} 2575 | dev: true 2576 | 2577 | /tsutils/3.21.0_typescript@4.5.2: 2578 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2579 | engines: {node: '>= 6'} 2580 | peerDependencies: 2581 | 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' 2582 | dependencies: 2583 | tslib: 1.14.1 2584 | typescript: 4.5.2 2585 | dev: true 2586 | 2587 | /type-check/0.4.0: 2588 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2589 | engines: {node: '>= 0.8.0'} 2590 | dependencies: 2591 | prelude-ls: 1.2.1 2592 | dev: true 2593 | 2594 | /type-fest/0.20.2: 2595 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2596 | engines: {node: '>=10'} 2597 | dev: true 2598 | 2599 | /typescript/4.5.2: 2600 | resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==} 2601 | engines: {node: '>=4.2.0'} 2602 | hasBin: true 2603 | dev: true 2604 | 2605 | /universalify/2.0.0: 2606 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 2607 | engines: {node: '>= 10.0.0'} 2608 | dev: true 2609 | 2610 | /uri-js/4.4.1: 2611 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2612 | dependencies: 2613 | punycode: 2.1.1 2614 | dev: true 2615 | 2616 | /util-deprecate/1.0.2: 2617 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} 2618 | dev: true 2619 | 2620 | /v8-compile-cache/2.3.0: 2621 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 2622 | dev: true 2623 | 2624 | /vite/2.6.14: 2625 | resolution: {integrity: sha512-2HA9xGyi+EhY2MXo0+A2dRsqsAG3eFNEVIo12olkWhOmc8LfiM+eMdrXf+Ruje9gdXgvSqjLI9freec1RUM5EA==} 2626 | engines: {node: '>=12.2.0'} 2627 | hasBin: true 2628 | peerDependencies: 2629 | less: '*' 2630 | sass: '*' 2631 | stylus: '*' 2632 | peerDependenciesMeta: 2633 | less: 2634 | optional: true 2635 | sass: 2636 | optional: true 2637 | stylus: 2638 | optional: true 2639 | dependencies: 2640 | esbuild: 0.13.14 2641 | postcss: 8.3.11 2642 | resolve: 1.20.0 2643 | rollup: 2.60.0 2644 | optionalDependencies: 2645 | fsevents: 2.3.2 2646 | dev: true 2647 | 2648 | /which/2.0.2: 2649 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2650 | engines: {node: '>= 8'} 2651 | hasBin: true 2652 | dependencies: 2653 | isexe: 2.0.0 2654 | dev: true 2655 | 2656 | /word-wrap/1.2.3: 2657 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2658 | engines: {node: '>=0.10.0'} 2659 | dev: true 2660 | 2661 | /wrappy/1.0.2: 2662 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 2663 | dev: true 2664 | 2665 | /xtend/4.0.2: 2666 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2667 | engines: {node: '>=0.4'} 2668 | dev: true 2669 | 2670 | /yallist/4.0.0: 2671 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2672 | dev: true 2673 | 2674 | /yaml/1.10.2: 2675 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2676 | engines: {node: '>= 6'} 2677 | dev: true 2678 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const tailwindcss = require('tailwindcss'); 2 | const autoprefixer = require('autoprefixer'); 3 | const cssnano = require('cssnano'); 4 | 5 | const mode = process.env.NODE_ENV; 6 | const dev = mode === 'development'; 7 | 8 | const config = { 9 | plugins: [ 10 | tailwindcss(), 11 | autoprefixer(), 12 | !dev && 13 | cssnano({ 14 | preset: 'default' 15 | }) 16 | ] 17 | }; 18 | 19 | module.exports = config; -------------------------------------------------------------------------------- /src/app.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %svelte.head% 8 | 9 | 10 | 11 | 12 | 13 | 14 |
%svelte.body%
15 | 16 | 17 | -------------------------------------------------------------------------------- /src/components/Footer.svelte: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /src/components/Search.svelte: -------------------------------------------------------------------------------- 1 | 48 |
49 |
50 | 51 |
52 | 53 | {@html autocompleteScript} 54 |
55 | 118 | -------------------------------------------------------------------------------- /src/components/Status.svelte: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 |
13 |
    14 |
  • 15 | Edge icon 16 | Rendered on: { now.toLocaleString() } 17 |
  • 18 |
  • 19 | Edge icon 20 | Max age: { durationString } 21 |
  • 22 |
  • 23 | Edge icon 24 | Re-renders on : { expectedRerender.toLocaleString() } 25 |
  • 26 |
27 |
28 |
29 |
30 | -------------------------------------------------------------------------------- /src/components/WorkersLogo.svelte: -------------------------------------------------------------------------------- 1 | Cloudflare Workers logo (horizontal combination mark) -------------------------------------------------------------------------------- /src/global.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/lib/countryCodes.json: -------------------------------------------------------------------------------- 1 | { 2 | "AF": "Afghanistan", 3 | "AX": "Aland Islands", 4 | "AL": "Albania", 5 | "DZ": "Algeria", 6 | "AS": "American Samoa", 7 | "AD": "Andorra", 8 | "AO": "Angola", 9 | "AI": "Anguilla", 10 | "AQ": "Antarctica", 11 | "AG": "Antigua And Barbuda", 12 | "AR": "Argentina", 13 | "AM": "Armenia", 14 | "AW": "Aruba", 15 | "AU": "Australia", 16 | "AT": "Austria", 17 | "AZ": "Azerbaijan", 18 | "BS": "Bahamas", 19 | "BH": "Bahrain", 20 | "BD": "Bangladesh", 21 | "BB": "Barbados", 22 | "BY": "Belarus", 23 | "BE": "Belgium", 24 | "BZ": "Belize", 25 | "BJ": "Benin", 26 | "BM": "Bermuda", 27 | "BT": "Bhutan", 28 | "BO": "Bolivia", 29 | "BA": "Bosnia And Herzegovina", 30 | "BW": "Botswana", 31 | "BV": "Bouvet Island", 32 | "BR": "Brazil", 33 | "IO": "British Indian Ocean Territory", 34 | "BN": "Brunei Darussalam", 35 | "BG": "Bulgaria", 36 | "BF": "Burkina Faso", 37 | "BI": "Burundi", 38 | "KH": "Cambodia", 39 | "CM": "Cameroon", 40 | "CA": "Canada", 41 | "CV": "Cape Verde", 42 | "KY": "Cayman Islands", 43 | "CF": "Central African Republic", 44 | "TD": "Chad", 45 | "CL": "Chile", 46 | "CN": "China", 47 | "CX": "Christmas Island", 48 | "CC": "Cocos (Keeling) Islands", 49 | "CO": "Colombia", 50 | "KM": "Comoros", 51 | "CG": "Congo", 52 | "CD": "Congo, Democratic Republic", 53 | "CK": "Cook Islands", 54 | "CR": "Costa Rica", 55 | "CI": "Cote D\"Ivoire", 56 | "HR": "Croatia", 57 | "CU": "Cuba", 58 | "CY": "Cyprus", 59 | "CZ": "Czech Republic", 60 | "DK": "Denmark", 61 | "DJ": "Djibouti", 62 | "DM": "Dominica", 63 | "DO": "Dominican Republic", 64 | "EC": "Ecuador", 65 | "EG": "Egypt", 66 | "SV": "El Salvador", 67 | "GQ": "Equatorial Guinea", 68 | "ER": "Eritrea", 69 | "EE": "Estonia", 70 | "ET": "Ethiopia", 71 | "FK": "Falkland Islands (Malvinas)", 72 | "FO": "Faroe Islands", 73 | "FJ": "Fiji", 74 | "FI": "Finland", 75 | "FR": "France", 76 | "GF": "French Guiana", 77 | "PF": "French Polynesia", 78 | "TF": "French Southern Territories", 79 | "GA": "Gabon", 80 | "GM": "Gambia", 81 | "GE": "Georgia", 82 | "DE": "Germany", 83 | "GH": "Ghana", 84 | "GI": "Gibraltar", 85 | "GR": "Greece", 86 | "GL": "Greenland", 87 | "GD": "Grenada", 88 | "GP": "Guadeloupe", 89 | "GU": "Guam", 90 | "GT": "Guatemala", 91 | "GG": "Guernsey", 92 | "GN": "Guinea", 93 | "GW": "Guinea-Bissau", 94 | "GY": "Guyana", 95 | "HT": "Haiti", 96 | "HM": "Heard Island & Mcdonald Islands", 97 | "VA": "Holy See (Vatican City State)", 98 | "HN": "Honduras", 99 | "HK": "Hong Kong", 100 | "HU": "Hungary", 101 | "IS": "Iceland", 102 | "IN": "India", 103 | "ID": "Indonesia", 104 | "IR": "Iran, Islamic Republic Of", 105 | "IQ": "Iraq", 106 | "IE": "Ireland", 107 | "IM": "Isle Of Man", 108 | "IL": "Israel", 109 | "IT": "Italy", 110 | "JM": "Jamaica", 111 | "JP": "Japan", 112 | "JE": "Jersey", 113 | "JO": "Jordan", 114 | "KZ": "Kazakhstan", 115 | "KE": "Kenya", 116 | "KI": "Kiribati", 117 | "KR": "Korea", 118 | "KP": "North Korea", 119 | "KW": "Kuwait", 120 | "KG": "Kyrgyzstan", 121 | "LA": "Lao People\"s Democratic Republic", 122 | "LV": "Latvia", 123 | "LB": "Lebanon", 124 | "LS": "Lesotho", 125 | "LR": "Liberia", 126 | "LY": "Libyan Arab Jamahiriya", 127 | "LI": "Liechtenstein", 128 | "LT": "Lithuania", 129 | "LU": "Luxembourg", 130 | "MO": "Macao", 131 | "MK": "Macedonia", 132 | "MG": "Madagascar", 133 | "MW": "Malawi", 134 | "MY": "Malaysia", 135 | "MV": "Maldives", 136 | "ML": "Mali", 137 | "MT": "Malta", 138 | "MH": "Marshall Islands", 139 | "MQ": "Martinique", 140 | "MR": "Mauritania", 141 | "MU": "Mauritius", 142 | "YT": "Mayotte", 143 | "MX": "Mexico", 144 | "FM": "Micronesia, Federated States Of", 145 | "MD": "Moldova", 146 | "MC": "Monaco", 147 | "MN": "Mongolia", 148 | "ME": "Montenegro", 149 | "MS": "Montserrat", 150 | "MA": "Morocco", 151 | "MZ": "Mozambique", 152 | "MM": "Myanmar", 153 | "NA": "Namibia", 154 | "NR": "Nauru", 155 | "NP": "Nepal", 156 | "NL": "Netherlands", 157 | "AN": "Netherlands Antilles", 158 | "NC": "New Caledonia", 159 | "NZ": "New Zealand", 160 | "NI": "Nicaragua", 161 | "NE": "Niger", 162 | "NG": "Nigeria", 163 | "NU": "Niue", 164 | "NF": "Norfolk Island", 165 | "MP": "Northern Mariana Islands", 166 | "NO": "Norway", 167 | "OM": "Oman", 168 | "PK": "Pakistan", 169 | "PW": "Palau", 170 | "PS": "Palestinian Territory, Occupied", 171 | "PA": "Panama", 172 | "PG": "Papua New Guinea", 173 | "PY": "Paraguay", 174 | "PE": "Peru", 175 | "PH": "Philippines", 176 | "PN": "Pitcairn", 177 | "PL": "Poland", 178 | "PT": "Portugal", 179 | "PR": "Puerto Rico", 180 | "QA": "Qatar", 181 | "RE": "Reunion", 182 | "RO": "Romania", 183 | "RU": "Russian Federation", 184 | "RW": "Rwanda", 185 | "BL": "Saint Barthelemy", 186 | "SH": "Saint Helena", 187 | "KN": "Saint Kitts And Nevis", 188 | "LC": "Saint Lucia", 189 | "MF": "Saint Martin", 190 | "PM": "Saint Pierre And Miquelon", 191 | "VC": "Saint Vincent And Grenadines", 192 | "WS": "Samoa", 193 | "SM": "San Marino", 194 | "ST": "Sao Tome And Principe", 195 | "SA": "Saudi Arabia", 196 | "SN": "Senegal", 197 | "RS": "Serbia", 198 | "SC": "Seychelles", 199 | "SL": "Sierra Leone", 200 | "SG": "Singapore", 201 | "SK": "Slovakia", 202 | "SI": "Slovenia", 203 | "SB": "Solomon Islands", 204 | "SO": "Somalia", 205 | "ZA": "South Africa", 206 | "GS": "South Georgia And Sandwich Isl.", 207 | "ES": "Spain", 208 | "LK": "Sri Lanka", 209 | "SD": "Sudan", 210 | "SR": "Suriname", 211 | "SJ": "Svalbard And Jan Mayen", 212 | "SZ": "Swaziland", 213 | "SE": "Sweden", 214 | "CH": "Switzerland", 215 | "SY": "Syrian Arab Republic", 216 | "TW": "Taiwan", 217 | "TJ": "Tajikistan", 218 | "TZ": "Tanzania", 219 | "TH": "Thailand", 220 | "TL": "Timor-Leste", 221 | "TG": "Togo", 222 | "TK": "Tokelau", 223 | "TO": "Tonga", 224 | "TT": "Trinidad And Tobago", 225 | "TN": "Tunisia", 226 | "TR": "Turkey", 227 | "TM": "Turkmenistan", 228 | "TC": "Turks And Caicos Islands", 229 | "TV": "Tuvalu", 230 | "UG": "Uganda", 231 | "UA": "Ukraine", 232 | "AE": "United Arab Emirates", 233 | "GB": "United Kingdom", 234 | "US": "United States", 235 | "UM": "United States Outlying Islands", 236 | "UY": "Uruguay", 237 | "UZ": "Uzbekistan", 238 | "VU": "Vanuatu", 239 | "VE": "Venezuela", 240 | "VN": "Vietnam", 241 | "VG": "Virgin Islands, British", 242 | "VI": "Virgin Islands, U.S.", 243 | "WF": "Wallis And Futuna", 244 | "EH": "Western Sahara", 245 | "YE": "Yemen", 246 | "ZM": "Zambia", 247 | "ZW": "Zimbabwe" 248 | } -------------------------------------------------------------------------------- /src/routes/__layout.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |
7 |
8 | 9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /src/routes/countries/[countryCode].svelte: -------------------------------------------------------------------------------- 1 | 36 | 54 | 55 | 56 |
57 |
58 | Back 59 |
60 |

COVID19 stats for {countryName}

61 |

As of { date }

62 | 63 |
64 |

{ date }

65 |
66 |
67 | Corona virus icon 68 |
69 |

70 | { formatNumber(data.confirmed_daily)} 71 |

72 |

today's cases

73 |
74 |
75 |
76 | Death icon 77 |
78 |

{data.deaths_daily}

79 |

today's deaths

80 |
81 |
82 |
83 |
84 | 85 |
86 |

Total

87 |
88 |
89 | Corona virus icon 90 |
91 |

92 | { formatNumber(data.confirmed)} 93 |

94 |

total cases

95 |
96 |
97 |
98 | Death icon 99 |
100 |

101 | { formatNumber(data.deaths)} 102 |

103 |

total deaths

104 |
105 |
106 |
107 |
108 | 109 |
110 | -------------------------------------------------------------------------------- /src/routes/index.svelte: -------------------------------------------------------------------------------- 1 | 17 | 25 | 26 | 27 |
28 |
29 |

30 | Incremental Static Regeneration 31 | on 32 |

33 |
34 |
35 | SvelteKit logo 36 |
37 |
38 | + 39 |
40 |
41 | 42 |
43 |
44 |
45 | 46 |
47 |
48 |

This is a small Covid19 Tracker demo that implements Incremental Static Regeneration on SvelteKit and Cloudflare Workers.

49 |

For an in-depth explanation, see my blog post.

50 |
51 |
52 |
-------------------------------------------------------------------------------- /static/cf.svg: -------------------------------------------------------------------------------- 1 | Cloudflare Workers logo (horizontal combination mark) -------------------------------------------------------------------------------- /static/corona.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/corona.png -------------------------------------------------------------------------------- /static/death.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/death.png -------------------------------------------------------------------------------- /static/duration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/duration.png -------------------------------------------------------------------------------- /static/edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/edge.png -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/favicon.png -------------------------------------------------------------------------------- /static/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/refresh.png -------------------------------------------------------------------------------- /static/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reegodev/sveltekit-isr-cloudflare-workers/8c9b48c793f8d14d1f0ab3a18fae87723b339486/static/search.png -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import preprocess from 'svelte-preprocess'; 2 | import adapter from './adapter/index.js' 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://github.com/sveltejs/svelte-preprocess 7 | // for more information about preprocessors 8 | preprocess: preprocess({ 9 | postcss: true 10 | }), 11 | 12 | kit: { 13 | target: '#svelte', 14 | adapter: adapter(), 15 | // Disable router to force each page to render on the edge 16 | router: false, 17 | hydrate: false, 18 | } 19 | }; 20 | 21 | export default config; 22 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | const colors = require('tailwindcss/colors') 2 | 3 | module.exports = { 4 | mode: 'jit', 5 | purge: [ 6 | "./src/**/*.svelte", 7 | "./src/**/*.html" 8 | ], 9 | darkMode: false, // or 'media' or 'class' 10 | theme: { 11 | colors: { 12 | transparent: 'transparent', 13 | current: 'currentColor', 14 | ...colors, 15 | primary: '#ff3e00', 16 | }, 17 | extend: { 18 | fontFamily: { 19 | sans: ['Source Sans Pro'], 20 | }, 21 | minWidth: { 22 | 150: '700px', 23 | }, 24 | } 25 | }, 26 | variants: { 27 | extend: {}, 28 | }, 29 | plugins: [], 30 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "moduleResolution": "node", 4 | "module": "es2020", 5 | "lib": ["es2020", "DOM"], 6 | "target": "es2020", 7 | /** 8 | svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript 9 | to enforce using \`import type\` instead of \`import\` for Types. 10 | */ 11 | "importsNotUsedAsValues": "error", 12 | "isolatedModules": true, 13 | "resolveJsonModule": true, 14 | /** 15 | To have warnings/errors of the Svelte compiler at the correct position, 16 | enable source maps by default. 17 | */ 18 | "sourceMap": true, 19 | "esModuleInterop": true, 20 | "skipLibCheck": true, 21 | "forceConsistentCasingInFileNames": true, 22 | "baseUrl": ".", 23 | "allowJs": true, 24 | "checkJs": true, 25 | "paths": { 26 | "$lib": ["src/lib"], 27 | "$lib/*": ["src/lib/*"] 28 | } 29 | }, 30 | "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"] 31 | } 32 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "sveltekit-isr" 2 | type = "webpack" 3 | route = '' 4 | account_id = 'ef45b1613c0cfae953f710bcf4fc1363' 5 | zone_id = '' 6 | usage_model = '' 7 | compatibility_flags = [] 8 | workers_dev = true 9 | site = {bucket = "./build",entry-point = "./workers-site"} 10 | compatibility_date = "2021-10-31" 11 | --------------------------------------------------------------------------------