From 124a1d4e976fa660701e667d53f15e69e8ad9ea6 Mon Sep 17 00:00:00 2001 From: Andrei O Date: Mon, 13 Feb 2023 21:20:50 +0200 Subject: [PATCH] first: commit --- .github/workflows/test.yml | 22 + .gitignore | 26 + .vscode/extensions.json | 3 + .vscode/settings.json | 8 + CHANGELOG.MD | 6 + LICENSE | 21 + PRIVACY_POLICY.md | 15 + README.md | 47 + manifest.json | 58 + misc/screen_1.png | Bin 0 -> 33775 bytes misc/screen_2.png | Bin 0 -> 15601 bytes package.json | 39 + scripts/create-release.ts | 69 + .../55xoey1sJNPjPiv1ZZZrxK110b3wKg.woff2 | Bin 0 -> 7172 bytes src/assets/icons/yup-icon.ext_2.png | Bin 0 -> 97800 bytes src/assets/icons/yup_ext_128.png | Bin 0 -> 17112 bytes src/assets/icons/yup_ext_16.png | Bin 0 -> 934 bytes src/assets/icons/yup_ext_256.png | Bin 0 -> 44219 bytes src/assets/icons/yup_ext_32.png | Bin 0 -> 2651 bytes src/assets/icons/yup_ext_48.png | Bin 0 -> 4881 bytes src/assets/icons/yup_ext_64.png | Bin 0 -> 6867 bytes src/assets/res/reward_optimized.png | Bin 0 -> 11848 bytes src/background/index.ts | 144 ++ src/client/content.ts | 51 + src/client/inject.js | 42 + src/client/inject.ts | 43 + src/components/Alert.svelte | 91 + src/components/ImgLoader.svelte | 43 + src/components/Notification.svelte | 93 + src/components/PageLoader.svelte | 63 + src/components/RateSingle.svelte | 247 +++ src/components/RateWebsite.svelte | 69 + src/constants/config.ts | 4 + src/constants/messeges.ts | 3 + src/overlay/Overlay.svelte | 50 + src/overlay/overlay.scss | 95 + src/pages/Entry.svelte | 138 ++ src/pages/Info.svelte | 79 + src/pages/Login.svelte | 24 + src/pages/Main.svelte | 160 ++ src/pages/Notifications.svelte | 89 + src/pages/Settings.svelte | 149 ++ src/pages/SiteOverlay.svelte | 0 src/pages/Usage.svelte | 104 + src/popup/index.ts | 13 + src/popup/popup.html | 11 + src/popup/popup.scss | 158 ++ src/popup/scss/settings.scss | 121 ++ src/utils/auth.ts | 9 + src/utils/chrome-misc.ts | 37 + src/utils/misc.ts | 12 + src/utils/notifications.ts | 97 + src/utils/router.ts | 53 + src/utils/storage.ts | 137 ++ src/utils/store.ts | 7 + src/utils/time.ts | 60 + src/utils/types.ts | 38 + src/utils/user.ts | 43 + src/utils/votes.ts | 84 + src/vite-env.d.ts | 2 + svelte.config.js | 9 + tsconfig.json | 29 + tsconfig.node.json | 11 + vite.config.ts | 18 + yarn.lock | 1729 +++++++++++++++++ 65 files changed, 4773 insertions(+) create mode 100644 .github/workflows/test.yml create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 CHANGELOG.MD create mode 100644 LICENSE create mode 100644 PRIVACY_POLICY.md create mode 100644 README.md create mode 100644 manifest.json create mode 100644 misc/screen_1.png create mode 100644 misc/screen_2.png create mode 100644 package.json create mode 100644 scripts/create-release.ts create mode 100644 src/assets/fonts/55xoey1sJNPjPiv1ZZZrxK110b3wKg.woff2 create mode 100644 src/assets/icons/yup-icon.ext_2.png create mode 100644 src/assets/icons/yup_ext_128.png create mode 100644 src/assets/icons/yup_ext_16.png create mode 100644 src/assets/icons/yup_ext_256.png create mode 100644 src/assets/icons/yup_ext_32.png create mode 100644 src/assets/icons/yup_ext_48.png create mode 100644 src/assets/icons/yup_ext_64.png create mode 100644 src/assets/res/reward_optimized.png create mode 100644 src/background/index.ts create mode 100644 src/client/content.ts create mode 100644 src/client/inject.js create mode 100644 src/client/inject.ts create mode 100644 src/components/Alert.svelte create mode 100644 src/components/ImgLoader.svelte create mode 100644 src/components/Notification.svelte create mode 100644 src/components/PageLoader.svelte create mode 100644 src/components/RateSingle.svelte create mode 100644 src/components/RateWebsite.svelte create mode 100644 src/constants/config.ts create mode 100644 src/constants/messeges.ts create mode 100644 src/overlay/Overlay.svelte create mode 100644 src/overlay/overlay.scss create mode 100644 src/pages/Entry.svelte create mode 100644 src/pages/Info.svelte create mode 100644 src/pages/Login.svelte create mode 100644 src/pages/Main.svelte create mode 100644 src/pages/Notifications.svelte create mode 100644 src/pages/Settings.svelte create mode 100644 src/pages/SiteOverlay.svelte create mode 100644 src/pages/Usage.svelte create mode 100644 src/popup/index.ts create mode 100644 src/popup/popup.html create mode 100644 src/popup/popup.scss create mode 100644 src/popup/scss/settings.scss create mode 100644 src/utils/auth.ts create mode 100644 src/utils/chrome-misc.ts create mode 100644 src/utils/misc.ts create mode 100644 src/utils/notifications.ts create mode 100644 src/utils/router.ts create mode 100644 src/utils/storage.ts create mode 100644 src/utils/store.ts create mode 100644 src/utils/time.ts create mode 100644 src/utils/types.ts create mode 100644 src/utils/user.ts create mode 100644 src/utils/votes.ts create mode 100644 src/vite-env.d.ts create mode 100644 svelte.config.js create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..a63eced --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,22 @@ +name: Test + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "18.x" + - uses: c-hive/gha-yarn-cache@v2 + + - run: yarn install + - run: yarn build + - run: yarn run check diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..178b02a --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +!.vscode/settings.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +releases diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..fd2f1b8 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["svelte.svelte-vscode"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5b228da --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "json.schemas": [ + { + "fileMatch": ["manifest.json"], + "url": "https://json.schemastore.org/chrome-manifest.json" + } + ] +} diff --git a/CHANGELOG.MD b/CHANGELOG.MD new file mode 100644 index 0000000..898d05f --- /dev/null +++ b/CHANGELOG.MD @@ -0,0 +1,6 @@ +# Change Log + +## [Version 1.0.1] + +- first release + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5452258 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Andrei O. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/PRIVACY_POLICY.md b/PRIVACY_POLICY.md new file mode 100644 index 0000000..cceb9aa --- /dev/null +++ b/PRIVACY_POLICY.md @@ -0,0 +1,15 @@ +# 𝐏𝐫𝐢𝐯𝐚𝐜𝐲 𝐏𝐨𝐥𝐢𝐜𝐲: + +## Privacy Points: + +- This extension does not collect any data form your device. +- All storage uses chrome.storage.local +- This extension does not use external scripts, everything is packed into the extension. +- This extension uses the manifest V3 which does not allow any third party scripts to be injected. +- This extension is completely open source, the source is available on Github - [https://github.com/andrei0x309/yup-live-chrome-extension](https://github.com/andrei0x309/yup-live-chrome-extension). +- Extension has no production dependecies +- Only third party APIs used is YUP API and CoinGecko for the price of YUP. + +### 𝐂𝐨𝐧𝐭𝐚𝐜𝐭: + +Discord: andrei0x309#6562 diff --git a/README.md b/README.md new file mode 100644 index 0000000..c41ae99 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# YUP Live Chrome Extension + +> Svelte open source helper extension for YUP protocol, a decentralized social media platform. + +## Features + +- Extremely light-weight size less than 1080p picture. +- No external dependencies. +- No production dependencies. +- No external components. +- Made with Svelte & WindiCSS & TypeScript & Vite. +- Everything loaded asynchronously. +- Inhouse router system. +- Automatically detects and disables other YUP chrome extensions. + +## Pages + +- Main page - profile, balance, and website rateing system. +- Optional Notifications page - shows notifications. +- Settings page - change settings. +- Login page - login or create account using YUP Live website. +- Usage page - show how many likes you have left and a counter for the next refill. +- Info page - show info about the extension. + +## Additional features + +- Chrome notification at login. +- Light and dark theme. +- Optinally enable or disable notification system. +- Opt-in notification for reward. +- Opt-in notification for refill. +- Optinally enable a overlay for all websites to easely rate on mobile. + +## Screenshots + +![Screenshot 1](/misc/screen_1.png?raw=true "Screenshot 1") +![Screenshot 2](/misc/screen_2.png?raw=true "Screenshot 2") + +## Possible ways to contribute + +- Install and use the extension. +- Fork the repository. +- Open a pull request. +- Open an issue. +- Rate the extension. +- Star the repository. +- Share the extension. diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..d6ee6fa --- /dev/null +++ b/manifest.json @@ -0,0 +1,58 @@ +{ + "name": "yup live", + "description": "Light alternative extension for yup protocol", + "version": "1.0.1", + "manifest_version": 3, + "icons": { + "16": "src/assets/icons/yup_ext_16.png", + "32": "src/assets/icons/yup_ext_32.png", + "48": "src/assets/icons/yup_ext_48.png", + "64": "src/assets/icons/yup_ext_64.png", + "128": "src/assets/icons/yup_ext_128.png", + "258": "src/assets/icons/yup_ext_256.png" + }, + "background": { + "service_worker": "src/background/index.ts" + }, + "action": { + "default_popup": "src/popup/popup.html", + "default_icon": { + "16": "src/assets/icons/yup_ext_16.png", + "32": "src/assets/icons/yup_ext_32.png", + "48": "src/assets/icons/yup_ext_48.png", + "64": "src/assets/icons/yup_ext_64.png", + "128": "src/assets/icons/yup_ext_128.png", + "258": "src/assets/icons/yup_ext_256.png" + } + }, + "content_scripts": [ + { + "matches": [ + "http://*/*", + "https://*/*" + ], + "all_frames": true, + "run_at": "document_start", + "js": ["src/client/content.ts"] + } + ], + "web_accessible_resources": [{ + "resources": [ + "src/client/inject.js", + "src/assets/icons/yup_ext_32.png", + "src/assets/icons/yup_ext_48.png", + "src/assets/icons/yup_ext_64.png", + "src/assets/icons/yup_ext_128.png", + "src/assets/res/reward_optimized.png" + ], + "matches": [""] + }], + "permissions": [ + "storage", + "management", + "notifications", + "tabs", + "clipboardWrite", + "alarms" + ] +} diff --git a/misc/screen_1.png b/misc/screen_1.png new file mode 100644 index 0000000000000000000000000000000000000000..86b54f609fb1a0bc92031370ea77dced09a31d6f GIT binary patch literal 33775 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≶NV>}2bl%u416 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 RD6m9C&-d; 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..7678412 --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "yup-live-browser-extension", + "description": "Yup Live Browser Extension", + "version": "1.0.0", + "type": "module", + "author": "andrei0x309", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/nekitcorp/chrome-extension-svelte-typescript-boilerplate.git" + }, + "scripts": { + "dev": "vite", + "inject": "tsc --out src/client/inject.js src/client/inject.ts", + "build": "yarn inject && vite build", + "upgrade": "yarn-upgrade-all", + "check": "svelte-check --tsconfig ./tsconfig.json", + "release": "yarn config set version-tag-prefix yup-live-browser-extension@v && yarn config set version-git-message 'yup-live-browser-extension@v%s' && yarn version --patch && yarn postversion", + "postversion": "git push", + "pub": "yarn build && yarn release && ts-node --esm ./scripts/create-release.ts" + }, + "devDependencies": { + "@crxjs/vite-plugin": "^1.0.14", + "@sveltejs/vite-plugin-svelte": "^2.0.2", + "@tsconfig/svelte": "^3.0.0", + "@types/chrome": "^0.0.212", + "archiver": "^5.3.1", + "sass": "^1.58.0", + "svelte": "^3.55.1", + "svelte-check": "^3.0.3", + "svelte-preprocess": "^5.0.1", + "svelte-windicss-preprocess": "~4.1.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "typescript": "^4.9.5", + "vite": "^4.1.1", + "yarn-upgrade-all": "^0.7.2" + } +} diff --git a/scripts/create-release.ts b/scripts/create-release.ts new file mode 100644 index 0000000..b5ff83f --- /dev/null +++ b/scripts/create-release.ts @@ -0,0 +1,69 @@ +const pFs = import('fs') +const pCps = import ('child_process') + +async function ghRelease(changes: string[]) { + const fs = (await pFs).default + + if (!fs.existsSync('releases')){ + fs.mkdirSync('releases'); + } + + const pkg = JSON.parse(fs.readFileSync('package.json').toString()); + + const archiver = (await import('archiver')).default + const archive = archiver('zip', { zlib: { level: 9 } }); + const dirPipes = ['dist']; + + const filePipes = ['LICENSE', 'README.md', 'PRIVACY_POLICY.md']; + const outputPath = `releases/${pkg.version}.zip`; + const outputZip = fs.createWriteStream(outputPath); + + await new Promise((resolve, reject) => { + let arch = archive; + dirPipes.forEach((dir) => { + arch = arch.directory(dir, false); + }); + filePipes.forEach((file) => { + arch = arch.file(file, { name: file }); + }); + arch.on('error', (err: unknown) => reject(err)).pipe(outputZip); + + outputZip.on('close', () => resolve(true)); + arch.finalize(); + }); + + const changeLogPath = `releases/${pkg.version}.changelog.md`; + + fs.writeFileSync( + changeLogPath, + `# ${pkg.version} \n + ${changes.reduce((acc: string, change: string) => { + return acc + `- ${change}\n`; + }, '')}`, + ); + const cps = (await pCps) + console.log( + await new Promise((resolve) => { + const p = cps.spawn('gh', ['release', 'create', `v${pkg.version}`, `./${outputPath}`, '-F', `./${changeLogPath}`], { + shell: true, + }); + // const p = spawn('pwd'); + let result = ''; + p.stdout.on('data', (data) => (result += data.toString())); + p.stderr.on('data', (data) => (result += data.toString())); + p.on('close', () => { + resolve(result); + }); + }), + ); +} + +(async () => { + if (!process.argv[2]) { + console.log('No changes provided'); + return; + } + const changes = process.argv[2].split(','); + await ghRelease(changes); + console.log('Release created', changes); +})(); diff --git a/src/assets/fonts/55xoey1sJNPjPiv1ZZZrxK110b3wKg.woff2 b/src/assets/fonts/55xoey1sJNPjPiv1ZZZrxK110b3wKg.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..efbfbd347fe90b43e216990707960349e698096d GIT binary patch literal 7172 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/yup-icon.ext_2.png b/src/assets/icons/yup-icon.ext_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a34070075e8d72cd00e11fe64aec40e3e1bc5c GIT binary patch literal 97800 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

FFs06B8J>2&t~-V!yDC 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/yup_ext_16.png b/src/assets/icons/yup_ext_16.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a909b55c95e1b8c397ee955ef6399892f37aa9 GIT binary patch literal 934 zcmV;X16lluP)gWSD4%J0KND@I1|ZH|bHN)NCES&^7@yN5^a+-aYY zPAA64-AYeRCVW8%a}3}EFfTBW$%zTRyV80%bIqFfca?mI)9GYhU?2eQM~|%M8yeE; zYHN2jUA*YB#m4Rlij86N@g$tBba7jsA~QH8o1L+0IwKSIp-he+0EB ztMCQa`rKSKHa4oTuu%2&_40bXvnG$nqq@2}6&Dxlq1&yMX=yS+MOjf1hSwa~iC#-c zPgYhY@9x~mQxX#s$d&(b3+H` z0GUiC0kS0}$G5p*4LY0gBH}~QAW}KVEVqg0rokMO` zW@fW%_g;oP!L*G%VC&v}oH$wufB_6X5AToP1FRby8SL)#KuIO*0%7|yST_YxW-tN? zLtu#j_n4ckjOPG&FfuYqSb+J{OD!#uB>VHLM8TIT?UFh>r7v2g)-LIX+tT%M>223J zrKj2?Nllk8E6i*@N>uRt1c$>RNgDd;n&t*ARPK?p8hIl1Jd!3PO?jpAGiMdF(4rgd zS0za~IXQ|n8K2>$90$Om>J!zHq`n`oX>De@Hf(%F1zWai%Uj#@#_KODfrLf82z;3evG*ner&#v$5`ma>HW1Dtte@FFob+h`hswx5J9LtxnX>~Rf z*zIgwolTh84B*Pk%Tsf6^M5{Ysi{d$r&GYe=#XHF*5vT2JrhHL-OjY;M1&07*qo IM6N<$g4koZ`2YX_ literal 0 HcmV?d00001 diff --git a/src/assets/icons/yup_ext_256.png b/src/assets/icons/yup_ext_256.png new file mode 100644 index 0000000000000000000000000000000000000000..49356ccedfe21b485ef3ca1ce04d62bf3de4574e GIT binary patch literal 44219 zcmY(qbx>R17w#S00|km(3oTH*xI0w7xVyW%yA~}{Xd$?jK!M^7lHe`w?v�ntS-Y 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 b8|Hri;*(AGdnoqv00000NkvXXu0mjfU4!5? literal 0 HcmV?d00001 diff --git a/src/assets/icons/yup_ext_32.png b/src/assets/icons/yup_ext_32.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ce37cc07061e767f147e4eaabacfb5cec34547 GIT binary patch literal 2651 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 DFkfRT literal 0 HcmV?d00001 diff --git a/src/assets/icons/yup_ext_64.png b/src/assets/icons/yup_ext_64.png new file mode 100644 index 0000000000000000000000000000000000000000..329d5055937e7eeb2c01c4c4ca4ff9db7c3bc934 GIT binary patch literal 6867 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 { + const store = await getStore() + const requests = {} as Record> + if (store?.user?.auth?.authToken) { + requests.profile = fetch(`${API_BASE}/web3-profiles/` + store.user.auth.address) + if (store?.settings.notificationsEnabled) { + requests.notifications = getNotifications({ + type: 'all', + limit: '15', + skip: '0', + userId: store.user.auth.userId + }) + } + requests.coinGecko = fetch('https://api.coingecko.com/api/v3/simple/price?ids=yup&vs_currencies=usd') + + try { + const profile = await requests.profile as Response + const profileJson = await profile.json() + setProfile(profileJson).catch(console.error) + } catch (error) { + console.error('Error fetching profile', error) + } + + try { + const coinGecko = await requests.coinGecko as Response + const coinGeckoJson = await coinGecko.json() + const coinGeckoPrice = coinGeckoJson.yup.usd + const store = await getStore() + if (store.settings.coinGeckoPrice !== coinGeckoPrice) { + await chrome.storage.local.set({ store: { ...store, settings: { ...store.settings, coinGeckoPrice } } }) + } + } catch (error) { + console.error('Error fetching coinGecko', error) + } + + if (store?.settings.notificationsEnabled) { + try { + const notifications = await requests.notifications as Notification[] + const notSeen = notifications.reverse().filter(notif => !notif.seen) + const updateSettings = {} as Record + if (notSeen.length > 0) { + setBadge(String(notSeen.length)) + setNotifStorageNotifs(notSeen).catch(console.error) + updateSettings.hasNewNotifications = true + } else { + setBadge('') + updateSettings.hasNewNotifications = false + } + + if (store.settings?.chromeNotifWhenReward && notSeen.some(notif => notif.action === 'reward')) { + const rewardNotif = notSeen.find(notif => notif.action === 'reward') + if (rewardNotif) { + const storeReward = (await getNotifStorage()).lastRewardNotif + if (!storeReward || (storeReward.id !== rewardNotif._id && + !closeTo(new Date(storeReward.createdAt), new Date(rewardNotif.createdAt), 2e4))) { + { + setNotifStorageLastRewardNotif({ createdAt: rewardNotif.createdAt, id: rewardNotif._id }).then(() => { + chrome.notifications.create({ + type: 'basic', + iconUrl: chrome.runtime.getURL('src/assets/icons/yup_ext_128.png'), + title: 'Yup Live Extension', + message: `You have been alocated a future reward of ${rewardNotif.quantity} YUP`, + }) + }).catch(console.error) + } + } + } + } + + if (store.settings?.chromeNotifWhenAbleToVote) { + const lastReset = (await getActionUsage(store?.user?.auth?.userId))?.data?.lastReset + if (lastReset) { + const isReset = getTimeRemaining(lastReset).total <= 0; + if (!closeTo(new Date(lastReset), new Date(store?.settings?.refilNotifTimestamp), 3.6e6) && isReset) { + updateSettings.refilNotifTimestamp = lastReset + chrome.notifications.create({ + type: 'basic', + iconUrl: chrome.runtime.getURL('src/assets/icons/yup_ext_128.png'), + title: 'Yup Live Extension', + message: `You can curate now again`, + }) + } + } + } + setSettings(updateSettings).catch(console.error) + } catch (error) { + console.error('Error fetching notifications', error) + } + } + + } +} + +chrome.alarms.create( + 'alarm', + { + periodInMinutes: 1, + }, +) + +chrome.alarms.onAlarm.addListener(alarmHandler) + +chrome.runtime.onInstalled.addListener(() => { + initStorage() + chrome.management.setEnabled(yupExtensionId, false) +}); + +chrome.runtime.onStartup.addListener(() => { + initStorage() + chrome.management.setEnabled(yupExtensionId, false) +}) + + +chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => { + try { + if (request.type === SEND_AUTH_NOTIF) { + chrome.notifications.create({ + type: 'basic', + iconUrl: chrome.runtime.getURL('src/assets/icons/yup_ext_128.png'), + title: 'Yup Live Extension', + message: 'You have been logged in.', + }) + } + } catch (error) { + console.error('Error in message listener', error) + sendResponse({ error }) + } + + return true +}) diff --git a/src/client/content.ts b/src/client/content.ts new file mode 100644 index 0000000..1631285 --- /dev/null +++ b/src/client/content.ts @@ -0,0 +1,51 @@ + +(() =>{ + try { + const container = document.documentElement; + const script = document.createElement('script'); + script.setAttribute('async', "false") + script.setAttribute('fetchpriority', "high") + script.src = chrome.runtime.getURL('src/client/inject.js') + container.prepend(script) + script.addEventListener('load', () => { container.removeChild(script) } ) + } catch (error) { + console.error('Yup Live Extension inject failed.', error); + } +})() + + import { SEND_VOTE, SET_AUTH } from '@/constants/messeges' + import { setAuth } from '@/utils/storage' + + const allowedEvents = [SEND_VOTE, SET_AUTH] + + window.addEventListener("message", (event) => { + if (event.source != window) + return; + if(allowedEvents.includes(event?.data?.type ?? '')){ + console.log('Yup Live Extension received message:', event.data); + switch (event.data.type) { + case SEND_VOTE: + console.log('SEND_VOTE', event.data.payload) + break; + case SET_AUTH: + console.log('SET_AUTH', event.data.payload) + setAuth(event.data.payload).catch(console.error) + break; + default: + break; + } + } +}) + +import Overlay from '@/overlay/Overlay.svelte' + +import('@/utils/storage').then(({ getStore }) => { + getStore().then(async (store) => { + if (store.settings.injectEmbed) { + setTimeout(() => { + //@ts-ignore + new Overlay({ target: document.body }); + }, 200) + } + }); +}); diff --git a/src/client/inject.js b/src/client/inject.js new file mode 100644 index 0000000..a886c38 --- /dev/null +++ b/src/client/inject.js @@ -0,0 +1,42 @@ +var SEND_VOTE = 'SEND_VOTE'; +var SET_AUTH = 'SET_AUTH'; +var WebCommunicator = /** @class */ (function () { + function WebCommunicator(injectAuthMethod) { + if (injectAuthMethod === void 0) { injectAuthMethod = false; } + var _this = this; + this._send = function (data) { + window.postMessage(data, "*"); + }; + this.submitVote = function (vote) { + return _this._send({ + type: SEND_VOTE, + payload: vote + }); + }; + this.setAuth = function (authData) { + return _this._send({ + type: SET_AUTH, + payload: authData + }); + }; + if (injectAuthMethod) { + ; + window.yupSetAuth = this.setAuth; + } + else { + ; + window.yupSetAuth = function () { return Promise.resolve(null); }; + } + ; + window.yupSubmitVote = this.submitVote; + } + return WebCommunicator; +}()); +var allowRegex = /^((http:|https:))?([/][/])?(www.)?[a-zA-Z\-_0-9]{0,}\.?[a-zA-Z\-_0-9]{0,}(yup.info.gf|yup-live.pages.dev|.yup.io|yup-team.vercel.app|localhost\/|localhost:)(.*)/gm; +var isAllowed = allowRegex.test(window.location.href); +if (isAllowed) { + new WebCommunicator(true); +} +else { + new WebCommunicator(); +} diff --git a/src/client/inject.ts b/src/client/inject.ts new file mode 100644 index 0000000..2b676e9 --- /dev/null +++ b/src/client/inject.ts @@ -0,0 +1,43 @@ +const SEND_VOTE = 'SEND_VOTE' +const SET_AUTH = 'SET_AUTH' + +class WebCommunicator { + _send = (data) => { + window.postMessage(data, "*") + } + + submitVote = (vote) => { + return this._send({ + type: SEND_VOTE, + payload: vote + }) + } + + setAuth = (authData) => { + return this._send({ + type: SET_AUTH, + payload: authData + }) + + } + + + constructor (injectAuthMethod = false) { + if (injectAuthMethod) { + ;(window).yupSetAuth = this.setAuth + } else { + ;(window).yupSetAuth = () => Promise.resolve(null) + } + ;(window).yupSubmitVote = this.submitVote + } +} + +const allowRegex = /^((http:|https:))?([/][/])?(www.)?[a-zA-Z\-_0-9]{0,}\.?[a-zA-Z\-_0-9]{0,}(yup.info.gf|yup-live.pages.dev|.yup.io|yup-team.vercel.app|localhost\/|localhost:)(.*)/gm +const isAllowed = allowRegex.test(window.location.href) + +if(isAllowed) { + new WebCommunicator(true) +} else { + new WebCommunicator() +} + diff --git a/src/components/Alert.svelte b/src/components/Alert.svelte new file mode 100644 index 0000000..1ff487b --- /dev/null +++ b/src/components/Alert.svelte @@ -0,0 +1,91 @@ + + {#if !hidden} +
+
+

{ alertMsg }

+ close()} aria-hidden="true"> + + + + +
+ {/if} + + \ No newline at end of file diff --git a/src/components/ImgLoader.svelte b/src/components/ImgLoader.svelte new file mode 100644 index 0000000..c0d6d05 --- /dev/null +++ b/src/components/ImgLoader.svelte @@ -0,0 +1,43 @@ + + +
+ {#if loading || loaded} + + + {:else if error} + + + {/if} + + +
\ No newline at end of file diff --git a/src/components/Notification.svelte b/src/components/Notification.svelte new file mode 100644 index 0000000..e9afa62 --- /dev/null +++ b/src/components/Notification.svelte @@ -0,0 +1,93 @@ + + +{#if notif.action === 'vote'} +{@const url = notif.post.url } +{@const length = url.length} +{@const shortUrl = url.slice(0, 10) + '...' + url.slice(length - 10, length) } +{@const finalUrl = length > 24 ? shortUrl : url } +
+ + loader.onError()} style="{ $mainStore.settings.theme === 'light'? 'filter: invert(0.9);' : '' }" slot="img" src="{notif.image}" alt="preview"> + + + +
+

+ {#if notif.like} + + {:else} + + {/if} + by {notif.voter.length > 12 ? notif.voter.slice(0, 12) + '...' : notif.voter} +

+

+ extrenalNavigate(`https://yup-live.pages.dev/post/${notif.postid}`)} + aria-hidden + class="text-blue-200 interactive-svg">{finalUrl} +

+

+ + {timeSince(new Date(notif.createdAt))}

+
+
+ {:else if notif.action === 'reward'} +
+ reward +
+

You were alocated a future reward of {notif?.quantity ?? 'unknown'} amount of YUP. +

+

+ + {timeSince(new Date(notif.createdAt))}

+
+
+ {:else } +
+
+

{notif?.message ?? 'unknown notification type'}

+

+ + {timeSince(new Date(notif.createdAt))}

+
+
+ {/if} + + + + \ No newline at end of file diff --git a/src/components/PageLoader.svelte b/src/components/PageLoader.svelte new file mode 100644 index 0000000..18b8b5d --- /dev/null +++ b/src/components/PageLoader.svelte @@ -0,0 +1,63 @@ + + + +
+
+
+ + + \ No newline at end of file diff --git a/src/components/RateSingle.svelte b/src/components/RateSingle.svelte new file mode 100644 index 0000000..33069c6 --- /dev/null +++ b/src/components/RateSingle.svelte @@ -0,0 +1,247 @@ + + +{#if userVote._id !== null} + deleteVote()} aria-hidden="true" class="{`w-4 opacity-30 delete interactive-svg ${delLoading ? 'animate-ping' : ''}`}" viewBox="0 0 512 512"> +{/if} +
+
doVote(true)} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf mr-4 ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}"> + {#if userVote.rating && userVote.like} + + + + {:else} + + + {/if} + {#key positiveWeight} + {formatNumber(positiveWeight)} + {/key} +
+
doVote(false)} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}"> + {#if userVote.rating && !userVote.like} + + + + {:else} + + + {/if} + {#key negativeWeight} + {formatNumber(negativeWeight)} + {/key} +
+
+ + diff --git a/src/components/RateWebsite.svelte b/src/components/RateWebsite.svelte new file mode 100644 index 0000000..b181236 --- /dev/null +++ b/src/components/RateWebsite.svelte @@ -0,0 +1,69 @@ + + +{#if tab} +
+ {#if url} +
+
+ + loader.onLoad()} on:error={() => loader.onError} + class="w-5 h-5 mt-2 rounded-full wicon" src="{tab.favIconUrl}" alt="favicon" /> + + + + {#if isValid} +

Rate Website

+ {:else} +

Invalid URL

+ {/if} +
+ Hostname: {url.hostname.length > 18 ? url.hostname.slice(0,16) + '...': url.hostname } + URL: {url.href.length > 20 ? '...' + url.href.slice(-20) : url.href} +
+ {/if} + + +
+{/if} + + \ No newline at end of file diff --git a/src/constants/config.ts b/src/constants/config.ts new file mode 100644 index 0000000..e609f96 --- /dev/null +++ b/src/constants/config.ts @@ -0,0 +1,4 @@ +export const API_BASE = 'https://api.yup.io' +export const DEV_BASE = 'http://localhost:4566' +export const YUP_LIVE_BASE = 'https://yup-live.pages.dev' +export const APP_BASE = YUP_LIVE_BASE \ No newline at end of file diff --git a/src/constants/messeges.ts b/src/constants/messeges.ts new file mode 100644 index 0000000..6b32e5f --- /dev/null +++ b/src/constants/messeges.ts @@ -0,0 +1,3 @@ +export const SEND_VOTE = 'SEND_VOTE' +export const SET_AUTH = 'SET_AUTH' +export const SEND_AUTH_NOTIF = 'SEND_AUTH_NOTIF' \ No newline at end of file diff --git a/src/overlay/Overlay.svelte b/src/overlay/Overlay.svelte new file mode 100644 index 0000000..f35a662 --- /dev/null +++ b/src/overlay/Overlay.svelte @@ -0,0 +1,50 @@ + + +
+ + + + +
+ + \ No newline at end of file diff --git a/src/overlay/overlay.scss b/src/overlay/overlay.scss new file mode 100644 index 0000000..4c4b5ed --- /dev/null +++ b/src/overlay/overlay.scss @@ -0,0 +1,95 @@ +@keyframes yup-pulse { + 0% { + transform: scale(1); + opacity: 1; + } + 50% { + transform: scale(1.2); + opacity: 0.5; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes yup-pulse-down { + 0% { + transform: scale(1) rotate(180deg); + opacity: 1; + } + 50% { + transform: scale(1.2) rotate(180deg); + opacity: 0.5; + } + 100% { + transform: scale(1) rotate(180deg); + opacity: 1; + } +} + +@keyframes rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.yup-rotate { + animation: rotate 1s linear infinite; +} + +.yup-overlay { + position: fixed; + z-index: 2147483647; + top: 92vh; + left: 8px; + display: flex; + opacity: 0.7; + padding: 0.3rem; + gap: 0.4rem; + background: #121212d9; + + .yup-logo { + opacity: 0.75; + width: 30px; + color: #eee; + } + + .yup-btn { + width: 30px; + height: 30px; + background: transparent; + border: 1px solid #3344; + cursor: pointer; + } + + .yup-btn:hover { + background: rgba(62, 62, 99, 0.267); + } + + .yup-btn.disabled { + opacity: 0.5; + cursor: not-allowed; + } + + .yup-btn.up:hover { + animation: yup-pulse 0.5s ease-in-out infinite; + } + + .yup-btn.down:hover { + animation: yup-pulse-down 0.5s ease-in-out infinite; + } + + .yup-rate-svg { + display: inline; + width: 16px; + } + + .yup-btn-down { + transform: rotate(180deg); + } + +} \ No newline at end of file diff --git a/src/pages/Entry.svelte b/src/pages/Entry.svelte new file mode 100644 index 0000000..68acb5d --- /dev/null +++ b/src/pages/Entry.svelte @@ -0,0 +1,138 @@ + + +
+ + diff --git a/src/pages/Info.svelte b/src/pages/Info.svelte new file mode 100644 index 0000000..a7dd51d --- /dev/null +++ b/src/pages/Info.svelte @@ -0,0 +1,79 @@ + + + {#if loading} + + {:else} +

About Extension

+

Version: {version}

+ +
+

External Links

+
    +
  • + extrenalNavigate(extensionSourceLink)} >Extension Source code +
  • +
  • + extrenalNavigate(yupLiveSourceLink)} >Yup Live Source code +
  • +
  • + extrenalNavigate(yupLiveLink)} >Yup Live Website +
  • +
  • + extrenalNavigate(discordLink)} >Discord community +
  • +
  • + extrenalNavigate(yupForumLink)} >Yup Forum +
  • +
  • + extrenalNavigate(yupAppLink)} >Yup App +
  • +
  • + extrenalNavigate(yupDocsLink)} >Yup Docs +
  • +
+
+ + {/if} + + + + \ No newline at end of file diff --git a/src/pages/Login.svelte b/src/pages/Login.svelte new file mode 100644 index 0000000..fe90f22 --- /dev/null +++ b/src/pages/Login.svelte @@ -0,0 +1,24 @@ + + + extrenalNavigate(`${APP_BASE}/login`)}> + + + + + + + + + diff --git a/src/pages/Main.svelte b/src/pages/Main.svelte new file mode 100644 index 0000000..fc7e531 --- /dev/null +++ b/src/pages/Main.svelte @@ -0,0 +1,160 @@ + + + +
+
+
extrenalNavigate(`${APP_BASE}/score/${$mainStore.user.auth.address}`)} aria-hidden class="flex flex-col w-16 mt-1 px-2 py-3 mr-4 link"> + Score{$mainStore?.user?.profile?.yupScore?.toFixed(0)}100
MAX
+
+
extrenalNavigate(`${APP_BASE}/profile/${$mainStore.user.auth.userId}`)} aria-hidden class="flex flex-col justify-center mb-2 w-16"> + + avatar loader.onLoad()} + on:error={() => loader.onError()} + /> + + + {#if handle} + {handle.length >= 12 ? handle.slice(0, 10) + "..." : handle} + {/if} +
+
extrenalNavigate(`${APP_BASE}/profile/${$mainStore.user.auth.userId}`)} aria-hidden class="flex flex-col w-16 mt-1 ml-4 px-2 py-3 link"> + Influence{$mainStore?.user?.profile?.yup?.weight}10
MAX
+
+
+ +
+
+ Address: {truncteEVMAddr($mainStore?.user?.auth?.address)} + copyAddress()} aria-hidden="true" class="w-4 interactive-svg" viewBox="0 0 24 24" + > + Balance: {formatNumber($mainStore?.user?.profile.yup.balance, 2)} + {#if $mainStore?.user?.profile.yup.balance > 0 && $mainStore?.settings?.coinGeckoPrice > 0} + ${formatNumber($mainStore?.user?.profile.yup.balance * $mainStore?.settings.coinGeckoPrice, 2)} + {/if} + +
+ + + + diff --git a/src/pages/Notifications.svelte b/src/pages/Notifications.svelte new file mode 100644 index 0000000..1e6f844 --- /dev/null +++ b/src/pages/Notifications.svelte @@ -0,0 +1,89 @@ + + +{#if loading} + +{:else if notifs.length === 0} + + {#await pastNotifsPromise} +   + {:then pastNotifs} + {#if (pastNotifs.notifs.reverse() ?? []).length > 0} + {noNotifications = true} + {:else} + {#each pastNotifs.notifs.reverse() as notif} + + {/each} + {/if} + {/await} +{:else} +
+ changeNotifsType('all')} aria-hidden class="inline-block mr-2 interactive-svg text-blue-200 interactive-svg" >All + changeNotifsType('rewards')} aria-hidden class="text-blue-200 interactive-svg interactive-svg text-blue-200 interactive-svg">Rewards +
+
+ {#each notifs.reverse() as notif} + + {/each} +
+{/if} + +{#if noNotifications } +
+

No Notifications

+

You have no notifications

+
+{/if} diff --git a/src/pages/Settings.svelte b/src/pages/Settings.svelte new file mode 100644 index 0000000..28cb609 --- /dev/null +++ b/src/pages/Settings.svelte @@ -0,0 +1,149 @@ + + + + +{#if settings} + + +
+

Settings

+
+
+ Enable Notifications + +
+ +
+ Light Theme + +
+ +
+ Inject overlay for all websites + +
+ +
+ Browser notification at reward + +
+ +
+ Browser notification actions refill + +
+ +
+
+{:else} + +{/if} + + \ No newline at end of file diff --git a/src/pages/SiteOverlay.svelte b/src/pages/SiteOverlay.svelte new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Usage.svelte b/src/pages/Usage.svelte new file mode 100644 index 0000000..d4d982f --- /dev/null +++ b/src/pages/Usage.svelte @@ -0,0 +1,104 @@ + + +{#if data} +
+

Likes Remaining:

+

{data.actionBars.vote}

+

Follows Remaining:

+

{data.actionBars.follow}

+
+{#if !isReset} +

Refill Coutdown

+
+
+ {hoursSpan} +
Hours
+
+
{minutesSpan} +
Minutes
+
+
{secondsSpan} +
Seconds
+
+
+{:else} +

+

There have been more than 24h since your last reset. +You can now reset your actions by doing a rating.

+{/if} + +{:else} + +{/if} + + + diff --git a/src/popup/index.ts b/src/popup/index.ts new file mode 100644 index 0000000..b4c4ffa --- /dev/null +++ b/src/popup/index.ts @@ -0,0 +1,13 @@ +import "./popup.scss" +import Entry from "@/pages/Entry.svelte"; +// import { storage } from "src/storage"; + +const target = document.getElementById("app"); + +function render() { + // storage.get().then(({ count }) => { + new Entry({target}); + // }); +} + +document.addEventListener("DOMContentLoaded", render); diff --git a/src/popup/popup.html b/src/popup/popup.html new file mode 100644 index 0000000..f27a896 --- /dev/null +++ b/src/popup/popup.html @@ -0,0 +1,11 @@ + + + + + Popup + + +
+ + + diff --git a/src/popup/popup.scss b/src/popup/popup.scss new file mode 100644 index 0000000..1b2cb51 --- /dev/null +++ b/src/popup/popup.scss @@ -0,0 +1,158 @@ +::-webkit-scrollbar{ + height: 7px; + width: 7px; + background: #747474; +} + +::-webkit-scrollbar-thumb { + background: rgb(34, 34, 34); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:horizontal{ + background: rgb(34, 34, 34); + border-radius: 4px; +} + +html{ + scrollbar-width: thin; + scroll-behavior: smooth; +} + +@font-face { + @font-face { + font-family: 'Crete Round'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('../assets//fonts/55xoey1sJNPjPiv1ZZZrxK110b3wKg.woff2') format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } +} + +.main-section { + width: 252px; + margin: auto; +} + +body { + margin: 0; + font-family: 'Crete Round', serif; +} + +a { + color: #e4edff; + font-weight: 300; + letter-spacing: 0.1rem; + transition: color 0.5s ease-in-out; + text-decoration: none; +} + +a:hover { + color: #eeb845; +} + + +.svg-fill { + fill: #e4edff; + transition: fill 0.5s ease-in-out; + } + + .svg-fill:hover { + fill: #eeb845; + } + + .gradient-text { + background-color: #ca4246; + background-image: linear-gradient( + 45deg, + #ca4246 16.666%, + #e16541 16.666%, + #e16541 33.333%, + #f18f43 33.333%, + #f18f43 50%, + #8b9862 50%, + #8b9862 66.666%, + #476098 66.666%, + #476098 83.333%, + #a7489b 83.333% + ); + + background-size: 100%; + background-repeat: repeat; + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + animation: rainbow-text-simple-animation-rev 0.75s ease forwards; + } + + .gradient-text:hover { + animation: rainbow-text-simple-animation 0.5s ease-in forwards; + } + + @keyframes rainbow-text-simple-animation-rev { + 0% { + background-size: 650%; + } + 40% { + background-size: 650%; + } + 100% { + background-size: 100%; + } + } + + @keyframes rainbow-text-simple-animation { + 0% { + background-size: 100%; + } + 80% { + background-size: 650%; + } + 100% { + background-size: 650%; + } + } + + @keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + + @keyframes spin-reverse { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(-360deg); + } + } + + h1 { + font-weight: normal; + font-size: 1.8rem; + text-align: center; + margin-bottom: 0; + display: block; + margin-left: auto; + margin-right: auto; + cursor: pointer; + } + + .interactive-svg { + cursor: pointer; + } + + .interactive-svg:hover { + transform: scale(1.2); + transition: 0.2s; + } + + .interactive-svg:active { + transform: scale(1.1); + transition: 0.2s; + } \ No newline at end of file diff --git a/src/popup/scss/settings.scss b/src/popup/scss/settings.scss new file mode 100644 index 0000000..87e8d4c --- /dev/null +++ b/src/popup/scss/settings.scss @@ -0,0 +1,121 @@ +.switches-settings { + + &[data-theme="green"] { + --primary-light: hsl(160, 79%, 46%); + --primary-dark: hsl(160, 79%, 16%); + --ripple: hsla(160, 79%, 46%, .1); + --focus: hsl(160, 69%, 46%); + } + + &[data-theme="blue"] { + --primary-light: hsl(200, 79%, 46%); + --primary-dark: hsl(200, 79%, 16%); + --ripple: hsla(200, 79%, 46%, .1); + --focus: var(--primary-light); + } + + & { + display: flex; + align-items: center; + + margin-top: 0.8rem; + } + + } + + // main + // ========================================================== + .switch { + + &__label { + position: relative; + cursor: pointer; + } + + &__input { + opacity: 0; + + position: absolute; + top: 50%; + left: 50%; + z-index: -1; + transform: translate(-50%, -50%); + } + + &__input:focus+&__design { + box-shadow: 0 0 0 .1rem var(--global-background), 0 0 0 .2rem var(--focus); + } + + // variables + // ---------------------------------------------------- + & { + --width: 2.6rem; + --height: 1.4rem; + + --background: hsl(0, 0%, 30%); + --checked-background: var(--primary-dark); + + --thumb-size: 0.9rem; + --thumb-ripple-color: var(--ripple); + --thumb-background: hsl(0, 0%, 65%); + --checked-thumb-background: var(--primary-light); + --thumb-space-between-edges: .6rem; + --thumb-out: var(--thumb-space-between-edges); + } + + + &--4 { + --border: 1px solid hsl(0, 0%, 60%); + --background: transparent; + } + + + // appearance + // ---------------------------------------------------- + &__design { + display: inline-block; + + width: var(--width); + height: var(--height); + border: var(--border); + border-radius: 100rem; + + background: var(--background); + position: relative; + + transition: .2s, box-shadow 0s; + } + + &__design::before { + content: ''; + + position: absolute; + left: var(--thumb-out); + top: 50%; + transform: translateY(-50%); + + width: var(--thumb-size); + height: var(--thumb-size); + border-radius: 100rem; + + background: var(--thumb-background); + + transition: inherit; + } + + + // states + // ---------------------------------------------------- + &__input:checked+&__design { + border-color: transparent; + background: var(--checked-background); + } + + &__input:checked+&__design::before { + left: calc(100% - (var(--thumb-size) + var(--thumb-out))); + background: var(--checked-thumb-background); + } + + + } + \ No newline at end of file diff --git a/src/utils/auth.ts b/src/utils/auth.ts new file mode 100644 index 0000000..93368a0 --- /dev/null +++ b/src/utils/auth.ts @@ -0,0 +1,9 @@ + + +export const fetchWAuth = async (store, endpoint: string, options?: any) => { + if (!options) options = {} + if (!options.headers) options.headers = {} + if (!options.headers['Content-Type']) options.headers['Content-Type'] = 'application/json' + if (!options.headers['Authorization']) options.headers['Authorization'] = 'Bearer ' + store.user.auth.authToken + return fetch(endpoint, options) +} diff --git a/src/utils/chrome-misc.ts b/src/utils/chrome-misc.ts new file mode 100644 index 0000000..3d15554 --- /dev/null +++ b/src/utils/chrome-misc.ts @@ -0,0 +1,37 @@ +export const copy = async (text: string) => { + return await navigator.clipboard.writeText(text) +} + +export const chromeUrl = (url: string) => { + return chrome.runtime.getURL(url) +} + + +export const extrenalNavigate = (url) => { + chrome.tabs.create({url}) +} + +export const setBadge = async (text: string, color = '#222') => { + chrome?.action?.setBadgeBackgroundColor({color}) + chrome?.action?.setBadgeText({text}) +} + +export const clearBadge = async () => { + chrome?.action?.setBadgeBackgroundColor({color: '#00000000'}) + chrome?.action?.setBadgeText({text: ''}) +} + +export const getCurrentTab = () => { + return chrome.tabs.query({ + active: true, + lastFocusedWindow: true + }) +} + +export const getExtensionVersion = () => { + return chrome.runtime.getManifest().version +} + +export const reloadExtension = () => { + chrome.runtime.reload() +} \ No newline at end of file diff --git a/src/utils/misc.ts b/src/utils/misc.ts new file mode 100644 index 0000000..9e697fb --- /dev/null +++ b/src/utils/misc.ts @@ -0,0 +1,12 @@ +export const formatNumber = (num: number, digits = 0) => { + return Intl.NumberFormat('en-US', { + notation: 'compact', + maximumFractionDigits: digits + }).format(num) + } + +export const truncteEVMAddr = (addr: string) => ((addr ?? '').length > 4 ? addr.substring(0, 5) + '...' + addr.substring(addr.length - 3) : '') + +export const isUrlInvalid = (url: string) => !url || + !/^http(s)?/gms.test(url) || url.startsWith('http://localhost') + || /^d+\.d+\.d+\.d+\./gms.test(url) || /^http(s)?:\/\/\[/gms.test(url) diff --git a/src/utils/notifications.ts b/src/utils/notifications.ts new file mode 100644 index 0000000..18b5494 --- /dev/null +++ b/src/utils/notifications.ts @@ -0,0 +1,97 @@ +import {API_BASE} from '@/constants/config' +import type { StorageType } from '@/utils/storage' +import { fetchWAuth } from '@/utils/auth' +import { wait } from '@/utils/time' + +export const getNotifications = async ( + { type, limit, skip, userId } = { type: 'all', limit: '10', skip: '0' } as { userId: string, type: string; limit?: string; skip?: string } +) => { + let req + + if (type === 'all') { + req = await fetch(`${API_BASE}/notifications/${userId}?skip=${skip}&limit=${limit}`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json;charset=utf-8' + } + }) + } else if (type === 'vote') { + req = await fetch(`${API_BASE}/notifications/${userId}?skip=${skip}&limit=${limit}&type=vote`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json;charset=utf-8' + } + }) + } else { + req = await fetch(`${API_BASE}/notifications/${userId}?skip=${skip}&limit=${limit}&type=reward`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json;charset=utf-8' + } + }) + } + + if (!req.ok) { + return false + } + const data = await req.json() + return data +} + +export const clearNotifications = async (store: StorageType) => { + let req + let failed = true + let retry = 0 + do { + try { + failed = false + req = await fetchWAuth(store, `${API_BASE}/notifications/${store.user.auth.userId}`) + } catch { + failed = true + await console.log( + `[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications' (probably 💩 network) Recursive retry in 2.5s` + ) + retry++ + if (retry > 3) { + await console.log(`[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications' (probably 💩 network)`) + return + } + await wait(2500) + } + } while (failed) + + retry = 0 + + if (req.ok) { + const notif = await req.json() + + for (const n of notif) { + if (!n.seen) { + const data = { + id: n['_id'] + } + failed = true + do { + try { + failed = false + await fetchWAuth(store, `${API_BASE}/notifications/seen`, { + method: 'POST', + body: JSON.stringify(data) + }) + } catch { + failed = true + await console.log( + `[ Account: ${store.user.auth.userId} ] Failed to mark notification ${data.id} as seen (probably 💩 network) retry in 2.5 seconds.` + ) + retry++ + if (retry > 3) { + await console.log(`[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications seen set' (probably 💩 network)`) + return + } + await wait(2500) + } + } while (failed) + } + } + } +} \ No newline at end of file diff --git a/src/utils/router.ts b/src/utils/router.ts new file mode 100644 index 0000000..8bad912 --- /dev/null +++ b/src/utils/router.ts @@ -0,0 +1,53 @@ + + +const routes = { + '/': { + component: () => import('@/pages/Main.svelte'), + title: 'Main' + }, + '/login': { + component: () => import('@/pages/Login.svelte'), + title: 'Login' + }, + '/usage' : { + component: () => import('@/pages/Usage.svelte'), + title: 'Usage' + }, + '/settings' : { + component: () => import('@/pages/Settings.svelte'), + title: 'Settings' + }, + '/notifications' : { + component: () => import('@/pages/Notifications.svelte'), + title: 'Notifications' + }, + '/info': { + component: () => import('@/pages/Info.svelte'), + title: 'Info' + } +} + +let lastMountedRoute = null + +export const getCurentRouteComponent = () => { + const path = window.location.pathname + return routes[path] +} + +export const getCurrentRoutePath = () => { + return window.location.pathname +} + +export const navigate = (path: string, props: {} = {}) => { + new Promise((resolve) => { + window.history.pushState({}, '', path) + const { component, title } = getCurentRouteComponent() + component().then(({ default: Component }) => { + console.log({ target: document.getElementById('router'), props }) + if (lastMountedRoute) lastMountedRoute.$destroy() + lastMountedRoute = new Component({ target: document.getElementById('router'), props }) + document.title = title + resolve() + }) + }) +} diff --git a/src/utils/storage.ts b/src/utils/storage.ts new file mode 100644 index 0000000..10b178e --- /dev/null +++ b/src/utils/storage.ts @@ -0,0 +1,137 @@ +import { SEND_AUTH_NOTIF } from '@/constants/messeges' + +export const storageDefault = { + user: { + auth: { + ethSignature: '', + userId: '', + address: '', + authToken: '', + username: '', + }, + profile: { + _id: '', + handle: '', + yupScore: 0, + avatar: '', + yup: { + _id: '', + handle: '', + bio: '', + avatar: '', + weight: 0, + balance: 0, + }, + lens: { + avatar: '', + profileId: '', + handle: '', + }, + farcaster: { + fid: '', + handle: '', + avatar: '', + }, + ens: { + handle: '', + }, + } + + }, + settings: { + theme: 'dark', + notificationsEnabled: false, + injectEmbed: false, + chromeNotifWhenReward: false, + chromeNotifWhenAbleToVote: false, + coinGeckoPrice: 0, + hasNewNotifications: false, + refilNotifTimestamp: 0, + } +} + +export const storageNotifsDefault = { + lastRewardNotif: { + createdAt: 0, + id: '', + }, + notifs: [] +} + +export type StorageType = typeof storageDefault + +export const wipeStorage = async () => { + await chrome.storage.local.clear() +} + +export const initStorage = async () => { + const store = await chrome.storage.local.get('store') + const updateStore = { store: { ...storageDefault, ...store.store } } + const updateCondition = !store.store || !store.store.user || !store.store.user.auth || + store.store.user.auth.authToken || !store.store.settings || !store.store.settings.coinGeckoPrice + || !store.store.user.profile || !store.store.user.profile._id + if(updateCondition) { + await chrome.storage.local.set(updateStore) + console.info('Storage initialized') + } + const notifs = await chrome.storage.local.get('notifs') + const updateNotifs = { ...storageNotifsDefault, ...notifs } + const updateNotifsCondition = !notifs.notifs || !notifs.lastRewardNotif + if(updateNotifsCondition) { + await chrome.storage.local.set({ notifs: updateNotifs }) + console.info('Notifs storage initialized') + } +} + +export const getNotifStorage = async () => { + const notifs = await chrome.storage.local.get('notifs') + return notifs ? notifs as typeof storageNotifsDefault : storageNotifsDefault as typeof storageNotifsDefault +} + +export const setNotifStorageNotifs = async (notifs: any[]) => { + const notifsStorage = await getNotifStorage() + await chrome.storage.local.set({ ...notifsStorage, notifs: notifs }) +} + +export const setNotifStorageLastRewardNotif = async (lastRewardNotif) => { + const notifsStorage = await getNotifStorage() + await chrome.storage.local.set({ ...notifsStorage, lastRewardNotif: lastRewardNotif }) +} + +export const setAuth = async (auth) => { + const storeAuth = await chrome.storage.local.get('store') + let profile + try { + const res = await fetch('https://api.yup.io/web3-profiles/' + auth.address) + profile = await res.json() + } catch (error) { + console.error('Error fetching profile', error) + } + const updateObj = { store: { ...storeAuth.store, user: { auth: { ...auth }, } } } + if(profile){ + updateObj.store.user.profile = profile + } + await chrome.storage.local.set(updateObj) + chrome.runtime.sendMessage({ type: SEND_AUTH_NOTIF }) +} + +export const setProfile = async (profile) => { + const store = await chrome.storage.local.get('store') + await chrome.storage.local.set({ store: { ...store.store, user: { ...store.store.user, profile } } }) +} + +export const setSettings = async (settings) => { + const store = await chrome.storage.local.get('store') + await chrome.storage.local.set({ store: { ...store.store, settings: { ...store.store.settings, ...settings } } }) +} + +export const getStore = async () => { + const store = await chrome.storage.local.get('store') + return store ? store.store as StorageType : storageDefault as StorageType +} + +export const getSettings = async () => { + const store = await chrome.storage.local.get('store') + return store ? store.store.settings as StorageType['settings'] : storageDefault.settings as StorageType['settings'] +} + diff --git a/src/utils/store.ts b/src/utils/store.ts new file mode 100644 index 0000000..9fd02ae --- /dev/null +++ b/src/utils/store.ts @@ -0,0 +1,7 @@ +import { writable } from 'svelte/store'; +import type { StorageType } from './storage'; +import { storageDefault } from './storage'; +import type Alert from '@/components/Alert.svelte'; + +export const mainStore = writable(storageDefault) +export const alertStore = writable(null) diff --git a/src/utils/time.ts b/src/utils/time.ts new file mode 100644 index 0000000..27232a9 --- /dev/null +++ b/src/utils/time.ts @@ -0,0 +1,60 @@ +export const getTimeRemaining = (endtime) => { + const t = Date.parse(endtime) - Date.parse(new Date().toISOString()) + return { + 'total': t, + 'days': Math.floor(t / (1000 * 60 * 60 * 24)), + 'hours': Math.floor((t / (1000 * 60 * 60)) % 24), + 'minutes': Math.floor((t / 1000 / 60) % 60), + 'seconds': Math.floor((t / 1000) % 60) + }; + } + + export const timeSince = (date: Date) => { + + const seconds = Math.floor((Date.now() - date.getTime()) / 1000); + let interval = seconds / 31536000; + let intervalType: string; + + if (interval >= 1) { + intervalType = 'year'; + } else { + interval = Math.floor(seconds / 2592000); + if (interval >= 1) { + intervalType = 'month'; + } else { + interval = Math.floor(seconds / 86400); + if (interval >= 1) { + intervalType = 'day'; + } else { + interval = Math.floor(seconds / 3600); + if (interval >= 1) { + intervalType = "hour"; + } else { + interval = Math.floor(seconds / 60); + if (interval >= 1) { + intervalType = "minute"; + } else { + interval = seconds; + intervalType = "second"; + } + } + } + } + } + + if (interval > 1 || interval === 0) { + intervalType += 's'; + } + + return interval + ' ' + intervalType; + } + + export const wait = (ms: number) => { + return new Promise(resolve => setTimeout(resolve, ms)); + } + +export const closeTo = (date1: Date, date2: Date, tolerance: number) => { + const a = date1.getTime() + const b = date2.getTime() + return Math.abs(a - b) < tolerance +} diff --git a/src/utils/types.ts b/src/utils/types.ts new file mode 100644 index 0000000..e1b1b9c --- /dev/null +++ b/src/utils/types.ts @@ -0,0 +1,38 @@ +export interface Vote { + influence: number + like: boolean + postid: string + rating: number + lastUpdated: string + timestamp: string + voter: string + _id: { + voteid: string + } + } + + + export interface Notification { + _id: string + action: string + image: string + invoker: { + username: string + eosname: string + } + like: boolean + post: { + postid: string + url: string + title: string + tag: string + } + seen: boolean + postid: string + rating: number + recipient: string + voter: string + createdAt: string + quantity?: string + message?: string + } \ No newline at end of file diff --git a/src/utils/user.ts b/src/utils/user.ts new file mode 100644 index 0000000..6c0d9ca --- /dev/null +++ b/src/utils/user.ts @@ -0,0 +1,43 @@ + +import {API_BASE} from '@/constants/config' + +export const getNormalizedValue = (val: number, min: number, max: number) => { + return Math.floor(((val - min) / (max - min)) * 100) + } + + export const getMaxVote = (balance: number) => { + return balance >= 100 ? 250 : balance >= 0.5 ? 190 : 130 + } + + export const makePercentage = (val: number) => { + return `${val}%` + } + + export const MAX_DELETE_VOTE = 600 + export const MAX_FOLLOW_USAGE = 60 + +export const getActionUsage = async (userId: string) => { + try { + const req = await fetch(`${API_BASE}/accounts/actionusage/${userId}`) + if (req.ok) { + return { error: false, data: await req.json() } + } + return { error: true, msg: "API didn't return expected response." } + } catch { + return { error: true, msg: 'API is not available' } + } + } + + export const createActionUsage = async (userId: string, balance: number) => { + const data = await getActionUsage(userId) + if (data.error) return { error: true, msg: 'API returned error' } + const MAX_VOTE = getMaxVote(balance) + return { + nextReset: new Date(data.data.lastReset + 864e5).toLocaleString(), + actionBars: { + deleteVote: makePercentage(getNormalizedValue(MAX_DELETE_VOTE - data.data.deleteVoteCount, 0, MAX_DELETE_VOTE)), + follow: makePercentage(getNormalizedValue(MAX_FOLLOW_USAGE - data.data.followCount, 0, MAX_FOLLOW_USAGE)), + vote: makePercentage(getNormalizedValue(MAX_VOTE - data.data.createVoteCount, 0, MAX_VOTE)) + } + } + } \ No newline at end of file diff --git a/src/utils/votes.ts b/src/utils/votes.ts new file mode 100644 index 0000000..2b3761f --- /dev/null +++ b/src/utils/votes.ts @@ -0,0 +1,84 @@ +import type { Vote } from './types' +import { fetchWAuth } from './auth' + +const API_BASE = 'https://api.yup.io' + +export const getPost = async (url: string): Promise => { + try { + const res = await fetch('https://api.yup.io/posts/post/url', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + url + }) + }) + if(res.ok) { + return (await res.json())?.[0] ?? null + } + } catch { + return null + } + } + +export const hasVote = (postId: string, account: string): Promise => { + return new Promise((resolve) => { + fetch(`${API_BASE}/votes/post/${postId}/voter/${account}`).then((res) => { + if (res.ok) { + res.json().then((json) => { + resolve(json) + }) + } else { + resolve([] as Vote[]) + } + }) + }) + } + +export const executeVote = async ({ + userVote, + post, + url, + $mainStore, + $alertStore, + noVoteAlert = false + }) => { + const body = {} as Record + let voteid = '' + if (userVote?._id) { + voteid = userVote._id.voteid + } else if(post) { + body.postid = post._id.postid + } else { + body.url = url + } + body.rating = userVote.rating + body.voter = $mainStore.user.auth.userId + console.log(body.voter) + if (userVote.like) { + body.like = true + } else { + body.like = false + } + const req = await fetchWAuth($mainStore, `${API_BASE}/votes${voteid ? '/' + voteid : ''}`, { + method: 'POST', + body: JSON.stringify(body) + }) + if (req.ok) { + noVoteAlert || $alertStore?.show('Rating submited!') + return await req.json() + } else { + const err = await req.text() + if (err.includes('limit')) { + $alertStore?.show('Rating limit consumed!!!', 'warning') + } else if(err.includes('requests')) { + $alertStore?.show('You have made too many request try aagin after 24h', 'warning') + } else if(err.toLocaleLowerCase().includes('unauthorized')) { + $alertStore?.show('Seem your auth token is not valid anymore re-login!!', 'error') + } else { + $alertStore?.show('Vote not submited due to error try to re-login!', 'error') + } + return null + } + } \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..4078e74 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..924f2bd --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,9 @@ +import sveltePreprocess from "svelte-preprocess"; +import { windi } from 'svelte-windicss-preprocess'; + + +export default { + // Consult https://github.com/sveltejs/svelte-preprocess + // for more information about preprocessors + preprocess: [windi({}), sveltePreprocess()] +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e06bdc0 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "resolveJsonModule": true, + "baseUrl": ".", + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "isolatedModules": false, + "paths": { + "@/*": ["./src/*", "./dist/*"] + } + }, + "include": [ + "src/**/*.d.ts", + "src/**/*.ts", + "src/**/*.js", + "src/**/*.svelte" + ], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..4fb016f --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,11 @@ +// vite tsconfig +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts", "manifest.json"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..0a9b3a0 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,18 @@ +import { crx } from "@crxjs/vite-plugin"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; +import { resolve } from "path"; +import { defineConfig } from "vite"; +import manifest from "./manifest.json"; + +const srcDir = resolve(__dirname, "src"); + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [svelte(), crx({ manifest })], + resolve: { + alias: { + src: srcDir, + '@': srcDir + }, + }, +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..2275390 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1729 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.20.5": + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" + integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== + +"@babel/core@^7.20.12": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.20.7": + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" + integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.20.11": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.20.7": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" + integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.13" + "@babel/types" "^7.20.7" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.20.13", "@babel/parser@^7.20.7": + version "7.20.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" + integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" + integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.13" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@crxjs/vite-plugin@^1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@crxjs/vite-plugin/-/vite-plugin-1.0.14.tgz#b0f6e2bdcdfbc090b2f3765408cc8743af382ade" + integrity sha512-emOueVCqFRFmpcfT80Xsm4mfuFw9VSp5GY4eh5qeLDeiP81g0hddlobVQCo0pE2ZvNnWbyhLrXEYAaMAXjNL6A== + dependencies: + "@rollup/pluginutils" "^4.1.2" + "@webcomponents/custom-elements" "^1.5.0" + acorn-walk "^8.2.0" + cheerio "^1.0.0-rc.10" + connect-injector "^0.4.4" + debug "^4.3.3" + es-module-lexer "^0.10.0" + fast-glob "^3.2.11" + fs-extra "^10.0.1" + jsesc "^3.0.2" + magic-string "^0.26.0" + picocolors "^1.0.0" + react-refresh "^0.13.0" + rollup "^2.70.2" + optionalDependencies: + "@vitejs/plugin-react" ">=1.2.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@esbuild/android-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" + integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== + +"@esbuild/android-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" + integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== + +"@esbuild/android-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" + integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== + +"@esbuild/darwin-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" + integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== + +"@esbuild/darwin-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" + integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== + +"@esbuild/freebsd-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" + integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== + +"@esbuild/freebsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" + integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== + +"@esbuild/linux-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" + integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== + +"@esbuild/linux-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" + integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== + +"@esbuild/linux-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" + integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== + +"@esbuild/linux-loong64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" + integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== + +"@esbuild/linux-mips64el@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" + integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== + +"@esbuild/linux-ppc64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" + integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== + +"@esbuild/linux-riscv64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" + integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== + +"@esbuild/linux-s390x@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" + integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== + +"@esbuild/linux-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" + integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== + +"@esbuild/netbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" + integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== + +"@esbuild/openbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" + integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== + +"@esbuild/sunos-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" + integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== + +"@esbuild/win32-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" + integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== + +"@esbuild/win32-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" + integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== + +"@esbuild/win32-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" + integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== + +"@iconify/json@1.1.426": + version "1.1.426" + resolved "https://registry.yarnpkg.com/@iconify/json/-/json-1.1.426.tgz#55b68e59ef627a6beaf804167ed799fdde60932c" + integrity sha512-hY0VC4JAnHaXdHkUzNuoSGKS493TN+tu6BVFmT/olNVZgl2ovwiOjNhpEhBHEcOb9DRV6cV5kZH9YeNzMlVTog== + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@rollup/pluginutils@^4.1.2": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@sveltejs/vite-plugin-svelte@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz#943090239a31b2e0546837ff7649b73aeb46614c" + integrity sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg== + dependencies: + debug "^4.3.4" + deepmerge "^4.2.2" + kleur "^4.1.5" + magic-string "^0.27.0" + svelte-hmr "^0.15.1" + vitefu "^0.2.3" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@tsconfig/svelte@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@tsconfig/svelte/-/svelte-3.0.0.tgz#b06e059209f04c414de0069f2f0e2796d979fc6f" + integrity sha512-pYrtLtOwku/7r1i9AMONsJMVYAtk3hzOfiGNekhtq5tYBGA7unMve8RvUclKLMT3PrihvJqUmzsRGh0RP84hKg== + +"@types/chrome@^0.0.212": + version "0.0.212" + resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.212.tgz#d4d189c14db8c10f57fc335864bd7c673794f4a1" + integrity sha512-O9blKfj6mQyBvkexEa71xcpRfkjAu8izQD3qGYfdwffk+mJhF7eogz628bZr5dETT6Eu7vU0stUGYG/+EQWj9g== + dependencies: + "@types/filesystem" "*" + "@types/har-format" "*" + +"@types/filesystem@*": + version "0.0.32" + resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.32.tgz#307df7cc084a2293c3c1a31151b178063e0a8edf" + integrity sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ== + dependencies: + "@types/filewriter" "*" + +"@types/filewriter@*": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.29.tgz#a48795ecadf957f6c0d10e0c34af86c098fa5bee" + integrity sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ== + +"@types/har-format@*": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.10.tgz#7b4e1e0ada4d17684ac3b05d601a4871cfab11fc" + integrity sha512-o0J30wqycjF5miWDKYKKzzOU1ZTLuA42HZ4HE7/zqTOc/jTLdQ5NhYWvsRQo45Nfi1KHoRdNhteSI4BAxTF1Pg== + +"@types/node@*": + version "18.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== + +"@types/pug@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.6.tgz#f830323c88172e66826d0bde413498b61054b5a6" + integrity sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg== + +"@types/sass@^1.43.1": + version "1.43.1" + resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.43.1.tgz#86bb0168e9e881d7dade6eba16c9ed6d25dc2f68" + integrity sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g== + dependencies: + "@types/node" "*" + +"@vitejs/plugin-react@>=1.2.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" + integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== + dependencies: + "@babel/core" "^7.20.12" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.27.0" + react-refresh "^0.14.0" + +"@webcomponents/custom-elements@^1.5.0": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@webcomponents/custom-elements/-/custom-elements-1.5.1.tgz#48029f6c62b94a4b49be061ca1dae04ab9681ace" + integrity sha512-6T/XT3S1UHDlRWFSxRXdeSoYWczEl78sygNPS7jDyHVrfZcF/pUtWGYgxF4uviH59iPVw1eOWbhubm8CqO0MpA== + +acorn-walk@^8.1.1, acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +archiver-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" + integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== + dependencies: + glob "^7.1.4" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash.defaults "^4.2.0" + lodash.difference "^4.5.0" + lodash.flatten "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.union "^4.6.0" + normalize-path "^3.0.0" + readable-stream "^2.0.0" + +archiver@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6" + integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w== + dependencies: + archiver-utils "^2.1.0" + async "^3.2.3" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.0.0" + tar-stream "^2.2.0" + zip-stream "^4.1.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@^0.2.5: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001449: + version "1.0.30001451" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1" + integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.10: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +compress-commons@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" + integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== + dependencies: + buffer-crc32 "^0.2.13" + crc32-stream "^4.0.2" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect-injector@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/connect-injector/-/connect-injector-0.4.4.tgz#a81959c31ecf5caa0f3dcc325c28ed90b830aa90" + integrity sha512-hdBG8nXop42y2gWCqOV8y1O3uVk4cIU+SoxLCPyCUKRImyPiScoNiSulpHjoktRU1BdI0UzoUdxUa87thrcmHw== + dependencies: + debug "^2.0.0" + q "^1.0.1" + stream-buffers "^0.2.3" + uberproto "^1.1.0" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +crc32-stream@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" + integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== + dependencies: + crc-32 "^1.2.0" + readable-stream "^3.4.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +debug@^2.0.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.1.0, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deepmerge@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== + +detect-indent@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + +electron-to-chromium@^1.4.284: + version "1.4.293" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.293.tgz#eaea755ad37a0f1759874a8597b33be62def2781" + integrity sha512-h7vBlhC83NsgC9UO3LOZx91xgstIrHk5iqMbZgnEArL5rHTM6HfsUZhnwb3oRnNetXM1741kB9SO7x9jLshz5A== + +end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +es-module-lexer@^0.10.0: + version "0.10.5" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.10.5.tgz#06f76d51fa53b1f78e3bd8bb36dd275eda2fdd53" + integrity sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw== + +es6-promise@^3.1.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== + +esbuild@^0.16.14: + version "0.16.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" + integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== + optionalDependencies: + "@esbuild/android-arm" "0.16.17" + "@esbuild/android-arm64" "0.16.17" + "@esbuild/android-x64" "0.16.17" + "@esbuild/darwin-arm64" "0.16.17" + "@esbuild/darwin-x64" "0.16.17" + "@esbuild/freebsd-arm64" "0.16.17" + "@esbuild/freebsd-x64" "0.16.17" + "@esbuild/linux-arm" "0.16.17" + "@esbuild/linux-arm64" "0.16.17" + "@esbuild/linux-ia32" "0.16.17" + "@esbuild/linux-loong64" "0.16.17" + "@esbuild/linux-mips64el" "0.16.17" + "@esbuild/linux-ppc64" "0.16.17" + "@esbuild/linux-riscv64" "0.16.17" + "@esbuild/linux-s390x" "0.16.17" + "@esbuild/linux-x64" "0.16.17" + "@esbuild/netbsd-x64" "0.16.17" + "@esbuild/openbsd-x64" "0.16.17" + "@esbuild/sunos-x64" "0.16.17" + "@esbuild/win32-arm64" "0.16.17" + "@esbuild/win32-ia32" "0.16.17" + "@esbuild/win32-x64" "0.16.17" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fast-glob@^3.2.11, fast-glob@^3.2.7: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +htmlparser2@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010" + integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + domutils "^3.0.1" + entities "^4.3.0" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +immutable@^4.0.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +kleur@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.union@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +magic-string@^0.26.0: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== + dependencies: + sourcemap-codec "^1.4.8" + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss@^8.4.21: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +q@^1.0.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +react-refresh@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.13.0.tgz#cbd01a4482a177a5da8d44c9755ebb1f26d5a1c1" + integrity sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +readable-stream@^2.0.0, readable-stream@^2.0.5: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdir-glob@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.2.tgz#b185789b8e6a43491635b6953295c5c5e3fd224c" + integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA== + dependencies: + minimatch "^5.1.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^2.5.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rollup@^2.70.2: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +rollup@^3.10.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.14.0.tgz#f5925255f3b6e8de1dba3916d7619c7da5708d95" + integrity sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +sade@^1.7.4: + version "1.8.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== + dependencies: + mri "^1.1.0" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +sander@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" + integrity sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA== + dependencies: + es6-promise "^3.1.2" + graceful-fs "^4.1.3" + mkdirp "^0.5.1" + rimraf "^2.5.2" + +sass@^1.58.0: + version "1.58.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" + integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +sorcery@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.11.0.tgz#310c80ee993433854bb55bb9aa4003acd147fca8" + integrity sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.14" + buffer-crc32 "^0.2.5" + minimist "^1.2.0" + sander "^0.5.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +stream-buffers@^0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-0.2.6.tgz#181c08d5bb3690045f69401b9ae6a7a0cf3313fc" + integrity sha512-ZRpmWyuCdg0TtNKk8bEqvm13oQvXMmzXDsfD4cBgcx5LouborvU5pm3JMkdTP3HcszyUI08AM1dHMXA5r2g6Sg== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svelte-check@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-3.0.3.tgz#7e89fe4d2adc43869983707822f7c4d7ede74505" + integrity sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + chokidar "^3.4.1" + fast-glob "^3.2.7" + import-fresh "^3.2.1" + picocolors "^1.0.0" + sade "^1.7.4" + svelte-preprocess "^5.0.0" + typescript "^4.9.4" + +svelte-hmr@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.15.1.tgz#d11d878a0bbb12ec1cba030f580cd2049f4ec86b" + integrity sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA== + +svelte-preprocess@^5.0.0, svelte-preprocess@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-5.0.1.tgz#3dd21a17eb508347d4b26a0d98059d23e2d1b9a0" + integrity sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ== + dependencies: + "@types/pug" "^2.0.6" + "@types/sass" "^1.43.1" + detect-indent "^6.1.0" + magic-string "^0.27.0" + sorcery "^0.11.0" + strip-indent "^3.0.0" + +svelte-windicss-preprocess@~4.1.0: + version "4.1.7" + resolved "https://registry.yarnpkg.com/svelte-windicss-preprocess/-/svelte-windicss-preprocess-4.1.7.tgz#2c9b5c9bee0be98262de6642ea2ad88c5cb7c091" + integrity sha512-+jQD1zlpOlKg1AFOs/2wrubzUbRzG4KBCzeho7kXyUoSi4OOWqMP1l4roHZTEOqLqmja4eVi0RVEI5RhjqgZIA== + dependencies: + "@iconify/json" "1.1.426" + windicss "3.2.1" + windicss-runtime-dom "3.0.0" + +svelte@^3.55.1: + version "3.55.1" + resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.55.1.tgz#6f93b153e5248039906ce5fe196efdb9e05dfce8" + integrity sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ== + +tar-stream@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +typescript@^4.9.4, typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +uberproto@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/uberproto/-/uberproto-1.2.0.tgz#61d4eab024f909c4e6ea52be867c4894a4beeb76" + integrity sha512-pGtPAQmLwh+R9w81WVHzui1FfedpQWQpiaIIfPCwhtsBez4q6DYbJFfyXPVHPUTNFnedAvNEnkoFiLuhXIR94w== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +vite@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.1.tgz#3b18b81a4e85ce3df5cbdbf4c687d93ebf402e6b" + integrity sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg== + dependencies: + esbuild "^0.16.14" + postcss "^8.4.21" + resolve "^1.22.1" + rollup "^3.10.0" + optionalDependencies: + fsevents "~2.3.2" + +vitefu@^0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.4.tgz#212dc1a9d0254afe65e579351bed4e25d81e0b35" + integrity sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g== + +windicss-runtime-dom@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/windicss-runtime-dom/-/windicss-runtime-dom-3.0.0.tgz#1b7d4d7e07099a6f38b681adeb272992e57858d5" + integrity sha512-a12Uhu71yT1U8w0PzJ3amF9xmC8b1rWFLgXEfI/UyuwUi6D1vUACOO6vb0iY4T4OtP/bJAjQMM7lv3hMWSwLuQ== + +windicss@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/windicss/-/windicss-3.2.1.tgz#bd0f7b9ebabba04ea8dfedcbb0263c2ef9591db4" + integrity sha512-LusrIrryBFHAPQ/OOTbS4EWWuzI6eGeJglI9nQ3kDBr1cqH69NWt8Z8q59f9kTkgptXroejmWfksWwqgHs8EVw== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yarn-upgrade-all@^0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.7.2.tgz#5d2afa9230661c55f22d3f848f22258db732ae20" + integrity sha512-iVxmoBuNdpxeahAIehJ039Pp6S8zQ/qTENQRMV5hp7x/2tLGUzytCODIKZFjfUwcRRKT3boGgHheUEWC7+VlQw== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +zip-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" + integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== + dependencies: + archiver-utils "^2.1.0" + compress-commons "^4.1.0" + readable-stream "^3.6.0"
+ + +

+ YUP +

+
+ {#if loading} + + {:else if auth} +
+ {#if currentRoute !== '/info'} + lNavigate('/info')} aria-hidden="true" viewBox="0 0 512 512" class="w-6 mx-1 interactive-svg"> + {/if} + {#if currentRoute !== '/'} + lNavigate('/')} aria-hidden="true" class="w-6 mx-1 interactive-svg" viewBox="0 0 24 24"> + {/if} + {#if currentRoute !== '/usage' } + lNavigate('/usage')} aria-hidden="true" class="w-6 mx-1 interactive-svg" viewBox="0 0 512 512"> + {/if} + {#if currentRoute !== '/settings' } + lNavigate('/settings')} aria-hidden="true" class="w-6 mx-1 interactive-svg" viewBox="0 0 32 32" > + {/if} + {#if currentRoute !== '/notifications' && $mainStore.settings.notificationsEnabled } + {@const hasNew = $mainStore.settings.hasNewNotifications} + lNavigate('/notifications')} aria-hidden="true" viewBox="0 0 512 512"> + + + + {/if} +
+ + {/if} + +
+ +