From c38d70c1752234bfc041c7fd5d762eec83cfbb9b Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Thu, 2 Nov 2023 23:55:13 +0200 Subject: First commit --- .gitignore | 94 +++ README.md | 31 + index.html | 14 + index.ts | 89 +++ package.json | 29 + pnpm-lock.yaml | 1987 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 2244 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 index.html create mode 100644 index.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eabe0a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,94 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# parcel +.parcel-cache + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# IDEs and editors +.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +.sass-cache +connect.lock +typings + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + + +# Dependency directories +node_modules/ +jspm_packages/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +# Lerna +lerna-debug.log + +# System Files +.DS_Store +Thumbs.db diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d17030 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +## Reddit Hot News Sample + +This is a sample that show you how to manipulate blocks :) + +### Demo + +![demo](./demo.gif) + +### API + +[![npm version](https://badge.fury.io/js/%40logseq%2Flibs.svg)](https://badge.fury.io/js/%40logseq%2Flibs) + +##### [Logseq.Editor](https://logseq.github.io/plugins/interfaces/ieditorproxy.html) + +- `insertBlock: ( + srcBlock: BlockIdentity, content: string, opts?: Partial<{ before: boolean; sibling: boolean; properties: {} }> + ) => Promise` +- `insertBatchBlock: ( + srcBlock: BlockIdentity, batch: IBatchBlock | Array, opts?: Partial<{ before: boolean, sibling: boolean }> + ) => Promise | null>` +- `updateBlock: ( + srcBlock: BlockIdentity, content: string, opts?: Partial<{ properties: {} }> + ) => Promise` +- `removeBlock: ( + srcBlock: BlockIdentity + )` + +### Running the Sample + +- `npm install && npm run build` in terminal to install dependencies. +- `Load unpacked plugin` in Logseq Desktop client. diff --git a/index.html b/index.html new file mode 100644 index 0000000..465c3f0 --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + r/logseq + + +
+ + + diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..a6ec1b1 --- /dev/null +++ b/index.ts @@ -0,0 +1,89 @@ +import '@logseq/libs' +import { LSPluginBaseInfo } from '@logseq/libs/dist/libs' + +const delay = (t = 100) => new Promise(r => setTimeout(r, t)) + +async function loadRedditData () { + const endpoint = 'https://www.reddit.com/r/logseq/hot.json' + + const { data: { children } } = await fetch(endpoint).then(res => res.json()) + const ret = children || [] + + return ret.map(({ data }, i) => { + const { title, selftext, url, ups, downs, num_comments } = data + + return `${i}. [${title}](${url}) [:small.opacity-50 "🔥 ${ups} 💬 ${num_comments}"] +collapsed:: true +> ${selftext}` + }) +} + +/** + * main entry + * @param baseInfo + */ +function main (baseInfo: LSPluginBaseInfo) { + let loading = false + + logseq.provideModel({ + async loadReddits () { + + const info = await logseq.App.getUserConfigs() + if (loading) return + + const pageName = 'reddit-logseq-hots-news' + const blockTitle = (new Date()).toLocaleString() + + logseq.App.pushState('page', { name: pageName }) + + await delay(300) + + loading = true + + try { + const currentPage = await logseq.Editor.getCurrentPage() + if (currentPage?.originalName !== pageName) throw new Error('page error') + + const pageBlocksTree = await logseq.Editor.getCurrentPageBlocksTree() + let targetBlock = pageBlocksTree[0]! + + targetBlock = await logseq.Editor.insertBlock(targetBlock.uuid, '🚀 Fetching r/logseq ...', { before: true }) + + let blocks = await loadRedditData() + + blocks = blocks.map(it => ({ content: it })) + + await logseq.Editor.insertBatchBlock(targetBlock.uuid, blocks, { + sibling: false + }) + + await logseq.Editor.updateBlock(targetBlock.uuid, `## 🔖 r/logseq - ${blockTitle}`) + } catch (e) { + logseq.App.showMsg(e.toString(), 'warning') + console.error(e) + } finally { + loading = false + } + } + }) + + logseq.App.registerUIItem('toolbar', { + key: 'logseq-reddit', + template: ` + + + + ` + }) + + logseq.provideStyle(` + [data-injected-ui=logseq-reddit-${baseInfo.id}] { + display: flex; + align-items: center; + } + `) +} + +// bootstrap +logseq.ready(main).catch(console.error) diff --git a/package.json b/package.json new file mode 100644 index 0000000..84be998 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "ollama-logseq", + "version": "0.0.1", + "description": "Integrate ollama with logseq and utilizing local LLMs", + "main": "dist/index.html", + "targets": { + "main": false + }, + "default": "dist/index.html", + "repository": { + "type": "git", + "url": "https://github.com/omagdy7/ollama-logseq" + }, + "author": "Logseq", + "scripts": { + "dev": "parcel ./index.html --public-url ./", + "build": "parcel build --public-url . --no-source-maps index.html" + }, + "license": "MIT", + "logseq": { + "id": "_rw0rys037" + }, + "dependencies": { + "@logseq/libs": "^0.0.1-alpha.22" + }, + "devDependencies": { + "parcel": "^2.0.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..2f0eb3c --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1987 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@logseq/libs': + specifier: ^0.0.1-alpha.22 + version: 0.0.1-alpha.35 + +devDependencies: + parcel: + specifier: ^2.0.0 + version: 2.10.2 + +packages: + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@lezer/common@1.1.0: + resolution: {integrity: sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw==} + dev: true + + /@lezer/lr@1.3.14: + resolution: {integrity: sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==} + dependencies: + '@lezer/common': 1.1.0 + dev: true + + /@lmdb/lmdb-darwin-arm64@2.8.5: + resolution: {integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-darwin-x64@2.8.5: + resolution: {integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm64@2.8.5: + resolution: {integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm@2.8.5: + resolution: {integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-x64@2.8.5: + resolution: {integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-win32-x64@2.8.5: + resolution: {integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@logseq/libs@0.0.1-alpha.35: + resolution: {integrity: sha512-KikcqgolrTFqlEWoiprAdRsz9kwUX3XwcjzWa9usBGLwgGCpq6E/1UvvhQweJJAXAGDUVUHIzdJ6Cm6pvuOBWQ==} + dependencies: + csstype: 3.0.8 + debug: 4.3.1 + dompurify: 2.3.1 + eventemitter3: 4.0.7 + fast-deep-equal: 3.1.3 + lodash-es: 4.17.21 + path: 0.12.7 + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@mischnic/json-sourcemap@0.1.1: + resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==} + engines: {node: '>=12.0.0'} + dependencies: + '@lezer/common': 1.1.0 + '@lezer/lr': 1.3.14 + json5: 2.2.3 + dev: true + + /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2: + resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2: + resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2: + resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2: + resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2: + resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2: + resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/bundler-default@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-XlVGsScK5PgIFXNJ0Yx/+nHu1RFCuslCbrb8MIs0yqS790yzvyJF2QHX5WAr7Qc5powij/+2tfBHiViauWwVpA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/graph': 3.0.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/cache@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-B69e5n+bBzYoaJdUOviYeUT7N1iXI3IC5G8dAxKNZ9Zgn+pjZ5BwltbfmP47+NTfQ7LqM8Ea4UJxysQsLdwb+Q==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/fs': 2.10.2(@parcel/core@2.10.2) + '@parcel/logger': 2.10.2 + '@parcel/utils': 2.10.2 + lmdb: 2.8.5 + dev: true + + /@parcel/codeframe@2.10.2: + resolution: {integrity: sha512-EZrYSIlVg4qiBLHRRqC/BGN2MLG0SKnw4u7kpviwz63I+v36ghqmHGOomwfn4x13nDL+EgOFz4/+Q7QpbMTKug==} + engines: {node: '>= 12.0.0'} + dependencies: + chalk: 4.1.2 + dev: true + + /@parcel/compressor-raw@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-zIbtmL7vGfWkvBwD29zVdDosFR1eKHa29SpPOQXYLmDO0EVdwzYcTQq2OrlZM07o759QUqwXJfuAYxwcBNRTYg==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/config-default@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-BGn7G5MT6VXpnI5Rj8fzHT1ij0YElge3l2KVGSOJ5crho2Fmz7UKmm8kJ9kdcLrzHWOIH07T100YoQuAwKVQaA==} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/bundler-default': 2.10.2(@parcel/core@2.10.2) + '@parcel/compressor-raw': 2.10.2(@parcel/core@2.10.2) + '@parcel/core': 2.10.2 + '@parcel/namer-default': 2.10.2(@parcel/core@2.10.2) + '@parcel/optimizer-css': 2.10.2(@parcel/core@2.10.2) + '@parcel/optimizer-htmlnano': 2.10.2(@parcel/core@2.10.2) + '@parcel/optimizer-image': 2.10.2(@parcel/core@2.10.2) + '@parcel/optimizer-svgo': 2.10.2(@parcel/core@2.10.2) + '@parcel/optimizer-swc': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-css': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-html': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-js': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-raw': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-svg': 2.10.2(@parcel/core@2.10.2) + '@parcel/packager-wasm': 2.10.2(@parcel/core@2.10.2) + '@parcel/reporter-dev-server': 2.10.2(@parcel/core@2.10.2) + '@parcel/resolver-default': 2.10.2(@parcel/core@2.10.2) + '@parcel/runtime-browser-hmr': 2.10.2(@parcel/core@2.10.2) + '@parcel/runtime-js': 2.10.2(@parcel/core@2.10.2) + '@parcel/runtime-react-refresh': 2.10.2(@parcel/core@2.10.2) + '@parcel/runtime-service-worker': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-babel': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-css': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-html': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-image': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-js': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-json': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-postcss': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-posthtml': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-raw': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-react-refresh-wrap': 2.10.2(@parcel/core@2.10.2) + '@parcel/transformer-svg': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@swc/helpers' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - typescript + - uncss + dev: true + + /@parcel/core@2.10.2: + resolution: {integrity: sha512-c6hh13oYk9w5creiQ9yCz9GLQ17ZRMonULhJ46J0yoFArynVhNTJ9B5xVst7rS/chOTY8jU0jSdJuxQCR4fjkg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/cache': 2.10.2(@parcel/core@2.10.2) + '@parcel/diagnostic': 2.10.2 + '@parcel/events': 2.10.2 + '@parcel/fs': 2.10.2(@parcel/core@2.10.2) + '@parcel/graph': 3.0.2 + '@parcel/logger': 2.10.2 + '@parcel/package-manager': 2.10.2(@parcel/core@2.10.2) + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/profiler': 2.10.2 + '@parcel/rust': 2.10.2 + '@parcel/source-map': 2.1.1 + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + abortcontroller-polyfill: 1.7.5 + base-x: 3.0.9 + browserslist: 4.22.1 + clone: 2.1.2 + dotenv: 7.0.0 + dotenv-expand: 5.1.0 + json5: 2.2.3 + msgpackr: 1.9.9 + nullthrows: 1.1.1 + semver: 7.5.4 + dev: true + + /@parcel/diagnostic@2.10.2: + resolution: {integrity: sha512-FwtphyiV/TJEiYIRYXBOloXp7XhTW37ifRSLr7RdLbDVyn/P9q/7l0+ORlnOL+WuKwbDQtY+dXYLh/ijTsq7qQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + nullthrows: 1.1.1 + dev: true + + /@parcel/events@2.10.2: + resolution: {integrity: sha512-Dp8Oqh5UvSuIASfiHP8jrEtdtzzmTKiOG/RkSL3mtp2tK3mu6dZLJZbcdJXrvBTg7smtRiznkrIOJCawALC7AQ==} + engines: {node: '>= 12.0.0'} + dev: true + + /@parcel/fs@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-80SXdFGDJtil9tTbWrYiZRfQ5ehMAT/dq6eY4EYcFg+MvSiwBL/4GfYMfqXn6AamuSVeQlsFCPpunFLNl9YDDA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/rust': 2.10.2 + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + '@parcel/watcher': 2.3.0 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + dev: true + + /@parcel/graph@3.0.2: + resolution: {integrity: sha512-cPxCN3+QF+5l4BJ0wnLeb3DPJarWQoD3W984CfuEYy/8Zgo2oayd31soZzkevyTYtp7H4tJKo+I79i2TJdNq5Q==} + engines: {node: '>= 12.0.0'} + dependencies: + nullthrows: 1.1.1 + dev: true + + /@parcel/logger@2.10.2: + resolution: {integrity: sha512-5lufBuBnXDs3hjAaptmeEAxpH0eHe0+2hJvlVv5lE/RwHR7vDjh+FDwzPfCLWNM3TQhPQdZPdHcDsuA539GHcw==} + engines: {node: '>= 12.0.0'} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/events': 2.10.2 + dev: true + + /@parcel/markdown-ansi@2.10.2: + resolution: {integrity: sha512-uZrysHjJ+0vbQNK2bhKy8yoVso8KnoW6O/SW8MiGQ4lpDJdqHShkW08wZUKr4sjl7h/WVFdNsDdgvi2/ANwoRQ==} + engines: {node: '>= 12.0.0'} + dependencies: + chalk: 4.1.2 + dev: true + + /@parcel/namer-default@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-wjn3MCus0w9IOjCtQsp5fgb8hgITyxMr0OPF9cBVAhVJI1X9vvd4RurHuLJ3MjvlCqrP1en09yg3ME7VO1kPuA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/node-resolver-core@3.1.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-xvIBgYBRQGmCkfwK/yxVSDtPEvWDVH9poQcGpKHT1jqstYju5crXro0acni5nYF0hWZu7Kttrp9G9fXJQWBksw==} + engines: {node: '>= 12.0.0'} + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/diagnostic': 2.10.2 + '@parcel/fs': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/optimizer-css@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-05H/Ng90TErSFZkNaUwi7gNCf2gLWi3/w07oIzHu1wjRjjKjZidqaQqZtHTEYoO9ffmhK14Xwh9q4IpOTa0sbQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + browserslist: 4.22.1 + lightningcss: 1.22.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/optimizer-htmlnano@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-9Sg2xLsfX7CPLd1AO3uVa/Kh9EROKVNHMnmNxlzmO2+LEOU/M1OHalvt4bhC7I+cNFPLN5BePdBv3QMYpO0yyA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + htmlnano: 2.1.0(svgo@2.8.0) + nullthrows: 1.1.1 + posthtml: 0.16.6 + svgo: 2.8.0 + transitivePeerDependencies: + - '@parcel/core' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - typescript + - uncss + dev: true + + /@parcel/optimizer-image@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-X8q7mvWJEIXsEMYHYKbwIRUJvI0W41YWCEW7Ohmn0SSi+KuiO8BW5JEPKs7HboO9bX+i6Yxa/T1h9HgRXhdUug==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/utils': 2.10.2 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + dev: true + + /@parcel/optimizer-svgo@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-Ws+xd6nbetMCZHmRj54tIF8wYuu/JwkEvn5BotLE69l3naf2ELtsQ+PHg9G5jUa+PnSNMHhykIhBOqjxhTeq/w==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + svgo: 2.8.0 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/optimizer-swc@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-/4yMgMgLvF4yCHh0QnZlTUTpKobuFK/lNhB1i5yrtiipRaYcS+OgtakB83grfK+x1KwTbYjzXZBILwqu6GKJDQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + '@swc/core': 1.3.95 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - '@swc/helpers' + dev: true + + /@parcel/package-manager@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-c91YYsIxjX3YhMvtPT7v2MpDOn/Qyw13bi1+0Ftd2JNjUZPlm8+xKizlmgvdi75dgs7dGIUVpvrGLU9LoKthCA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/diagnostic': 2.10.2 + '@parcel/fs': 2.10.2(@parcel/core@2.10.2) + '@parcel/logger': 2.10.2 + '@parcel/node-resolver-core': 3.1.2(@parcel/core@2.10.2) + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + semver: 7.5.4 + dev: true + + /@parcel/packager-css@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-+X4dV7mBdOhXSHeg5gAkk0Qju6A1oezYIancqDC17zoFzbHUfD13nHNDOXrEfMNFVWy93lB8vLJwchH54MDMwQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/packager-html@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-GonfLzuzEkelJde89sq9P9LowLJrFNkuEt33nRokc1Q5TPNOWfTYb6difjuVIMr/j0c4nWlOzUrkGJsyo++F7w==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + posthtml: 0.16.6 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/packager-js@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-SgKJqIvMt+UJM0x3F21yBVsgdHbTnOnBrNJ7VoY3nujQX5fa+pxTf0emWuX1vSUDbBaJOmO/pC9rKwWP5enqfQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/source-map': 2.1.1 + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + globals: 13.23.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/packager-raw@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-+/O2DeMIB9d+1+zCPOkaf2aTl2rN5TFod/UcMzG/HGFlDVqhkV9xgfwV4rV+Vso5TlyHA4p53BFgvGWQBQJAQw==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/packager-svg@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-eQx3VJpuuDcen+DcLxlPn95txlnbpEH8TES+Ezym/LFyD8oQQfok/VFHy/iGoG4r1CtH0/c7lFUJE8+LZdwYmQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + posthtml: 0.16.6 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/packager-wasm@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-Y/UyyOePb3WmWy2WtmXn4QLLrb7wjWL/ZhVgvhFiQft4lCbdGBGz1BiKEzhFkkN2IGdX06XZolmKCQieAM6zlQ==} + engines: {node: '>=12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/plugin@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-1u+GJhuqqlYjMAQLBbMExfFCbsbtuSAm6wXmMmTse5cBpFqxgsMumMeztAhcTy0oMnMhbZg2AKZV0XVSMrIgng==} + engines: {node: '>= 12.0.0'} + dependencies: + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/profiler@2.10.2: + resolution: {integrity: sha512-YQugGhf12u83O0RJLWbhkPV772nePPxNZjvFJmV++7buPUpgJW2m1lVOrut/s/8ZZIPqcxJe8dyxSSOtvdG7OQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/events': 2.10.2 + chrome-trace-event: 1.0.3 + dev: true + + /@parcel/reporter-cli@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-6/cLuiGfMh1ny8ULNOXJkugIvJRVo4tV4XA3vJXH96SYqFSfiWxtHqb6MAVndBy8MezEAv0EsLqc7yR7ygdZJw==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + chalk: 4.1.2 + term-size: 2.2.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/reporter-dev-server@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-mLEcZFPpw0ixlvbT846NwmPEVv1ej7H5dwCQ3r1Ca1nQjyXkmQMM06rdb5M+/gk12WVEDOuienWqBL44Xsz3NA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/reporter-tracer@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-oreu3vIdN5u9ONSNhqypcK3nR91NoreR4B4vwD/1Rqod1ud2Vb9awJZv7QIrkdnEMmGcr5DQ/R872s7XYWeZnA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + chrome-trace-event: 1.0.3 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/resolver-default@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-ENEq8f4wRQlU7p3tCelXWK6xIsL+57q9hQ+b4eRJOEctjfN1/BguxZDh+P+fIlJ1lkqiX4UB/PUkK97uSI5XTQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/node-resolver-core': 3.1.2(@parcel/core@2.10.2) + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/runtime-browser-hmr@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-ABlCzDYI16lAZLTTL2g3JZasU/dWuSzRGK5paC6JhIJJwQwPeTwu4PaUoEPKeyk0iE9PzVuXjkBbGuSLXQFmmA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/runtime-js@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-a6TaMVg1Xgy+WJJ0a3sC/Taw5hkN4hmLnz00jg7G6LwoGbBpvjJn8pm4eovkMFJz13RCjmS9q0K+qZnvXh1WYA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/runtime-react-refresh@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-9xW3g4FH9iizHWscHD2yEWJOCfYkIYMbWsZoj0EOMILqrRd1OZxHH8FbLYBQKT6swRbZI2mM19veVVBBfxco/Q==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + react-error-overlay: 6.0.9 + react-refresh: 0.9.0 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/runtime-service-worker@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-XY1GrY4r+zu0b/pZiTflZHdk9+I3XoxpExgPcZzep5hnq2UdyXbS4yDhmen7pTcqay5U9NmRw/62YrKL+yPang==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/rust@2.10.2: + resolution: {integrity: sha512-v/Cyf3iXlzSc6vgvPiEZzqdKAZ1jJ/aZX7y1YSupDh3RoqJI2bZ93kAOyEi+S7P3kshJkQM0px3YveJFOAMUOA==} + engines: {node: '>= 12.0.0'} + dev: true + + /@parcel/source-map@2.1.1: + resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} + engines: {node: ^12.18.3 || >=14} + dependencies: + detect-libc: 1.0.3 + dev: true + + /@parcel/transformer-babel@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-lmuksSzEBdPL1nVTznsQi5hQ+4mJ7GP+jvOv/Tvx3MjnzIu1G6Fs5MvNpAwBRXmG/F1+0aw/Wa8J38HYfN05dA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + browserslist: 4.22.1 + json5: 2.2.3 + nullthrows: 1.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-css@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-WxKe1YherQrX0vEfxAsBALEIsztGStmfXF0GAMeynE4q/w1iHQdTzu29tqLrJY7x532Ric8TxnwO8zR0r89DJg==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + browserslist: 4.22.1 + lightningcss: 1.22.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-html@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-Zkg1HHdYp14ecdtNF+s4d/e1lr8/PAQgBTYhyEVLVC1N7uivjjZ9XClxZlHuZImbQvX3q3PgZS+PocIizhY4rQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + nullthrows: 1.1.1 + posthtml: 0.16.6 + posthtml-parser: 0.10.2 + posthtml-render: 3.0.0 + semver: 7.5.4 + srcset: 4.0.0 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-image@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-sR2kTsPykYRujKR7ISn0d6Fhem1pMQoqm0cFTrtC9Te5pfIjZ72NfM9clP7jPK660Gd2DYudhUa48y+qKBfCAw==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + nullthrows: 1.1.1 + dev: true + + /@parcel/transformer-js@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-qcVLyikhSVf3oHhzReECkKdPU5uHVH4L0TC5O9ahlsq2IUTqR8Swq+9wUgUN0S2aYFTWreH05bQwBCNrLzF/eQ==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.10.2 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + '@swc/helpers': 0.5.3 + browserslist: 4.22.1 + nullthrows: 1.1.1 + regenerator-runtime: 0.13.11 + semver: 7.5.4 + dev: true + + /@parcel/transformer-json@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-iVgwuaLNqH3jgoBzMds63zd9FULvYb/s/5Hq9JZJ6pCZrOQoPruurgAW8A/t2IE4CSFkDDNoFvRpjsq1WBsSvA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + json5: 2.2.3 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-postcss@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-2/ehCZgj5TOmsAIeGiLwrm6gO/M+X4fZ/O71MhpmXd8zr08j25T0VdSdw5UyopsBvtPYM7DI/FJCviZc7AigCg==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + '@parcel/utils': 2.10.2 + clone: 2.1.2 + nullthrows: 1.1.1 + postcss-value-parser: 4.2.0 + semver: 7.5.4 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-posthtml@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-0jvqqXfrLqPYBD62aWIMldDnZ9hO/esX6TGKNhAO+85ljeaS2+QZ5XLLb8uPJq8UXB4olhsoEGyGtJSByigndg==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + posthtml: 0.16.6 + posthtml-parser: 0.10.2 + posthtml-render: 3.0.0 + semver: 7.5.4 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-raw@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-h6SoIZ3u+Lq8z8SEEAVsHg4IQbUtkBWCln5SG4qfjGiclUDDA2hcG7grsP06Wb6/U7oEc8n0ksTtaG4dekYIxw==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-react-refresh-wrap@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-1jpzaEbKwJnDUmF8Kgf3/XvT9BnUWIQ7FWkg5EL5kEx6tq2KLKdzD17nFigNj8fr2V+faX0Qa63h+e3OOpnMAA==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + react-refresh: 0.9.0 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/transformer-svg@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-SsCjiM9LZwGne3LUn+GuwhyqklAnr7CER6D0ozdpw+tPOeODsXZXNSktvtpE1Qbia61c/zdlU0yOEuhkeXz29w==} + engines: {node: '>= 12.0.0', parcel: ^2.10.2} + dependencies: + '@parcel/diagnostic': 2.10.2 + '@parcel/plugin': 2.10.2(@parcel/core@2.10.2) + '@parcel/rust': 2.10.2 + nullthrows: 1.1.1 + posthtml: 0.16.6 + posthtml-parser: 0.10.2 + posthtml-render: 3.0.0 + semver: 7.5.4 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/types@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-fwHJu03ROcc4/Kr/00VfOQUD6aV+6FBLN5bDW1+Xblgrpkb1MSUGTWRuz0YH5X6xhkVigC1llCIR2uHSwA+YBg==} + dependencies: + '@parcel/cache': 2.10.2(@parcel/core@2.10.2) + '@parcel/diagnostic': 2.10.2 + '@parcel/fs': 2.10.2(@parcel/core@2.10.2) + '@parcel/package-manager': 2.10.2(@parcel/core@2.10.2) + '@parcel/source-map': 2.1.1 + '@parcel/workers': 2.10.2(@parcel/core@2.10.2) + utility-types: 3.10.0 + transitivePeerDependencies: + - '@parcel/core' + dev: true + + /@parcel/utils@2.10.2: + resolution: {integrity: sha512-XLUhTh0UkPB5n8r7agX9iIz9f+3JsBIVsmqltsJYX7n/GAa6EQtqrIYyZu8cEFeZlZw3zaf7wTmf9xJppdlj7Q==} + engines: {node: '>= 12.0.0'} + dependencies: + '@parcel/codeframe': 2.10.2 + '@parcel/diagnostic': 2.10.2 + '@parcel/logger': 2.10.2 + '@parcel/markdown-ansi': 2.10.2 + '@parcel/rust': 2.10.2 + '@parcel/source-map': 2.1.1 + chalk: 4.1.2 + nullthrows: 1.1.1 + dev: true + + /@parcel/watcher-android-arm64@2.3.0: + resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-darwin-arm64@2.3.0: + resolution: {integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-darwin-x64@2.3.0: + resolution: {integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-freebsd-x64@2.3.0: + resolution: {integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.3.0: + resolution: {integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm64-glibc@2.3.0: + resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-arm64-musl@2.3.0: + resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-x64-glibc@2.3.0: + resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-linux-x64-musl@2.3.0: + resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-arm64@2.3.0: + resolution: {integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-ia32@2.3.0: + resolution: {integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher-win32-x64@2.3.0: + resolution: {integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@parcel/watcher@2.3.0: + resolution: {integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==} + engines: {node: '>= 10.0.0'} + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.0.0 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.3.0 + '@parcel/watcher-darwin-arm64': 2.3.0 + '@parcel/watcher-darwin-x64': 2.3.0 + '@parcel/watcher-freebsd-x64': 2.3.0 + '@parcel/watcher-linux-arm-glibc': 2.3.0 + '@parcel/watcher-linux-arm64-glibc': 2.3.0 + '@parcel/watcher-linux-arm64-musl': 2.3.0 + '@parcel/watcher-linux-x64-glibc': 2.3.0 + '@parcel/watcher-linux-x64-musl': 2.3.0 + '@parcel/watcher-win32-arm64': 2.3.0 + '@parcel/watcher-win32-ia32': 2.3.0 + '@parcel/watcher-win32-x64': 2.3.0 + dev: true + + /@parcel/workers@2.10.2(@parcel/core@2.10.2): + resolution: {integrity: sha512-LvifdeORXKGGyhwOwnYxn1AsJ5u6Ihk2RJUxsVA4WYEjz2PSsmLAUDdp48ovssSMnTb9P2g4RrbEG1mJjYtBGA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@parcel/core': ^2.10.2 + dependencies: + '@parcel/core': 2.10.2 + '@parcel/diagnostic': 2.10.2 + '@parcel/logger': 2.10.2 + '@parcel/profiler': 2.10.2 + '@parcel/types': 2.10.2(@parcel/core@2.10.2) + '@parcel/utils': 2.10.2 + nullthrows: 1.1.1 + dev: true + + /@swc/core-darwin-arm64@1.3.95: + resolution: {integrity: sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-x64@1.3.95: + resolution: {integrity: sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm-gnueabihf@1.3.95: + resolution: {integrity: sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-gnu@1.3.95: + resolution: {integrity: sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-musl@1.3.95: + resolution: {integrity: sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu@1.3.95: + resolution: {integrity: sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-musl@1.3.95: + resolution: {integrity: sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-arm64-msvc@1.3.95: + resolution: {integrity: sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-ia32-msvc@1.3.95: + resolution: {integrity: sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-x64-msvc@1.3.95: + resolution: {integrity: sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core@1.3.95: + resolution: {integrity: sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA==} + engines: {node: '>=10'} + requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@swc/counter': 0.1.2 + '@swc/types': 0.1.5 + optionalDependencies: + '@swc/core-darwin-arm64': 1.3.95 + '@swc/core-darwin-x64': 1.3.95 + '@swc/core-linux-arm-gnueabihf': 1.3.95 + '@swc/core-linux-arm64-gnu': 1.3.95 + '@swc/core-linux-arm64-musl': 1.3.95 + '@swc/core-linux-x64-gnu': 1.3.95 + '@swc/core-linux-x64-musl': 1.3.95 + '@swc/core-win32-arm64-msvc': 1.3.95 + '@swc/core-win32-ia32-msvc': 1.3.95 + '@swc/core-win32-x64-msvc': 1.3.95 + dev: true + + /@swc/counter@0.1.2: + resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + dev: true + + /@swc/helpers@0.5.3: + resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} + dependencies: + tslib: 2.6.2 + dev: true + + /@swc/types@0.1.5: + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + dev: true + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /abortcontroller-polyfill@1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001559 + electron-to-chromium: 1.4.574 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001559: + resolution: {integrity: sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.0.8: + resolution: {integrity: sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==} + dev: false + + /debug@4.3.1: + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /dompurify@2.3.1: + resolution: {integrity: sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw==} + dev: false + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /dotenv-expand@5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dev: true + + /dotenv@7.0.0: + resolution: {integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==} + engines: {node: '>=6'} + dev: true + + /electron-to-chromium@1.4.574: + resolution: {integrity: sha512-bg1m8L0n02xRzx4LsTTMbBPiUd9yIR+74iPtS/Ao65CuXvhVZHP0ym1kSdDG3yHFDXqHQQBKujlN1AQ8qZnyFg==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /get-port@4.2.0: + resolution: {integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==} + engines: {node: '>=6'} + dev: true + + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /htmlnano@2.1.0(svgo@2.8.0): + resolution: {integrity: sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==} + peerDependencies: + cssnano: ^6.0.0 + postcss: ^8.3.11 + purgecss: ^5.0.0 + relateurl: ^0.2.7 + srcset: 4.0.0 + svgo: ^3.0.2 + terser: ^5.10.0 + uncss: ^0.17.3 + peerDependenciesMeta: + cssnano: + optional: true + postcss: + optional: true + purgecss: + optional: true + relateurl: + optional: true + srcset: + optional: true + svgo: + optional: true + terser: + optional: true + uncss: + optional: true + dependencies: + cosmiconfig: 8.3.6 + posthtml: 0.16.6 + svgo: 2.8.0 + timsort: 0.3.0 + transitivePeerDependencies: + - typescript + dev: true + + /htmlparser2@7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 3.0.1 + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: false + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-json@2.0.1: + resolution: {integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /lightningcss-darwin-arm64@1.22.0: + resolution: {integrity: sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-x64@1.22.0: + resolution: {integrity: sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-freebsd-x64@1.22.0: + resolution: {integrity: sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf@1.22.0: + resolution: {integrity: sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-gnu@1.22.0: + resolution: {integrity: sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-musl@1.22.0: + resolution: {integrity: sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-gnu@1.22.0: + resolution: {integrity: sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-musl@1.22.0: + resolution: {integrity: sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-win32-x64-msvc@1.22.0: + resolution: {integrity: sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /lightningcss@1.22.0: + resolution: {integrity: sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg==} + engines: {node: '>= 12.0.0'} + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.22.0 + lightningcss-darwi