From 832b3bb33d50fe62056550441fb4d9c8c5b3f322 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:43:06 +0100 Subject: [PATCH] feat: monorepo --- capacitor/.gitignore | 10 + capacitor/LICENSE | 21 + capacitor/capacitor.config.js | 20 + capacitor/index.html | 21 + capacitor/package.json | 26 + capacitor/src/App.svelte | 1 + capacitor/src/main.js | 7 + capacitor/webpack.config.cjs | 54 + {src/renderer => common}/App.svelte | 112 +- {src/renderer => common}/Router.svelte | 0 .../components/FontSelect.svelte | 0 .../components/Logout.svelte | 0 .../components/Menubar.svelte | 0 .../components/Search.svelte | 0 .../components/Sidebar.svelte | 0 .../renderer => common}/components/Tab.svelte | 0 .../components/TabLabel.svelte | 0 .../components/Tabination.js | 0 .../components/Tabs.svelte | 0 .../components/banner/Banner.svelte | 0 .../components/banner/FullBanner.svelte | 0 .../components/banner/SkeletonBanner.svelte | 0 .../components/cards/Card.svelte | 0 .../components/cards/EpisodeCard.svelte | 0 .../cards/EpisodePreviewCard.svelte | 0 .../cards/EpisodeSkeletonCard.svelte | 0 .../components/cards/FullCard.svelte | 0 .../components/cards/FullSkeletonCard.svelte | 0 .../components/cards/PreviewCard.svelte | 0 .../components/cards/SkeletonCard.svelte | 0 .../components/cards/SmallCard.svelte | 0 {src/renderer => common}/css.css | 0 common/jsconfig.json | 15 + {src/renderer => common}/main.js | 0 {src/renderer => common}/modules/anilist.js | 0 {src/renderer => common}/modules/anime.js | 920 +++---- {src/renderer => common}/modules/click.js | 0 {src/renderer => common}/modules/clipboard.js | 0 .../modules/providers/cat.js | 0 .../modules/providers/tosho.js | 0 {src/renderer => common}/modules/rss.js | 0 {src/renderer => common}/modules/scroll.js | 0 {src/renderer => common}/modules/sections.js | 0 {src/renderer => common}/modules/settings.js | 0 {src/renderer => common}/modules/subtitles.js | 0 {src/renderer => common}/modules/themes.js | 0 {src/renderer => common}/modules/torrent.js | 0 {src/renderer => common}/modules/util.js | 0 common/package.json | 23 + {src/renderer => common}/public/Roboto.ttf | Bin {src/renderer => common}/public/logo.ico | Bin {src/renderer => common}/public/logo_cut.png | Bin common/tsconfig.json | 15 + types.d.ts => common/types.d.ts | 0 {src/common => common}/util.js | 0 .../views/AiringSchedule.svelte | 0 .../views/Home/Home.svelte | 0 .../views/Home/Section.svelte | 0 .../renderer => common}/views/IspBlock.svelte | 74 +- .../views/Player/MediaHandler.svelte | 0 .../views/Player/Player.svelte | 0 {src/renderer => common}/views/RSSView.svelte | 0 {src/renderer => common}/views/Search.svelte | 150 +- .../renderer => common}/views/Settings.svelte | 0 .../Settings/HomeSectionsSettings.svelte | 0 .../views/ViewAnime/Controls.svelte | 0 .../views/ViewAnime/Details.svelte | 0 .../views/ViewAnime/EpisodeList.svelte | 0 .../views/ViewAnime/Following.svelte | 0 .../views/ViewAnime/ToggleList.svelte | 0 .../views/ViewAnime/ViewAnime copy.svelte | 0 .../views/ViewAnime/ViewAnime.svelte | 0 .../views/ViewAnime/ViewTrailer.svelte | 0 .../views/WatchTogether/Lobby.svelte | 0 .../views/WatchTogether/WatchTogether.svelte | 0 common/webpack.config.cjs | 98 + .../buildResources}/entitlements.mac.plist | 0 .../buildResources}/icon.icns | Bin .../buildResources}/icon.png | Bin .../buildResources}/notarize.js | 0 electron/package.json | 112 + .../src}/background/background.js | 2 +- {src => electron/src}/background/parser.js | 2 +- {src => electron/src}/main/discord.js | 0 {src => electron/src}/main/main.js | 0 {src => electron/src}/main/protocol.js | 0 {src => electron/src}/main/store.js | 0 {src => electron/src}/main/updater.js | 0 {src => electron/src}/main/util.js | 0 {src => electron/src}/preload/preload.js | 0 electron/webpack.config.cjs | 70 + jsconfig.json | 5 - package.json | 142 +- pnpm-lock.yaml | 2220 ++++++++++------- pnpm-workspace.yaml | 0 tsconfig.json | 5 - webpack.config.cjs | 159 -- 97 files changed, 2466 insertions(+), 1818 deletions(-) create mode 100644 capacitor/.gitignore create mode 100644 capacitor/LICENSE create mode 100644 capacitor/capacitor.config.js create mode 100644 capacitor/index.html create mode 100644 capacitor/package.json create mode 100644 capacitor/src/App.svelte create mode 100644 capacitor/src/main.js create mode 100644 capacitor/webpack.config.cjs rename {src/renderer => common}/App.svelte (96%) rename {src/renderer => common}/Router.svelte (100%) rename {src/renderer => common}/components/FontSelect.svelte (100%) rename {src/renderer => common}/components/Logout.svelte (100%) rename {src/renderer => common}/components/Menubar.svelte (100%) rename {src/renderer => common}/components/Search.svelte (100%) rename {src/renderer => common}/components/Sidebar.svelte (100%) rename {src/renderer => common}/components/Tab.svelte (100%) rename {src/renderer => common}/components/TabLabel.svelte (100%) rename {src/renderer => common}/components/Tabination.js (100%) rename {src/renderer => common}/components/Tabs.svelte (100%) rename {src/renderer => common}/components/banner/Banner.svelte (100%) rename {src/renderer => common}/components/banner/FullBanner.svelte (100%) rename {src/renderer => common}/components/banner/SkeletonBanner.svelte (100%) rename {src/renderer => common}/components/cards/Card.svelte (100%) rename {src/renderer => common}/components/cards/EpisodeCard.svelte (100%) rename {src/renderer => common}/components/cards/EpisodePreviewCard.svelte (100%) rename {src/renderer => common}/components/cards/EpisodeSkeletonCard.svelte (100%) rename {src/renderer => common}/components/cards/FullCard.svelte (100%) rename {src/renderer => common}/components/cards/FullSkeletonCard.svelte (100%) rename {src/renderer => common}/components/cards/PreviewCard.svelte (100%) rename {src/renderer => common}/components/cards/SkeletonCard.svelte (100%) rename {src/renderer => common}/components/cards/SmallCard.svelte (100%) rename {src/renderer => common}/css.css (100%) create mode 100644 common/jsconfig.json rename {src/renderer => common}/main.js (100%) rename {src/renderer => common}/modules/anilist.js (100%) rename {src/renderer => common}/modules/anime.js (97%) rename {src/renderer => common}/modules/click.js (100%) rename {src/renderer => common}/modules/clipboard.js (100%) rename {src/renderer => common}/modules/providers/cat.js (100%) rename {src/renderer => common}/modules/providers/tosho.js (100%) rename {src/renderer => common}/modules/rss.js (100%) rename {src/renderer => common}/modules/scroll.js (100%) rename {src/renderer => common}/modules/sections.js (100%) rename {src/renderer => common}/modules/settings.js (100%) rename {src/renderer => common}/modules/subtitles.js (100%) rename {src/renderer => common}/modules/themes.js (100%) rename {src/renderer => common}/modules/torrent.js (100%) rename {src/renderer => common}/modules/util.js (100%) create mode 100644 common/package.json rename {src/renderer => common}/public/Roboto.ttf (100%) rename {src/renderer => common}/public/logo.ico (100%) rename {src/renderer => common}/public/logo_cut.png (100%) create mode 100644 common/tsconfig.json rename types.d.ts => common/types.d.ts (100%) rename {src/common => common}/util.js (100%) rename {src/renderer => common}/views/AiringSchedule.svelte (100%) rename {src/renderer => common}/views/Home/Home.svelte (100%) rename {src/renderer => common}/views/Home/Section.svelte (100%) rename {src/renderer => common}/views/IspBlock.svelte (98%) rename {src/renderer => common}/views/Player/MediaHandler.svelte (100%) rename {src/renderer => common}/views/Player/Player.svelte (100%) rename {src/renderer => common}/views/RSSView.svelte (100%) rename {src/renderer => common}/views/Search.svelte (96%) rename {src/renderer => common}/views/Settings.svelte (100%) rename {src/renderer => common}/views/Settings/HomeSectionsSettings.svelte (100%) rename {src/renderer => common}/views/ViewAnime/Controls.svelte (100%) rename {src/renderer => common}/views/ViewAnime/Details.svelte (100%) rename {src/renderer => common}/views/ViewAnime/EpisodeList.svelte (100%) rename {src/renderer => common}/views/ViewAnime/Following.svelte (100%) rename {src/renderer => common}/views/ViewAnime/ToggleList.svelte (100%) rename {src/renderer => common}/views/ViewAnime/ViewAnime copy.svelte (100%) rename {src/renderer => common}/views/ViewAnime/ViewAnime.svelte (100%) rename {src/renderer => common}/views/ViewAnime/ViewTrailer.svelte (100%) rename {src/renderer => common}/views/WatchTogether/Lobby.svelte (100%) rename {src/renderer => common}/views/WatchTogether/WatchTogether.svelte (100%) create mode 100644 common/webpack.config.cjs rename {buildResources => electron/buildResources}/entitlements.mac.plist (100%) rename {buildResources => electron/buildResources}/icon.icns (100%) rename {buildResources => electron/buildResources}/icon.png (100%) rename {buildResources => electron/buildResources}/notarize.js (100%) create mode 100644 electron/package.json rename {src => electron/src}/background/background.js (99%) rename {src => electron/src}/background/parser.js (97%) rename {src => electron/src}/main/discord.js (100%) rename {src => electron/src}/main/main.js (100%) rename {src => electron/src}/main/protocol.js (100%) rename {src => electron/src}/main/store.js (100%) rename {src => electron/src}/main/updater.js (100%) rename {src => electron/src}/main/util.js (100%) rename {src => electron/src}/preload/preload.js (100%) create mode 100644 electron/webpack.config.cjs create mode 100644 pnpm-workspace.yaml delete mode 100644 webpack.config.cjs diff --git a/capacitor/.gitignore b/capacitor/.gitignore new file mode 100644 index 0000000..2c0c2a2 --- /dev/null +++ b/capacitor/.gitignore @@ -0,0 +1,10 @@ +/node_modules/ +/public/build/ +/public +.routify/ +android/ +ios/ + +package-lock.json +.env +.DS_Store diff --git a/capacitor/LICENSE b/capacitor/LICENSE new file mode 100644 index 0000000..4fac407 --- /dev/null +++ b/capacitor/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 t. Macleod Sawyer + +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/capacitor/capacitor.config.js b/capacitor/capacitor.config.js new file mode 100644 index 0000000..6ea64fb --- /dev/null +++ b/capacitor/capacitor.config.js @@ -0,0 +1,20 @@ +const config = { + appId: 'watch.miru', + appName: 'Miru', + webDir: 'public', + bundledWebRuntime: false, + plugins: { + SplashScreen: { + launchShowDuration: 0 + } + }, + // remove server section before making production build + server: { + // for android only, below settings will work out of the box + // for iOS or both, change the url to http://your-device-ip + // To discover your workstation IP, just run ifconfig + url: 'http://10.0.2.2:5001', + cleartext: true + } +} +module.exports = config diff --git a/capacitor/index.html b/capacitor/index.html new file mode 100644 index 0000000..a8fd593 --- /dev/null +++ b/capacitor/index.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + + Svelte_Capacitor v2.0.0 + + + +
+ + + + \ No newline at end of file diff --git a/capacitor/package.json b/capacitor/package.json new file mode 100644 index 0000000..7658861 --- /dev/null +++ b/capacitor/package.json @@ -0,0 +1,26 @@ +{ + "scripts": { + "build:app": "vite build", + "build:android": "run-s build:app cap-run:android", + "build:ios": "run-s build:app cap-run:ios", + "cap-run:android": "cap sync android && cap open android", + "cap-run:ios": "cap sync ios && cap open ios", + "dev:ios": "run-p dev:start cap-run:ios", + "dev:android": "run-p dev:start cap-run:android", + "dev:preview": "vite preview", + "dev:start": "run-p dev:vite", + "dev:vite": "vite --host --port 5001" + }, + "devDependencies": { + "cordova-res": "^0.15.4" + }, + "dependencies": { + "@capacitor/android": "^5.5.1", + "@capacitor/cli": "^5.5.1", + "@capacitor/core": "^5.5.1", + "@capacitor/ios": "^5.5.1", + "cordova-plugin-chrome-apps-common": "^1.0.7", + "cordova-plugin-chrome-apps-sockets-tcp": "github:KoenLav/cordova-plugin-chrome-apps-sockets-tcp", + "cordova-plugin-chrome-apps-sockets-udp": "^1.3.0" + } +} diff --git a/capacitor/src/App.svelte b/capacitor/src/App.svelte new file mode 100644 index 0000000..01b86dc --- /dev/null +++ b/capacitor/src/App.svelte @@ -0,0 +1 @@ +

uwu

diff --git a/capacitor/src/main.js b/capacitor/src/main.js new file mode 100644 index 0000000..d8200ac --- /dev/null +++ b/capacitor/src/main.js @@ -0,0 +1,7 @@ +import App from './App.svelte' + +const app = new App({ + target: document.getElementById('app') +}) + +export default app diff --git a/capacitor/webpack.config.cjs b/capacitor/webpack.config.cjs new file mode 100644 index 0000000..e52ba04 --- /dev/null +++ b/capacitor/webpack.config.cjs @@ -0,0 +1,54 @@ +import webpack from 'webpack' +import TerserPlugin from 'terser-webpack-plugin' +import info from 'webtorrent/package.json' assert { type: 'json' } + +/** @type {import('webpack').Configuration} */ +export default { + entry: './index.js', + devtool: 'source-map', + resolve: { + aliasFields: ['chromeapp'], + alias: { + ...info.chromeapp, + path: 'path-esm', + stream: 'stream-browserify', + timers: 'timers-browserify', + crypto: 'crypto-browserify', + buffer: 'buffer', + querystring: 'querystring', + zlib: '/polyfills/inflate-sync-web.js' + } + }, + output: { + chunkFormat: 'module', + filename: 'webtorrent.chromeapp.js', + library: { + type: 'module' + } + }, + mode: 'production', + target: 'web', + experiments: { + outputModule: true + }, + plugins: [ + new webpack.ProvidePlugin({ + process: '/polyfills/process-fast.js', + Buffer: ['buffer', 'Buffer'] + }), + new webpack.DefinePlugin({ + global: 'globalThis' + }) + ], + optimization: { + minimize: true, + minimizer: [new TerserPlugin({ + terserOptions: { + format: { + comments: false + } + }, + extractComments: false + })] + } +} diff --git a/src/renderer/App.svelte b/common/App.svelte similarity index 96% rename from src/renderer/App.svelte rename to common/App.svelte index fb29d71..83f9767 100644 --- a/src/renderer/App.svelte +++ b/common/App.svelte @@ -1,56 +1,56 @@ - - - - -
- - - - - -
- - - -
-
- - + + + + +
+ + + + + +
+ + + +
+
+ + diff --git a/src/renderer/Router.svelte b/common/Router.svelte similarity index 100% rename from src/renderer/Router.svelte rename to common/Router.svelte diff --git a/src/renderer/components/FontSelect.svelte b/common/components/FontSelect.svelte similarity index 100% rename from src/renderer/components/FontSelect.svelte rename to common/components/FontSelect.svelte diff --git a/src/renderer/components/Logout.svelte b/common/components/Logout.svelte similarity index 100% rename from src/renderer/components/Logout.svelte rename to common/components/Logout.svelte diff --git a/src/renderer/components/Menubar.svelte b/common/components/Menubar.svelte similarity index 100% rename from src/renderer/components/Menubar.svelte rename to common/components/Menubar.svelte diff --git a/src/renderer/components/Search.svelte b/common/components/Search.svelte similarity index 100% rename from src/renderer/components/Search.svelte rename to common/components/Search.svelte diff --git a/src/renderer/components/Sidebar.svelte b/common/components/Sidebar.svelte similarity index 100% rename from src/renderer/components/Sidebar.svelte rename to common/components/Sidebar.svelte diff --git a/src/renderer/components/Tab.svelte b/common/components/Tab.svelte similarity index 100% rename from src/renderer/components/Tab.svelte rename to common/components/Tab.svelte diff --git a/src/renderer/components/TabLabel.svelte b/common/components/TabLabel.svelte similarity index 100% rename from src/renderer/components/TabLabel.svelte rename to common/components/TabLabel.svelte diff --git a/src/renderer/components/Tabination.js b/common/components/Tabination.js similarity index 100% rename from src/renderer/components/Tabination.js rename to common/components/Tabination.js diff --git a/src/renderer/components/Tabs.svelte b/common/components/Tabs.svelte similarity index 100% rename from src/renderer/components/Tabs.svelte rename to common/components/Tabs.svelte diff --git a/src/renderer/components/banner/Banner.svelte b/common/components/banner/Banner.svelte similarity index 100% rename from src/renderer/components/banner/Banner.svelte rename to common/components/banner/Banner.svelte diff --git a/src/renderer/components/banner/FullBanner.svelte b/common/components/banner/FullBanner.svelte similarity index 100% rename from src/renderer/components/banner/FullBanner.svelte rename to common/components/banner/FullBanner.svelte diff --git a/src/renderer/components/banner/SkeletonBanner.svelte b/common/components/banner/SkeletonBanner.svelte similarity index 100% rename from src/renderer/components/banner/SkeletonBanner.svelte rename to common/components/banner/SkeletonBanner.svelte diff --git a/src/renderer/components/cards/Card.svelte b/common/components/cards/Card.svelte similarity index 100% rename from src/renderer/components/cards/Card.svelte rename to common/components/cards/Card.svelte diff --git a/src/renderer/components/cards/EpisodeCard.svelte b/common/components/cards/EpisodeCard.svelte similarity index 100% rename from src/renderer/components/cards/EpisodeCard.svelte rename to common/components/cards/EpisodeCard.svelte diff --git a/src/renderer/components/cards/EpisodePreviewCard.svelte b/common/components/cards/EpisodePreviewCard.svelte similarity index 100% rename from src/renderer/components/cards/EpisodePreviewCard.svelte rename to common/components/cards/EpisodePreviewCard.svelte diff --git a/src/renderer/components/cards/EpisodeSkeletonCard.svelte b/common/components/cards/EpisodeSkeletonCard.svelte similarity index 100% rename from src/renderer/components/cards/EpisodeSkeletonCard.svelte rename to common/components/cards/EpisodeSkeletonCard.svelte diff --git a/src/renderer/components/cards/FullCard.svelte b/common/components/cards/FullCard.svelte similarity index 100% rename from src/renderer/components/cards/FullCard.svelte rename to common/components/cards/FullCard.svelte diff --git a/src/renderer/components/cards/FullSkeletonCard.svelte b/common/components/cards/FullSkeletonCard.svelte similarity index 100% rename from src/renderer/components/cards/FullSkeletonCard.svelte rename to common/components/cards/FullSkeletonCard.svelte diff --git a/src/renderer/components/cards/PreviewCard.svelte b/common/components/cards/PreviewCard.svelte similarity index 100% rename from src/renderer/components/cards/PreviewCard.svelte rename to common/components/cards/PreviewCard.svelte diff --git a/src/renderer/components/cards/SkeletonCard.svelte b/common/components/cards/SkeletonCard.svelte similarity index 100% rename from src/renderer/components/cards/SkeletonCard.svelte rename to common/components/cards/SkeletonCard.svelte diff --git a/src/renderer/components/cards/SmallCard.svelte b/common/components/cards/SmallCard.svelte similarity index 100% rename from src/renderer/components/cards/SmallCard.svelte rename to common/components/cards/SmallCard.svelte diff --git a/src/renderer/css.css b/common/css.css similarity index 100% rename from src/renderer/css.css rename to common/css.css diff --git a/common/jsconfig.json b/common/jsconfig.json new file mode 100644 index 0000000..6c557ba --- /dev/null +++ b/common/jsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["./*"], + }, + "checkJs": true, + "target": "ESNext", + "moduleResolution": "node", + "module": "ESNext", + "types": ["./types.d.ts"], + "allowSyntheticDefaultImports": true + }, + "exclude": ["node_modules/**", "**/node_modules", "dist", "build"] +} \ No newline at end of file diff --git a/src/renderer/main.js b/common/main.js similarity index 100% rename from src/renderer/main.js rename to common/main.js diff --git a/src/renderer/modules/anilist.js b/common/modules/anilist.js similarity index 100% rename from src/renderer/modules/anilist.js rename to common/modules/anilist.js diff --git a/src/renderer/modules/anime.js b/common/modules/anime.js similarity index 97% rename from src/renderer/modules/anime.js rename to common/modules/anime.js index 204f2cc..50f2187 100644 --- a/src/renderer/modules/anime.js +++ b/common/modules/anime.js @@ -1,460 +1,460 @@ -import { DOMPARSER, PromiseBatch, binarySearch } from './util.js' -import { alRequest, alSearch } from './anilist.js' -import _anitomyscript from 'anitomyscript' -import { toast } from 'svelte-sonner' -import SectionsManager from './sections.js' -import { page } from '@/App.svelte' -import clipboard from './clipboard.js' - -import { search, key } from '@/views/Search.svelte' - -import { playAnime } from '../views/RSSView.svelte' - -const imageRx = /\.(jpeg|jpg|gif|png|webp)/i - -clipboard.on('files', ({ detail }) => { - for (const file of detail) { - if (file.type.startsWith('image')) { - toast.promise(traceAnime(file), { - description: 'You can also paste an URL to an image.', - loading: 'Looking up anime for image...', - success: 'Found anime for image!', - error: 'Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.' - }) - } - } -}) - -clipboard.on('text', ({ detail }) => { - for (const { type, text } of detail) { - let src = null - if (type === 'text/html') { - src = DOMPARSER(text, 'text/html').querySelectorAll('img')[0]?.src - } else if (imageRx.exec(text)) { - src = text - } - if (src) { - toast.promise(traceAnime(src), { - description: 'You can also paste an URL to an image.', - loading: 'Looking up anime for image...', - success: 'Found anime for image!', - error: 'Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.' - }) - } - } -}) - -export async function traceAnime (image) { // WAIT lookup logic - let options - let url = `https://api.trace.moe/search?cutBorders&url=${image}` - if (image instanceof Blob) { - options = { - method: 'POST', - body: image, - headers: { 'Content-type': image.type } - } - url = 'https://api.trace.moe/search' - } - const res = await fetch(url, options) - const { result } = await res.json() - - if (result?.length) { - const ids = result.map(({ anilist }) => anilist) - search.value = { - clearNext: true, - load: (page = 1, perPage = 50, variables = {}) => { - const res = alRequest({ method: 'SearchIDS', page, perPage, id: ids, ...SectionsManager.sanitiseObject(variables) }).then(res => { - for (const index in res.data?.Page?.media) { - const media = res.data.Page.media[index] - const counterpart = result.find(({ anilist }) => anilist === media.id) - res.data.Page.media[index] = { - media, - episode: counterpart.episode, - similarity: counterpart.similarity, - episodeData: { - image: counterpart.image, - video: counterpart.video - } - } - } - res.data?.Page?.media.sort((a, b) => b.similarity - a.similarity) - return res - }) - return SectionsManager.wrapResponse(res, result.length, 'episode') - } - } - key.value = {} - page.value = 'search' - } else { - throw new Error('Search Failed \n Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.') - } -} - -function constructChapters (results, duration) { - const chapters = results.map(result => { - const diff = duration - result.episodeLength - return { - start: (result.interval.startTime + diff) * 1000, - end: (result.interval.endTime + diff) * 1000, - text: result.skipType.toUpperCase() - } - }) - const ed = chapters.find(({ text }) => text === 'ED') - const recap = chapters.find(({ text }) => text === 'RECAP') - if (recap) recap.text = 'Recap' - - chapters.sort((a, b) => a - b) - if ((chapters[0].start | 0) !== 0) { - chapters.unshift({ start: 0, end: chapters[0].start, text: chapters[0].text === 'OP' ? 'Intro' : 'Episode' }) - } - if (ed) { - if ((ed.end | 0) + 5000 - duration * 1000 < 0) { - chapters.push({ start: ed.end, end: duration * 1000, text: 'Preview' }) - } - } else if ((chapters[chapters.length - 1].end | 0) + 5000 - duration * 1000 < 0) { - chapters.push({ - start: chapters[chapters.length - 1].end, - end: duration * 1000, - text: 'Episode' - }) - } - - for (let i = 0, len = chapters.length - 2; i <= len; ++i) { - const current = chapters[i] - const next = chapters[i + 1] - if ((current.end | 0) !== (next.start | 0)) { - chapters.push({ - start: current.end, - end: next.start, - text: 'Episode' - }) - } - } - - chapters.sort((a, b) => a.start - b.start) - - return chapters -} - -export async function getChaptersAniSkip (file, duration) { - const resAccurate = await fetch(`https://api.aniskip.com/v2/skip-times/${file.media.media.idMal}/${file.media.episode}/?episodeLength=${duration}&types=op&types=ed&types=recap`) - const jsonAccurate = await resAccurate.json() - - const resRough = await fetch(`https://api.aniskip.com/v2/skip-times/${file.media.media.idMal}/${file.media.episode}/?episodeLength=0&types=op&types=ed&types=recap`) - const jsonRough = await resRough.json() - - const map = {} - for (const result of [...jsonAccurate.results, ...jsonRough.results]) { - map[result.skipType] ||= result - } - - const results = Object.values(map) - if (!results.length) return [] - return constructChapters(results, duration) -} - -export function getMediaMaxEp (media, playable) { - if (playable) { - return media.nextAiringEpisode?.episode - 1 || media.airingSchedule?.nodes?.[0]?.episode - 1 || media.episodes - } else { - return media.episodes || media.nextAiringEpisode?.episode - 1 || media.airingSchedule?.nodes?.[0]?.episode - 1 - } -} - -// resolve anime name based on file name and store it -const postfix = { - 1: 'st', - 2: 'nd', - 3: 'rd' -} - -async function resolveTitle (parseObject) { - const name = parseObject.anime_title - const method = { name, method: 'SearchName', perPage: 10, status: ['RELEASING', 'FINISHED'], sort: 'SEARCH_MATCH' } - if (parseObject.anime_year) method.year = parseObject.anime_year - - // inefficient but readable - - let media = null - try { - // change S2 into Season 2 or 2nd Season - const match = method.name.match(/ S(\d+)/) - const oldname = method.name - if (match) { - if (Number(match[1]) === 1) { // if this is S1, remove the " S1" or " S01" - method.name = method.name.replace(/ S(\d+)/, '') - media = (await alSearch(method)).data.Page.media[0] - } else { - method.name = method.name.replace(/ S(\d+)/, ` ${Number(match[1])}${postfix[Number(match[1])] || 'th'} Season`) - media = (await alSearch(method)).data.Page.media[0] - if (!media) { - method.name = oldname.replace(/ S(\d+)/, ` Season ${Number(match[1])}`) - media = (await alSearch(method)).data.Page.media[0] - } - } - } else { - media = (await alSearch(method)).data.Page.media[0] - } - - // remove - : - if (!media) { - const match = method.name.match(/[-:]/g) - if (match) { - method.name = method.name.replace(/[-:]/g, '') - media = (await alSearch(method)).data.Page.media[0] - } - } - // remove (TV) - if (!media) { - const match = method.name.match(/\(TV\)/) - if (match) { - method.name = method.name.replace('(TV)', '') - media = (await alSearch(method)).data.Page.media[0] - } - } - // check adult - if (!media) { - method.isAdult = true - media = (await alSearch(method)).data.Page.media[0] - } - } catch (e) { } - - if (media) relations[getRelationKey(parseObject)] = media -} - -// utility method for correcting anitomyscript woes for what's needed -export async function anitomyscript (...args) { - // @ts-ignore - const res = await _anitomyscript(...args) - - const parseObjs = Array.isArray(res) ? res : [res] - - for (const obj of parseObjs) { - const seasonMatch = obj.anime_title.match(/S(\d{2})E(\d{2})/) - if (seasonMatch) { - obj.anime_season = seasonMatch[1] - obj.episode_number = seasonMatch[2] - obj.anime_title = obj.anime_title.replace(/S(\d{2})E(\d{2})/, '') - } - const yearMatch = obj.anime_title.match(/ (19[5-9]\d|20\d{2})/) - if (yearMatch && Number(yearMatch[1]) <= (new Date().getUTCFullYear() + 1)) { - obj.anime_year = yearMatch[1] - obj.anime_title = obj.anime_title.replace(/ (19[5-9]\d|20\d{2})/, '') - } - if (Number(obj.anime_season) > 1) obj.anime_title += ' S' + obj.anime_season - } - - return parseObjs -} - -function getRelationKey (obj) { - let key = obj.anime_title - if (obj.anime_year) key += obj.anime_year - return key -} - -// TODO: anidb aka true episodes need to be mapped to anilist episodes a bit better -export async function resolveFileMedia (fileName) { - const parseObjs = await anitomyscript(fileName) - - // batches promises in 10 at a time, because of CF burst protection, which still sometimes gets triggered :/ - const uniq = {} - for (const obj of parseObjs) { - const key = getRelationKey(obj) - if (key in relations) continue - uniq[key] = obj - } - await PromiseBatch(resolveTitle, Object.values(uniq), 10) - - const fileMedias = [] - for (const parseObj of parseObjs) { - let failed = false - let episode - let media = relations[getRelationKey(parseObj)] - // resolve episode, if movie, dont. - const maxep = media?.nextAiringEpisode?.episode || media?.episodes - if ((media?.format !== 'MOVIE' || maxep) && parseObj.episode_number) { - if (Array.isArray(parseObj.episode_number)) { - // is an episode range - if (parseInt(parseObj.episode_number[0]) === 1) { - // if it starts with #1 and overflows then it includes more than 1 season in a batch, cant fix this cleanly, name is parsed per file basis so this shouldnt be an issue - episode = `${parseObj.episode_number[0]} ~ ${parseObj.episode_number[1]}` - } else { - if (maxep && parseInt(parseObj.episode_number[1]) > maxep) { - // get root media to start at S1, instead of S2 or some OVA due to parsing errors - // this is most likely safe, if it was relative episodes then it would likely use an accurate title for the season - // if they didnt use an accurate title then its likely an absolute numbering scheme - // parent check is to break out of those incorrectly resolved OVA's - // if we used anime season to resolve anime name, then there's no need to march into prequel! - const prequel = !parseObj.anime_season && (findEdge(media, 'PREQUEL')?.node || ((media.format === 'OVA' || media.format === 'ONA') && findEdge(media, 'PARENT')?.node)) - const root = prequel && (await resolveSeason({ media: (await alRequest({ method: 'SearchIDSingle', id: prequel.id })).data.Media, force: true })).media - - // if highest value is bigger than episode count or latest streamed episode +1 for safety, parseint to math.floor a number like 12.5 - specials - in 1 go - const result = await resolveSeason({ media: root || media, episode: parseObj.episode_number[1], increment: !parseObj.anime_season ? null : true }) - media = result.rootMedia - const diff = parseObj.episode_number[1] - result.episode - episode = `${parseObj.episode_number[0] - diff} ~ ${result.episode}` - failed = result.failed - } else { - // cant find ep count or range seems fine - episode = `${Number(parseObj.episode_number[0])} ~ ${Number(parseObj.episode_number[1])}` - } - } - } else { - if (maxep && parseInt(parseObj.episode_number) > maxep) { - // see big comment above - const prequel = !parseObj.anime_season && (findEdge(media, 'PREQUEL')?.node || ((media.format === 'OVA' || media.format === 'ONA') && findEdge(media, 'PARENT')?.node)) - const root = prequel && (await resolveSeason({ media: (await alRequest({ method: 'SearchIDSingle', id: prequel.id })).data.Media, force: true })).media - - // value bigger than episode count - const result = await resolveSeason({ media: root || media, episode: parseInt(parseObj.episode_number), increment: !parseObj.anime_season ? null : true }) - media = result.rootMedia - episode = result.episode - failed = result.failed - } else { - // cant find ep count or episode seems fine - episode = Number(parseObj.episode_number) - } - } - } - fileMedias.push({ - episode: episode || parseObj.episode_number, - parseObject: parseObj, - media, - failed - }) - } - return fileMedias -} - -export function findEdge (media, type, formats = ['TV', 'TV_SHORT'], skip) { - let res = media.relations.edges.find(edge => { - if (edge.relationType === type) { - return formats.includes(edge.node.format) - } - return false - }) - // this is hit-miss - if (!res && !skip && type === 'SEQUEL') res = findEdge(media, type, formats = ['TV', 'TV_SHORT', 'OVA'], true) - return res -} - -// note: this doesnt cover anime which uses partially relative and partially absolute episode number, BUT IT COULD! -export async function resolveSeason (opts) { - // media, episode, increment, offset, force - if (!opts.media || !(opts.episode || opts.force)) throw new Error('No episode or media for season resolve!') - - let { media, episode, increment, offset = 0, rootMedia = opts.media, force } = opts - - const rootHighest = (rootMedia.nextAiringEpisode?.episode || rootMedia.episodes) - - const prequel = !increment && findEdge(media, 'PREQUEL')?.node - const sequel = !prequel && (increment || increment == null) && findEdge(media, 'SEQUEL')?.node - const edge = prequel || sequel - increment = increment ?? !prequel - - if (!edge) { - const obj = { media, episode: episode - offset, offset, increment, rootMedia, failed: true } - if (!force) { - console.warn('Error in parsing!', obj) - toast('Parsing Error', { - description: `Failed resolving anime episode!\n${media.title.userPreferred} - ${episode - offset}` - }) - } - return obj - } - media = (await alRequest({ method: 'SearchIDSingle', id: edge.id })).data.Media - - const highest = media.nextAiringEpisode?.episode || media.episodes - - const diff = episode - (highest + offset) - offset += increment ? rootHighest : highest - if (increment) rootMedia = media - - // force marches till end of tree, no need for checks - if (!force && diff <= rootHighest) { - episode -= offset - return { media, episode, offset, increment, rootMedia } - } - - return resolveSeason({ media, episode, increment, offset, rootMedia, force }) -} - -const relations = {} - -export const formatMap = { - TV: 'TV Series', - TV_SHORT: 'TV Short', - MOVIE: 'Movie', - SPECIAL: 'Special', - OVA: 'OVA', - ONA: 'ONA', - MUSIC: 'Music', - undefined: 'N/A', - null: 'N/A' -} - -export const statusColorMap = { - CURRENT: 'rgb(61,180,242)', - PLANNING: 'rgb(247,154,99)', - COMPLETED: 'rgb(123,213,85)', - PAUSED: 'rgb(250,122,122)', - REPEATING: '#3baeea', - DROPPED: 'rgb(232,93,117)' -} - -export async function playMedia (media) { - let ep = 1 - if (media.mediaListEntry) { - const { status, progress } = media.mediaListEntry - if (progress) { - if (status === 'COMPLETED') { - await setStatus('REPEATING', { episode: 0 }, media) - } else { - ep = Math.min(getMediaMaxEp(media, true), progress + 1) - } - } - } - playAnime(media, ep, true) - media = null -} - -export function setStatus (status, other = {}, media) { - const variables = { - method: 'Entry', - id: media.id, - status, - ...other - } - return alRequest(variables) -} - -const episodeMetadataMap = {} - -export async function getEpisodeMetadataForMedia (media) { - if (episodeMetadataMap[media.id]) return episodeMetadataMap[media.id] - const res = await fetch('https://api.ani.zip/mappings?anilist_id=' + media.id) - const { episodes } = await res.json() - episodeMetadataMap[media.id] = episodes - return episodes -} - -let seadex = [] -requestIdleCallback(async () => { - const res = await fetch('https://sneedex.moe/api/public/nyaa') - const json = await res.json() - seadex = json.flatMap(({ nyaaIDs }) => nyaaIDs).sort((a, b) => a - b) // sort for binary search -}) - -export function mapBestRelease (entries) { - return entries.map(entry => { - if (entry.id) { - if (entry.id === '?') return entry - if (binarySearch(seadex, entry.id)) entry.best = true - return entry - } - const match = entry.link.match(/\d+/i) - if (match && binarySearch(seadex, Number(match[0]))) entry.best = true - return entry - }) -} +import { DOMPARSER, PromiseBatch, binarySearch } from './util.js' +import { alRequest, alSearch } from './anilist.js' +import _anitomyscript from 'anitomyscript' +import { toast } from 'svelte-sonner' +import SectionsManager from './sections.js' +import { page } from '@/App.svelte' +import clipboard from './clipboard.js' + +import { search, key } from '@/views/Search.svelte' + +import { playAnime } from '../views/RSSView.svelte' + +const imageRx = /\.(jpeg|jpg|gif|png|webp)/i + +clipboard.on('files', ({ detail }) => { + for (const file of detail) { + if (file.type.startsWith('image')) { + toast.promise(traceAnime(file), { + description: 'You can also paste an URL to an image.', + loading: 'Looking up anime for image...', + success: 'Found anime for image!', + error: 'Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.' + }) + } + } +}) + +clipboard.on('text', ({ detail }) => { + for (const { type, text } of detail) { + let src = null + if (type === 'text/html') { + src = DOMPARSER(text, 'text/html').querySelectorAll('img')[0]?.src + } else if (imageRx.exec(text)) { + src = text + } + if (src) { + toast.promise(traceAnime(src), { + description: 'You can also paste an URL to an image.', + loading: 'Looking up anime for image...', + success: 'Found anime for image!', + error: 'Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.' + }) + } + } +}) + +export async function traceAnime (image) { // WAIT lookup logic + let options + let url = `https://api.trace.moe/search?cutBorders&url=${image}` + if (image instanceof Blob) { + options = { + method: 'POST', + body: image, + headers: { 'Content-type': image.type } + } + url = 'https://api.trace.moe/search' + } + const res = await fetch(url, options) + const { result } = await res.json() + + if (result?.length) { + const ids = result.map(({ anilist }) => anilist) + search.value = { + clearNext: true, + load: (page = 1, perPage = 50, variables = {}) => { + const res = alRequest({ method: 'SearchIDS', page, perPage, id: ids, ...SectionsManager.sanitiseObject(variables) }).then(res => { + for (const index in res.data?.Page?.media) { + const media = res.data.Page.media[index] + const counterpart = result.find(({ anilist }) => anilist === media.id) + res.data.Page.media[index] = { + media, + episode: counterpart.episode, + similarity: counterpart.similarity, + episodeData: { + image: counterpart.image, + video: counterpart.video + } + } + } + res.data?.Page?.media.sort((a, b) => b.similarity - a.similarity) + return res + }) + return SectionsManager.wrapResponse(res, result.length, 'episode') + } + } + key.value = {} + page.value = 'search' + } else { + throw new Error('Search Failed \n Couldn\'t find anime for specified image! Try to remove black bars, or use a more detailed image.') + } +} + +function constructChapters (results, duration) { + const chapters = results.map(result => { + const diff = duration - result.episodeLength + return { + start: (result.interval.startTime + diff) * 1000, + end: (result.interval.endTime + diff) * 1000, + text: result.skipType.toUpperCase() + } + }) + const ed = chapters.find(({ text }) => text === 'ED') + const recap = chapters.find(({ text }) => text === 'RECAP') + if (recap) recap.text = 'Recap' + + chapters.sort((a, b) => a - b) + if ((chapters[0].start | 0) !== 0) { + chapters.unshift({ start: 0, end: chapters[0].start, text: chapters[0].text === 'OP' ? 'Intro' : 'Episode' }) + } + if (ed) { + if ((ed.end | 0) + 5000 - duration * 1000 < 0) { + chapters.push({ start: ed.end, end: duration * 1000, text: 'Preview' }) + } + } else if ((chapters[chapters.length - 1].end | 0) + 5000 - duration * 1000 < 0) { + chapters.push({ + start: chapters[chapters.length - 1].end, + end: duration * 1000, + text: 'Episode' + }) + } + + for (let i = 0, len = chapters.length - 2; i <= len; ++i) { + const current = chapters[i] + const next = chapters[i + 1] + if ((current.end | 0) !== (next.start | 0)) { + chapters.push({ + start: current.end, + end: next.start, + text: 'Episode' + }) + } + } + + chapters.sort((a, b) => a.start - b.start) + + return chapters +} + +export async function getChaptersAniSkip (file, duration) { + const resAccurate = await fetch(`https://api.aniskip.com/v2/skip-times/${file.media.media.idMal}/${file.media.episode}/?episodeLength=${duration}&types=op&types=ed&types=recap`) + const jsonAccurate = await resAccurate.json() + + const resRough = await fetch(`https://api.aniskip.com/v2/skip-times/${file.media.media.idMal}/${file.media.episode}/?episodeLength=0&types=op&types=ed&types=recap`) + const jsonRough = await resRough.json() + + const map = {} + for (const result of [...jsonAccurate.results, ...jsonRough.results]) { + map[result.skipType] ||= result + } + + const results = Object.values(map) + if (!results.length) return [] + return constructChapters(results, duration) +} + +export function getMediaMaxEp (media, playable) { + if (playable) { + return media.nextAiringEpisode?.episode - 1 || media.airingSchedule?.nodes?.[0]?.episode - 1 || media.episodes + } else { + return media.episodes || media.nextAiringEpisode?.episode - 1 || media.airingSchedule?.nodes?.[0]?.episode - 1 + } +} + +// resolve anime name based on file name and store it +const postfix = { + 1: 'st', + 2: 'nd', + 3: 'rd' +} + +async function resolveTitle (parseObject) { + const name = parseObject.anime_title + const method = { name, method: 'SearchName', perPage: 10, status: ['RELEASING', 'FINISHED'], sort: 'SEARCH_MATCH' } + if (parseObject.anime_year) method.year = parseObject.anime_year + + // inefficient but readable + + let media = null + try { + // change S2 into Season 2 or 2nd Season + const match = method.name.match(/ S(\d+)/) + const oldname = method.name + if (match) { + if (Number(match[1]) === 1) { // if this is S1, remove the " S1" or " S01" + method.name = method.name.replace(/ S(\d+)/, '') + media = (await alSearch(method)).data.Page.media[0] + } else { + method.name = method.name.replace(/ S(\d+)/, ` ${Number(match[1])}${postfix[Number(match[1])] || 'th'} Season`) + media = (await alSearch(method)).data.Page.media[0] + if (!media) { + method.name = oldname.replace(/ S(\d+)/, ` Season ${Number(match[1])}`) + media = (await alSearch(method)).data.Page.media[0] + } + } + } else { + media = (await alSearch(method)).data.Page.media[0] + } + + // remove - : + if (!media) { + const match = method.name.match(/[-:]/g) + if (match) { + method.name = method.name.replace(/[-:]/g, '') + media = (await alSearch(method)).data.Page.media[0] + } + } + // remove (TV) + if (!media) { + const match = method.name.match(/\(TV\)/) + if (match) { + method.name = method.name.replace('(TV)', '') + media = (await alSearch(method)).data.Page.media[0] + } + } + // check adult + if (!media) { + method.isAdult = true + media = (await alSearch(method)).data.Page.media[0] + } + } catch (e) { } + + if (media) relations[getRelationKey(parseObject)] = media +} + +// utility method for correcting anitomyscript woes for what's needed +export async function anitomyscript (...args) { + // @ts-ignore + const res = await _anitomyscript(...args) + + const parseObjs = Array.isArray(res) ? res : [res] + + for (const obj of parseObjs) { + const seasonMatch = obj.anime_title.match(/S(\d{2})E(\d{2})/) + if (seasonMatch) { + obj.anime_season = seasonMatch[1] + obj.episode_number = seasonMatch[2] + obj.anime_title = obj.anime_title.replace(/S(\d{2})E(\d{2})/, '') + } + const yearMatch = obj.anime_title.match(/ (19[5-9]\d|20\d{2})/) + if (yearMatch && Number(yearMatch[1]) <= (new Date().getUTCFullYear() + 1)) { + obj.anime_year = yearMatch[1] + obj.anime_title = obj.anime_title.replace(/ (19[5-9]\d|20\d{2})/, '') + } + if (Number(obj.anime_season) > 1) obj.anime_title += ' S' + obj.anime_season + } + + return parseObjs +} + +function getRelationKey (obj) { + let key = obj.anime_title + if (obj.anime_year) key += obj.anime_year + return key +} + +// TODO: anidb aka true episodes need to be mapped to anilist episodes a bit better +export async function resolveFileMedia (fileName) { + const parseObjs = await anitomyscript(fileName) + + // batches promises in 10 at a time, because of CF burst protection, which still sometimes gets triggered :/ + const uniq = {} + for (const obj of parseObjs) { + const key = getRelationKey(obj) + if (key in relations) continue + uniq[key] = obj + } + await PromiseBatch(resolveTitle, Object.values(uniq), 10) + + const fileMedias = [] + for (const parseObj of parseObjs) { + let failed = false + let episode + let media = relations[getRelationKey(parseObj)] + // resolve episode, if movie, dont. + const maxep = media?.nextAiringEpisode?.episode || media?.episodes + if ((media?.format !== 'MOVIE' || maxep) && parseObj.episode_number) { + if (Array.isArray(parseObj.episode_number)) { + // is an episode range + if (parseInt(parseObj.episode_number[0]) === 1) { + // if it starts with #1 and overflows then it includes more than 1 season in a batch, cant fix this cleanly, name is parsed per file basis so this shouldnt be an issue + episode = `${parseObj.episode_number[0]} ~ ${parseObj.episode_number[1]}` + } else { + if (maxep && parseInt(parseObj.episode_number[1]) > maxep) { + // get root media to start at S1, instead of S2 or some OVA due to parsing errors + // this is most likely safe, if it was relative episodes then it would likely use an accurate title for the season + // if they didnt use an accurate title then its likely an absolute numbering scheme + // parent check is to break out of those incorrectly resolved OVA's + // if we used anime season to resolve anime name, then there's no need to march into prequel! + const prequel = !parseObj.anime_season && (findEdge(media, 'PREQUEL')?.node || ((media.format === 'OVA' || media.format === 'ONA') && findEdge(media, 'PARENT')?.node)) + const root = prequel && (await resolveSeason({ media: (await alRequest({ method: 'SearchIDSingle', id: prequel.id })).data.Media, force: true })).media + + // if highest value is bigger than episode count or latest streamed episode +1 for safety, parseint to math.floor a number like 12.5 - specials - in 1 go + const result = await resolveSeason({ media: root || media, episode: parseObj.episode_number[1], increment: !parseObj.anime_season ? null : true }) + media = result.rootMedia + const diff = parseObj.episode_number[1] - result.episode + episode = `${parseObj.episode_number[0] - diff} ~ ${result.episode}` + failed = result.failed + } else { + // cant find ep count or range seems fine + episode = `${Number(parseObj.episode_number[0])} ~ ${Number(parseObj.episode_number[1])}` + } + } + } else { + if (maxep && parseInt(parseObj.episode_number) > maxep) { + // see big comment above + const prequel = !parseObj.anime_season && (findEdge(media, 'PREQUEL')?.node || ((media.format === 'OVA' || media.format === 'ONA') && findEdge(media, 'PARENT')?.node)) + const root = prequel && (await resolveSeason({ media: (await alRequest({ method: 'SearchIDSingle', id: prequel.id })).data.Media, force: true })).media + + // value bigger than episode count + const result = await resolveSeason({ media: root || media, episode: parseInt(parseObj.episode_number), increment: !parseObj.anime_season ? null : true }) + media = result.rootMedia + episode = result.episode + failed = result.failed + } else { + // cant find ep count or episode seems fine + episode = Number(parseObj.episode_number) + } + } + } + fileMedias.push({ + episode: episode || parseObj.episode_number, + parseObject: parseObj, + media, + failed + }) + } + return fileMedias +} + +export function findEdge (media, type, formats = ['TV', 'TV_SHORT'], skip) { + let res = media.relations.edges.find(edge => { + if (edge.relationType === type) { + return formats.includes(edge.node.format) + } + return false + }) + // this is hit-miss + if (!res && !skip && type === 'SEQUEL') res = findEdge(media, type, formats = ['TV', 'TV_SHORT', 'OVA'], true) + return res +} + +// note: this doesnt cover anime which uses partially relative and partially absolute episode number, BUT IT COULD! +export async function resolveSeason (opts) { + // media, episode, increment, offset, force + if (!opts.media || !(opts.episode || opts.force)) throw new Error('No episode or media for season resolve!') + + let { media, episode, increment, offset = 0, rootMedia = opts.media, force } = opts + + const rootHighest = (rootMedia.nextAiringEpisode?.episode || rootMedia.episodes) + + const prequel = !increment && findEdge(media, 'PREQUEL')?.node + const sequel = !prequel && (increment || increment == null) && findEdge(media, 'SEQUEL')?.node + const edge = prequel || sequel + increment = increment ?? !prequel + + if (!edge) { + const obj = { media, episode: episode - offset, offset, increment, rootMedia, failed: true } + if (!force) { + console.warn('Error in parsing!', obj) + toast('Parsing Error', { + description: `Failed resolving anime episode!\n${media.title.userPreferred} - ${episode - offset}` + }) + } + return obj + } + media = (await alRequest({ method: 'SearchIDSingle', id: edge.id })).data.Media + + const highest = media.nextAiringEpisode?.episode || media.episodes + + const diff = episode - (highest + offset) + offset += increment ? rootHighest : highest + if (increment) rootMedia = media + + // force marches till end of tree, no need for checks + if (!force && diff <= rootHighest) { + episode -= offset + return { media, episode, offset, increment, rootMedia } + } + + return resolveSeason({ media, episode, increment, offset, rootMedia, force }) +} + +const relations = {} + +export const formatMap = { + TV: 'TV Series', + TV_SHORT: 'TV Short', + MOVIE: 'Movie', + SPECIAL: 'Special', + OVA: 'OVA', + ONA: 'ONA', + MUSIC: 'Music', + undefined: 'N/A', + null: 'N/A' +} + +export const statusColorMap = { + CURRENT: 'rgb(61,180,242)', + PLANNING: 'rgb(247,154,99)', + COMPLETED: 'rgb(123,213,85)', + PAUSED: 'rgb(250,122,122)', + REPEATING: '#3baeea', + DROPPED: 'rgb(232,93,117)' +} + +export async function playMedia (media) { + let ep = 1 + if (media.mediaListEntry) { + const { status, progress } = media.mediaListEntry + if (progress) { + if (status === 'COMPLETED') { + await setStatus('REPEATING', { episode: 0 }, media) + } else { + ep = Math.min(getMediaMaxEp(media, true), progress + 1) + } + } + } + playAnime(media, ep, true) + media = null +} + +export function setStatus (status, other = {}, media) { + const variables = { + method: 'Entry', + id: media.id, + status, + ...other + } + return alRequest(variables) +} + +const episodeMetadataMap = {} + +export async function getEpisodeMetadataForMedia (media) { + if (episodeMetadataMap[media.id]) return episodeMetadataMap[media.id] + const res = await fetch('https://api.ani.zip/mappings?anilist_id=' + media.id) + const { episodes } = await res.json() + episodeMetadataMap[media.id] = episodes + return episodes +} + +let seadex = [] +requestIdleCallback(async () => { + const res = await fetch('https://sneedex.moe/api/public/nyaa') + const json = await res.json() + seadex = json.flatMap(({ nyaaIDs }) => nyaaIDs).sort((a, b) => a - b) // sort for binary search +}) + +export function mapBestRelease (entries) { + return entries.map(entry => { + if (entry.id) { + if (entry.id === '?') return entry + if (binarySearch(seadex, entry.id)) entry.best = true + return entry + } + const match = entry.link.match(/\d+/i) + if (match && binarySearch(seadex, Number(match[0]))) entry.best = true + return entry + }) +} diff --git a/src/renderer/modules/click.js b/common/modules/click.js similarity index 100% rename from src/renderer/modules/click.js rename to common/modules/click.js diff --git a/src/renderer/modules/clipboard.js b/common/modules/clipboard.js similarity index 100% rename from src/renderer/modules/clipboard.js rename to common/modules/clipboard.js diff --git a/src/renderer/modules/providers/cat.js b/common/modules/providers/cat.js similarity index 100% rename from src/renderer/modules/providers/cat.js rename to common/modules/providers/cat.js diff --git a/src/renderer/modules/providers/tosho.js b/common/modules/providers/tosho.js similarity index 100% rename from src/renderer/modules/providers/tosho.js rename to common/modules/providers/tosho.js diff --git a/src/renderer/modules/rss.js b/common/modules/rss.js similarity index 100% rename from src/renderer/modules/rss.js rename to common/modules/rss.js diff --git a/src/renderer/modules/scroll.js b/common/modules/scroll.js similarity index 100% rename from src/renderer/modules/scroll.js rename to common/modules/scroll.js diff --git a/src/renderer/modules/sections.js b/common/modules/sections.js similarity index 100% rename from src/renderer/modules/sections.js rename to common/modules/sections.js diff --git a/src/renderer/modules/settings.js b/common/modules/settings.js similarity index 100% rename from src/renderer/modules/settings.js rename to common/modules/settings.js diff --git a/src/renderer/modules/subtitles.js b/common/modules/subtitles.js similarity index 100% rename from src/renderer/modules/subtitles.js rename to common/modules/subtitles.js diff --git a/src/renderer/modules/themes.js b/common/modules/themes.js similarity index 100% rename from src/renderer/modules/themes.js rename to common/modules/themes.js diff --git a/src/renderer/modules/torrent.js b/common/modules/torrent.js similarity index 100% rename from src/renderer/modules/torrent.js rename to common/modules/torrent.js diff --git a/src/renderer/modules/util.js b/common/modules/util.js similarity index 100% rename from src/renderer/modules/util.js rename to common/modules/util.js diff --git a/common/package.json b/common/package.json new file mode 100644 index 0000000..b14971c --- /dev/null +++ b/common/package.json @@ -0,0 +1,23 @@ +{ + "name": "common", + "private": true, + "dependencies": { + "@fontsource-variable/material-symbols-outlined": "latest", + "@fontsource-variable/nunito": "latest", + "@fontsource/roboto": "latest", + "anitomyscript": "github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00", + "bottleneck": "^2.19.5", + "browser-event-target-emitter": "^1.0.1", + "jassub": "latest", + "js-levenshtein": "^1.1.6", + "p2pt": "github:ThaUnknown/p2pt#modernise", + "perfect-seekbar": "^1.1.0", + "quartermoon": "^1.2.3", + "simple-store-svelte": "^1.0.1", + "svelte": "^4.2.3", + "svelte-keybinds": "^1.0.5", + "svelte-loader": "^3.1.9", + "svelte-miniplayer": "^1.0.3", + "svelte-sonner": "^0.3.3" + } +} \ No newline at end of file diff --git a/src/renderer/public/Roboto.ttf b/common/public/Roboto.ttf similarity index 100% rename from src/renderer/public/Roboto.ttf rename to common/public/Roboto.ttf diff --git a/src/renderer/public/logo.ico b/common/public/logo.ico similarity index 100% rename from src/renderer/public/logo.ico rename to common/public/logo.ico diff --git a/src/renderer/public/logo_cut.png b/common/public/logo_cut.png similarity index 100% rename from src/renderer/public/logo_cut.png rename to common/public/logo_cut.png diff --git a/common/tsconfig.json b/common/tsconfig.json new file mode 100644 index 0000000..6c557ba --- /dev/null +++ b/common/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["./*"], + }, + "checkJs": true, + "target": "ESNext", + "moduleResolution": "node", + "module": "ESNext", + "types": ["./types.d.ts"], + "allowSyntheticDefaultImports": true + }, + "exclude": ["node_modules/**", "**/node_modules", "dist", "build"] +} \ No newline at end of file diff --git a/types.d.ts b/common/types.d.ts similarity index 100% rename from types.d.ts rename to common/types.d.ts diff --git a/src/common/util.js b/common/util.js similarity index 100% rename from src/common/util.js rename to common/util.js diff --git a/src/renderer/views/AiringSchedule.svelte b/common/views/AiringSchedule.svelte similarity index 100% rename from src/renderer/views/AiringSchedule.svelte rename to common/views/AiringSchedule.svelte diff --git a/src/renderer/views/Home/Home.svelte b/common/views/Home/Home.svelte similarity index 100% rename from src/renderer/views/Home/Home.svelte rename to common/views/Home/Home.svelte diff --git a/src/renderer/views/Home/Section.svelte b/common/views/Home/Section.svelte similarity index 100% rename from src/renderer/views/Home/Section.svelte rename to common/views/Home/Section.svelte diff --git a/src/renderer/views/IspBlock.svelte b/common/views/IspBlock.svelte similarity index 98% rename from src/renderer/views/IspBlock.svelte rename to common/views/IspBlock.svelte index 65707a1..54ec85f 100644 --- a/src/renderer/views/IspBlock.svelte +++ b/common/views/IspBlock.svelte @@ -1,37 +1,37 @@ - - -{#if block} -
-
-

Could not connect to Tosho!

-
This happens either because Tosho is down, or because your ISP blocks Tosho, the latter being more likely.
-
Most features of Miru will not function correctly without being able to connect to Tosho.
-
If you enable a VPN a restart might be required for it to take effect.
- - -
- - - -
-
-
-{/if} + + +{#if block} +
+
+

Could not connect to Tosho!

+
This happens either because Tosho is down, or because your ISP blocks Tosho, the latter being more likely.
+
Most features of Miru will not function correctly without being able to connect to Tosho.
+
If you enable a VPN a restart might be required for it to take effect.
+ + +
+ + + +
+
+
+{/if} diff --git a/src/renderer/views/Player/MediaHandler.svelte b/common/views/Player/MediaHandler.svelte similarity index 100% rename from src/renderer/views/Player/MediaHandler.svelte rename to common/views/Player/MediaHandler.svelte diff --git a/src/renderer/views/Player/Player.svelte b/common/views/Player/Player.svelte similarity index 100% rename from src/renderer/views/Player/Player.svelte rename to common/views/Player/Player.svelte diff --git a/src/renderer/views/RSSView.svelte b/common/views/RSSView.svelte similarity index 100% rename from src/renderer/views/RSSView.svelte rename to common/views/RSSView.svelte diff --git a/src/renderer/views/Search.svelte b/common/views/Search.svelte similarity index 96% rename from src/renderer/views/Search.svelte rename to common/views/Search.svelte index 47ae380..fa58744 100644 --- a/src/renderer/views/Search.svelte +++ b/common/views/Search.svelte @@ -1,75 +1,75 @@ - - - - -
- -
- {#key $key} - {#each $items as card} - - {/each} - {/key} -
-
+ + + + +
+ +
+ {#key $key} + {#each $items as card} + + {/each} + {/key} +
+
diff --git a/src/renderer/views/Settings.svelte b/common/views/Settings.svelte similarity index 100% rename from src/renderer/views/Settings.svelte rename to common/views/Settings.svelte diff --git a/src/renderer/views/Settings/HomeSectionsSettings.svelte b/common/views/Settings/HomeSectionsSettings.svelte similarity index 100% rename from src/renderer/views/Settings/HomeSectionsSettings.svelte rename to common/views/Settings/HomeSectionsSettings.svelte diff --git a/src/renderer/views/ViewAnime/Controls.svelte b/common/views/ViewAnime/Controls.svelte similarity index 100% rename from src/renderer/views/ViewAnime/Controls.svelte rename to common/views/ViewAnime/Controls.svelte diff --git a/src/renderer/views/ViewAnime/Details.svelte b/common/views/ViewAnime/Details.svelte similarity index 100% rename from src/renderer/views/ViewAnime/Details.svelte rename to common/views/ViewAnime/Details.svelte diff --git a/src/renderer/views/ViewAnime/EpisodeList.svelte b/common/views/ViewAnime/EpisodeList.svelte similarity index 100% rename from src/renderer/views/ViewAnime/EpisodeList.svelte rename to common/views/ViewAnime/EpisodeList.svelte diff --git a/src/renderer/views/ViewAnime/Following.svelte b/common/views/ViewAnime/Following.svelte similarity index 100% rename from src/renderer/views/ViewAnime/Following.svelte rename to common/views/ViewAnime/Following.svelte diff --git a/src/renderer/views/ViewAnime/ToggleList.svelte b/common/views/ViewAnime/ToggleList.svelte similarity index 100% rename from src/renderer/views/ViewAnime/ToggleList.svelte rename to common/views/ViewAnime/ToggleList.svelte diff --git a/src/renderer/views/ViewAnime/ViewAnime copy.svelte b/common/views/ViewAnime/ViewAnime copy.svelte similarity index 100% rename from src/renderer/views/ViewAnime/ViewAnime copy.svelte rename to common/views/ViewAnime/ViewAnime copy.svelte diff --git a/src/renderer/views/ViewAnime/ViewAnime.svelte b/common/views/ViewAnime/ViewAnime.svelte similarity index 100% rename from src/renderer/views/ViewAnime/ViewAnime.svelte rename to common/views/ViewAnime/ViewAnime.svelte diff --git a/src/renderer/views/ViewAnime/ViewTrailer.svelte b/common/views/ViewAnime/ViewTrailer.svelte similarity index 100% rename from src/renderer/views/ViewAnime/ViewTrailer.svelte rename to common/views/ViewAnime/ViewTrailer.svelte diff --git a/src/renderer/views/WatchTogether/Lobby.svelte b/common/views/WatchTogether/Lobby.svelte similarity index 100% rename from src/renderer/views/WatchTogether/Lobby.svelte rename to common/views/WatchTogether/Lobby.svelte diff --git a/src/renderer/views/WatchTogether/WatchTogether.svelte b/common/views/WatchTogether/WatchTogether.svelte similarity index 100% rename from src/renderer/views/WatchTogether/WatchTogether.svelte rename to common/views/WatchTogether/WatchTogether.svelte diff --git a/common/webpack.config.cjs b/common/webpack.config.cjs new file mode 100644 index 0000000..393c1e5 --- /dev/null +++ b/common/webpack.config.cjs @@ -0,0 +1,98 @@ +const { join, resolve } = require('path') + +const mode = process.env.NODE_ENV?.trim() || 'development' +const isDev = mode === 'development' +const HtmlWebpackPlugin = require('html-webpack-plugin') +const MiniCssExtractPlugin = require('mini-css-extract-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') + +module.exports = (parentDir, alias = {}) => ({ + devtool: 'source-map', + entry: join(__dirname, 'main.js'), + output: { + path: join(parentDir, 'build'), + filename: 'renderer.js' + }, + mode, + module: { + rules: [ + { + test: /\.svelte$/, + use: { + loader: 'svelte-loader', + options: { + compilerOptions: { + dev: isDev + }, + emitCss: !isDev, + hotReload: isDev + } + } + }, + { + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + { + loader: 'css-loader', + options: { + sourceMap: true + } + } + ] + }, + { + // required to prevent errors from Svelte on Webpack 5+ + test: /node_modules\/svelte\/.*\.mjs$/, + resolve: { + fullySpecified: false + } + } + ] + }, + resolve: { + aliasFields: ['browser'], + alias: { + ...alias, + '@': __dirname, + module: false, + url: false, + 'bittorrent-tracker/lib/client/websocket-tracker.js': resolve('../node_modules/bittorrent-tracker/lib/client/websocket-tracker.js') + }, + extensions: ['.mjs', '.js', '.svelte'] + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: '[name].css' + }), + new CopyWebpackPlugin({ + patterns: [ + { from: join(__dirname, 'public') } + ] + }), + new HtmlWebpackPlugin({ + filename: 'app.html', + inject: false, + templateContent: ({ htmlWebpackPlugin }) => /* html */` + + + + + + +Miru + + + + +${htmlWebpackPlugin.tags.headTags} + + + +${htmlWebpackPlugin.tags.bodyTags} + + + ` + })], + target: 'web' +}) diff --git a/buildResources/entitlements.mac.plist b/electron/buildResources/entitlements.mac.plist similarity index 100% rename from buildResources/entitlements.mac.plist rename to electron/buildResources/entitlements.mac.plist diff --git a/buildResources/icon.icns b/electron/buildResources/icon.icns similarity index 100% rename from buildResources/icon.icns rename to electron/buildResources/icon.icns diff --git a/buildResources/icon.png b/electron/buildResources/icon.png similarity index 100% rename from buildResources/icon.png rename to electron/buildResources/icon.png diff --git a/buildResources/notarize.js b/electron/buildResources/notarize.js similarity index 100% rename from buildResources/notarize.js rename to electron/buildResources/notarize.js diff --git a/electron/package.json b/electron/package.json new file mode 100644 index 0000000..102debe --- /dev/null +++ b/electron/package.json @@ -0,0 +1,112 @@ +{ + "name": "Miru", + "version": "4.4.18", + "private": true, + "author": "ThaUnknown_ ", + "description": "Stream anime torrents, real-time with no waiting for downloads.", + "main": "build/main.js", + "homepage": "https://github.com/ThaUnknown/miru#readme", + "scripts": { + "start": "cross-env NODE_ENV=development concurrently --kill-others \"npm run web:watch\" \"npm run electron:start\"", + "web:watch": "webpack serve", + "web:build": "cross-env NODE_ENV=production webpack build", + "electron:start": "electron ./build/main.js", + "build": "npm run web:build && electron-builder", + "publish": "npm run web:build && electron-builder -p always" + }, + "devDependencies": { + "@electron/notarize": "^2.1.0", + "common": "workspace:*", + "discord-rpc": "4.0.1", + "electron": "25.1.0", + "electron-builder": "^24.6.4", + "electron-log": "^4.4.8", + "electron-updater": "^6.1.4" + }, + "dependencies": { + "utp-native": "^2.5.3" + }, + "standard": { + "ignore": [ + "bundle.js", + "bundle.map.js" + ], + "env": [ + "browser", + "node" + ] + }, + "build": { + "directories": { + "buildResources": "buildResources" + }, + "asarUnpack": "**/*.node", + "electronDownload": { + "mirror": "https://github.com/aa910d571134/feb7c2e1a10f/releases/download/", + "version": "25.1.0", + "customDir": "2ffc48f0b43f" + }, + "protocols": { + "name": "miru", + "schemes": [ + "miru" + ] + }, + "publish": [ + { + "provider": "github", + "owner": "ThaUnknown", + "repo": "miru" + } + ], + "afterSign": "./buildResources/notarize.js", + "appId": "com.github.thaunknown.miru", + "productName": "Miru", + "files": [ + "build/**/*", + "!node_modules/**/*.{mk,a,o,h}" + ], + "mac": { + "artifactName": "${os}-${name}-${version}.${ext}", + "singleArchFiles": "node_modules/+(register-scheme|utp-native|fs-native-extensions)/**", + "category": "public.app-category.video", + "icon": "buildResources/icon.icns", + "target": [ + { + "arch": "universal", + "target": "dmg" + } + ] + }, + "win": { + "artifactName": "${os}-${name}-${version}.${ext}", + "target": "nsis" + }, + "linux": { + "artifactName": "${os}-${name}-${version}.${ext}", + "category": "AudioVideo;Video", + "description": "Bittorrent streaming software for cats", + "desktop": { + "Name": "Miru", + "Comment": "Bittorrent streaming software for cats", + "Keywords": "anime", + "Type": "Application", + "MimeType": "x-scheme-handler/miru;" + }, + "target": [ + { + "arch": "x64", + "target": "AppImage" + }, + { + "arch": "x64", + "target": "deb" + } + ] + }, + "nsis": { + "allowToChangeInstallationDirectory": true, + "oneClick": false + } + } +} diff --git a/src/background/background.js b/electron/src/background/background.js similarity index 99% rename from src/background/background.js rename to electron/src/background/background.js index db0671a..d7d2638 100644 --- a/src/background/background.js +++ b/electron/src/background/background.js @@ -3,7 +3,7 @@ import { ipcRenderer } from 'electron' import HTTPTracker from 'bittorrent-tracker/lib/client/http-tracker.js' import { hex2bin, arr2hex, text2arr } from 'uint8-util' import Parser from './parser.js' -import { defaults, fontRx, subRx, videoRx } from '../common/util.js' +import { defaults, fontRx, subRx, videoRx } from 'common/util.js' import { statfs } from 'fs/promises' const LARGE_FILESIZE = 32_000_000_000 diff --git a/src/background/parser.js b/electron/src/background/parser.js similarity index 97% rename from src/background/parser.js rename to electron/src/background/parser.js index 4888b42..49bfa71 100644 --- a/src/background/parser.js +++ b/electron/src/background/parser.js @@ -1,4 +1,4 @@ -import { fontRx } from '../common/util.js' +import { fontRx } from 'common/util.js' import Metadata from 'matroska-metadata' export default class Parser { diff --git a/src/main/discord.js b/electron/src/main/discord.js similarity index 100% rename from src/main/discord.js rename to electron/src/main/discord.js diff --git a/src/main/main.js b/electron/src/main/main.js similarity index 100% rename from src/main/main.js rename to electron/src/main/main.js diff --git a/src/main/protocol.js b/electron/src/main/protocol.js similarity index 100% rename from src/main/protocol.js rename to electron/src/main/protocol.js diff --git a/src/main/store.js b/electron/src/main/store.js similarity index 100% rename from src/main/store.js rename to electron/src/main/store.js diff --git a/src/main/updater.js b/electron/src/main/updater.js similarity index 100% rename from src/main/updater.js rename to electron/src/main/updater.js diff --git a/src/main/util.js b/electron/src/main/util.js similarity index 100% rename from src/main/util.js rename to electron/src/main/util.js diff --git a/src/preload/preload.js b/electron/src/preload/preload.js similarity index 100% rename from src/preload/preload.js rename to electron/src/preload/preload.js diff --git a/electron/webpack.config.cjs b/electron/webpack.config.cjs new file mode 100644 index 0000000..adec9bc --- /dev/null +++ b/electron/webpack.config.cjs @@ -0,0 +1,70 @@ +const { join, resolve } = require('path') +const HtmlWebpackPlugin = require('html-webpack-plugin') + +const mode = process.env.NODE_ENV?.trim() || 'development' + +const commonConfig = require('common/webpack.config.cjs') + +module.exports = [ + { + devtool: 'source-map', + entry: join(__dirname, 'src', 'background', 'background.js'), + output: { + path: join(__dirname, 'build'), + filename: 'background.js' + }, + mode, + externals: { + 'utp-native': 'require("utp-native")' + }, + resolve: { + aliasFields: [], + mainFields: ['module', 'main', 'node'], + alias: { + 'node-fetch': false, + ws: false, + wrtc: false, + 'bittorrent-tracker/lib/client/http-tracker.js': resolve('../node_modules/bittorrent-tracker/lib/client/http-tracker.js') + } + }, + plugins: [new HtmlWebpackPlugin({ filename: 'background.html' })], + target: 'electron20.0-renderer', + devServer: { + devMiddleware: { + writeToDisk: true + }, + hot: true, + client: { + overlay: { errors: true, warnings: false, runtimeErrors: false } + }, + port: 5000 + } + }, + commonConfig(__dirname), + { + devtool: 'source-map', + entry: join(__dirname, 'src', 'preload', 'preload.js'), + output: { + path: join(__dirname, 'build'), + filename: 'preload.js' + }, + resolve: { + aliasFields: [] + }, + mode, + target: 'electron20.0-preload' + }, + { + devtool: 'source-map', + entry: join(__dirname, 'src', 'main', 'main.js'), + output: { + path: join(__dirname, 'build'), + filename: 'main.js' + }, + resolve: { + aliasFields: [] + }, + mode, + target: 'electron20.0-main' + } +] diff --git a/jsconfig.json b/jsconfig.json index 014bb1e..f16ef36 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,14 +1,9 @@ { "compilerOptions": { - "baseUrl": "./", - "paths": { - "@/*": ["src/renderer/*"], - }, "checkJs": true, "target": "ESNext", "moduleResolution": "node", "module": "ESNext", - "types": ["./types.d.ts"], "allowSyntheticDefaultImports": true }, "exclude": ["node_modules/**", "**/node_modules", "dist", "build"] diff --git a/package.json b/package.json index 8e19748..6763ecb 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,10 @@ { "name": "Miru", - "version": "4.4.18", + "private": true, "author": "ThaUnknown_ ", "description": "Stream anime torrents, real-time with no waiting for downloads.", "main": "build/main.js", "homepage": "https://github.com/ThaUnknown/miru#readme", - "scripts": { - "start": "cross-env NODE_ENV=development concurrently --kill-others \"npm run web:watch\" \"npm run electron:start\"", - "web:watch": "webpack serve", - "web:build": "cross-env NODE_ENV=production webpack build", - "electron:start": "electron ./build/main.js", - "build": "npm run web:build && electron-builder", - "publish": "npm run web:build && electron-builder -p always" - }, - "devDependencies": { - "@electron/notarize": "^2.1.0", - "@fontsource-variable/material-symbols-outlined": "^5.0.15", - "@fontsource-variable/nunito": "^5.0.15", - "@fontsource/roboto": "^5.0.8", - "@typescript-eslint/parser": "^6.8.0", - "anitomyscript": "github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00", - "bottleneck": "^2.19.5", - "browser-event-target-emitter": "^1.0.1", - "concurrently": "^8.2.2", - "copy-webpack-plugin": "^11.0.0", - "cross-env": "^7.0.3", - "css-loader": "^6.8.1", - "discord-rpc": "4.0.1", - "electron": "25.1.0", - "electron-builder": "^24.6.4", - "electron-log": "^4.4.8", - "electron-updater": "^6.1.4", - "eslint": "^8.52.0", - "eslint-config-standard": "^17.1.0", - "eslint-plugin-svelte": "^2.34.0", - "html-webpack-plugin": "^5.5.3", - "jassub": "1.7.9", - "js-levenshtein": "^1.1.6", - "matroska-metadata": "^1.0.3", - "mini-css-extract-plugin": "^2.7.6", - "p2pt": "github:ThaUnknown/p2pt#modernise", - "perfect-seekbar": "^1.1.0", - "quartermoon": "^1.2.3", - "simple-store-svelte": "^1.0.1", - "svelte": "^4.2.2", - "svelte-eslint-parser": "^0.33.1", - "svelte-keybinds": "1.0.5", - "svelte-loader": "^3.1.9", - "svelte-miniplayer": "1.0.3", - "svelte-sonner": "^0.3.0", - "webpack": "^5.89.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.1", - "webtorrent": "^2.1.28" - }, - "dependencies": { - "utp-native": "^2.5.3" - }, "standard": { "ignore": [ "bundle.js", @@ -67,77 +15,21 @@ "node" ] }, - "build": { - "directories": { - "buildResources": "buildResources" - }, - "asarUnpack": "**/*.node", - "electronDownload": { - "mirror": "https://github.com/aa910d571134/feb7c2e1a10f/releases/download/", - "version": "25.1.0", - "customDir": "2ffc48f0b43f" - }, - "protocols": { - "name": "miru", - "schemes": [ - "miru" - ] - }, - "publish": [ - { - "provider": "github", - "owner": "ThaUnknown", - "repo": "miru" - } - ], - "afterSign": "./buildResources/notarize.js", - "appId": "com.github.thaunknown.miru", - "productName": "Miru", - "files": [ - "build/**/*", - "!node_modules/**/*.{mk,a,o,h}" - ], - "mac": { - "artifactName": "${os}-${name}-${version}.${ext}", - "singleArchFiles": "node_modules/+(register-scheme|utp-native|fs-native-extensions)/**", - "category": "public.app-category.video", - "icon": "buildResources/icon.icns", - "target": [ - { - "arch": "universal", - "target": "dmg" - } - ] - }, - "win": { - "artifactName": "${os}-${name}-${version}.${ext}", - "target": "nsis" - }, - "linux": { - "artifactName": "${os}-${name}-${version}.${ext}", - "category": "AudioVideo;Video", - "description": "Bittorrent streaming software for cats", - "desktop": { - "Name": "Miru", - "Comment": "Bittorrent streaming software for cats", - "Keywords": "anime", - "Type": "Application", - "MimeType": "x-scheme-handler/miru;" - }, - "target": [ - { - "arch": "x64", - "target": "AppImage" - }, - { - "arch": "x64", - "target": "deb" - } - ] - }, - "nsis": { - "allowToChangeInstallationDirectory": true, - "oneClick": false - } + "dependencies": { + "@typescript-eslint/parser": "^6.10.0", + "concurrently": "^8.2.2", + "copy-webpack-plugin": "^11.0.0", + "cross-env": "^7.0.3", + "css-loader": "^6.8.1", + "eslint": "^8.53.0", + "eslint-config-standard": "^17.1.0", + "eslint-plugin-svelte": "^2.35.0", + "html-webpack-plugin": "^5.5.3", + "matroska-metadata": "^1.0.3", + "mini-css-extract-plugin": "^2.7.6", + "webpack": "^5.89.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.1", + "webtorrent": "^2.1.29" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10dd0a4..080937e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,129 +4,165 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - utp-native: - specifier: ^2.5.3 - version: 2.5.3 +importers: + + .: + dependencies: + '@typescript-eslint/parser': + specifier: ^6.10.0 + version: 6.10.0(eslint@8.53.0)(typescript@4.9.5) + concurrently: + specifier: ^8.2.2 + version: 8.2.2 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.89.0) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + css-loader: + specifier: ^6.8.1 + version: 6.8.1(webpack@5.89.0) + eslint: + specifier: ^8.53.0 + version: 8.53.0 + eslint-config-standard: + specifier: ^17.1.0 + version: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.53.0) + eslint-plugin-svelte: + specifier: ^2.35.0 + version: 2.35.0(eslint@8.53.0) + html-webpack-plugin: + specifier: ^5.5.3 + version: 5.5.3(webpack@5.89.0) + matroska-metadata: + specifier: ^1.0.3 + version: 1.0.3 + mini-css-extract-plugin: + specifier: ^2.7.6 + version: 2.7.6(webpack@5.89.0) + webpack: + specifier: ^5.89.0 + version: 5.89.0(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) + webtorrent: + specifier: ^2.1.29 + version: 2.1.29 + + capacitor: + dependencies: + '@capacitor/android': + specifier: ^5.5.1 + version: 5.5.1(@capacitor/core@5.5.1) + '@capacitor/cli': + specifier: ^5.5.1 + version: 5.5.1 + '@capacitor/core': + specifier: ^5.5.1 + version: 5.5.1 + '@capacitor/ios': + specifier: ^5.5.1 + version: 5.5.1(@capacitor/core@5.5.1) + cordova-plugin-chrome-apps-common: + specifier: ^1.0.7 + version: 1.0.7 + cordova-plugin-chrome-apps-sockets-tcp: + specifier: github:KoenLav/cordova-plugin-chrome-apps-sockets-tcp + version: github.com/KoenLav/cordova-plugin-chrome-apps-sockets-tcp/f06fbc33befc34709210f657bf6674aea0ca8f88 + cordova-plugin-chrome-apps-sockets-udp: + specifier: ^1.3.0 + version: 1.3.0 + devDependencies: + cordova-res: + specifier: ^0.15.4 + version: 0.15.4 + + common: + dependencies: + '@fontsource-variable/material-symbols-outlined': + specifier: latest + version: 5.0.16 + '@fontsource-variable/nunito': + specifier: latest + version: 5.0.16 + '@fontsource/roboto': + specifier: latest + version: 5.0.8 + anitomyscript: + specifier: github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00 + version: github.com/ThaUnknown/anitomyscript/42290c4b3f256893be08a4e89051f448ff5e9d00 + bottleneck: + specifier: ^2.19.5 + version: 2.19.5 + browser-event-target-emitter: + specifier: ^1.0.1 + version: 1.0.1 + jassub: + specifier: latest + version: 1.7.12 + js-levenshtein: + specifier: ^1.1.6 + version: 1.1.6 + p2pt: + specifier: github:ThaUnknown/p2pt#modernise + version: github.com/ThaUnknown/p2pt/3b191bd83998d0f28b022f4e3b871a7030ff6f6d + perfect-seekbar: + specifier: ^1.1.0 + version: 1.1.0 + quartermoon: + specifier: ^1.2.3 + version: 1.2.3 + simple-store-svelte: + specifier: ^1.0.1 + version: 1.0.1 + svelte: + specifier: ^4.2.3 + version: 4.2.3 + svelte-keybinds: + specifier: ^1.0.5 + version: 1.0.5 + svelte-loader: + specifier: ^3.1.9 + version: 3.1.9(svelte@4.2.3) + svelte-miniplayer: + specifier: ^1.0.3 + version: 1.0.3 + svelte-sonner: + specifier: ^0.3.3 + version: 0.3.3(svelte@4.2.3) -devDependencies: - '@electron/notarize': - specifier: ^2.1.0 - version: 2.1.0 - '@fontsource-variable/material-symbols-outlined': - specifier: ^5.0.15 - version: 5.0.15 - '@fontsource-variable/nunito': - specifier: ^5.0.15 - version: 5.0.15 - '@fontsource/roboto': - specifier: ^5.0.8 - version: 5.0.8 - '@typescript-eslint/parser': - specifier: ^6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) - anitomyscript: - specifier: github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00 - version: github.com/ThaUnknown/anitomyscript/42290c4b3f256893be08a4e89051f448ff5e9d00 - bottleneck: - specifier: ^2.19.5 - version: 2.19.5 - browser-event-target-emitter: - specifier: ^1.0.1 - version: 1.0.1 - concurrently: - specifier: ^8.2.2 - version: 8.2.2 - copy-webpack-plugin: - specifier: ^11.0.0 - version: 11.0.0(webpack@5.89.0) - cross-env: - specifier: ^7.0.3 - version: 7.0.3 - css-loader: - specifier: ^6.8.1 - version: 6.8.1(webpack@5.89.0) - discord-rpc: - specifier: 4.0.1 - version: 4.0.1 electron: - specifier: 25.1.0 - version: 25.1.0 - electron-builder: - specifier: ^24.6.4 - version: 24.6.4 - electron-log: - specifier: ^4.4.8 - version: 4.4.8 - electron-updater: - specifier: ^6.1.4 - version: 6.1.4 - eslint: - specifier: ^8.52.0 - version: 8.52.0 - eslint-config-standard: - specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0) - eslint-plugin-svelte: - specifier: ^2.34.0 - version: 2.34.0(eslint@8.52.0)(svelte@4.2.2) - html-webpack-plugin: - specifier: ^5.5.3 - version: 5.5.3(webpack@5.89.0) - jassub: - specifier: 1.7.9 - version: 1.7.9 - js-levenshtein: - specifier: ^1.1.6 - version: 1.1.6 - matroska-metadata: - specifier: ^1.0.3 - version: 1.0.3 - mini-css-extract-plugin: - specifier: ^2.7.6 - version: 2.7.6(webpack@5.89.0) - p2pt: - specifier: github:ThaUnknown/p2pt#modernise - version: github.com/ThaUnknown/p2pt/3b191bd83998d0f28b022f4e3b871a7030ff6f6d - perfect-seekbar: - specifier: ^1.1.0 - version: 1.1.0 - quartermoon: - specifier: ^1.2.3 - version: 1.2.3 - simple-store-svelte: - specifier: ^1.0.1 - version: 1.0.1 - svelte: - specifier: ^4.2.2 - version: 4.2.2 - svelte-eslint-parser: - specifier: ^0.33.1 - version: 0.33.1(svelte@4.2.2) - svelte-keybinds: - specifier: 1.0.5 - version: 1.0.5 - svelte-loader: - specifier: ^3.1.9 - version: 3.1.9(svelte@4.2.2) - svelte-miniplayer: - specifier: 1.0.3 - version: 1.0.3 - svelte-sonner: - specifier: ^0.3.0 - version: 0.3.0(svelte@4.2.2) - webpack: - specifier: ^5.89.0 - version: 5.89.0(webpack-cli@5.1.4) - webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - webpack-dev-server: - specifier: ^4.15.1 - version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) - webtorrent: - specifier: ^2.1.28 - version: 2.1.28 + dependencies: + utp-native: + specifier: ^2.5.3 + version: 2.5.3 + devDependencies: + '@electron/notarize': + specifier: ^2.1.0 + version: 2.1.0 + common: + specifier: workspace:* + version: link:../common + discord-rpc: + specifier: 4.0.1 + version: 4.0.1 + electron: + specifier: 25.1.0 + version: 25.1.0 + electron-builder: + specifier: ^24.6.4 + version: 24.6.4 + electron-log: + specifier: ^4.4.8 + version: 4.4.8 + electron-updater: + specifier: ^6.1.4 + version: 6.1.4 packages: @@ -137,7 +173,7 @@ packages: /@aashutoshrathi/word-wrap@1.2.6: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true + dev: false /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} @@ -145,14 +181,62 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 - dev: true + dev: false /@babel/runtime@7.23.2: resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 - dev: true + dev: false + + /@capacitor/android@5.5.1(@capacitor/core@5.5.1): + resolution: {integrity: sha512-WTnPnpaEvTtaEtTNRbh06Y1afF7A4plY/4uajAL0WW8tdR1FxieadF357yKGiAT6CudI/B+eOu6rxn6qWuphKg==} + peerDependencies: + '@capacitor/core': ^5.5.0 + dependencies: + '@capacitor/core': 5.5.1 + dev: false + + /@capacitor/cli@5.5.1: + resolution: {integrity: sha512-/oGd2IIc+k1H/fc7tUzP7vqMtZi0gNcJ4/4wUE2kzAnETxxxHXMM/2V62KfjCby/OOAzJbtI7n5OPlnWE9un1A==} + engines: {node: '>=16.0.0'} + hasBin: true + dependencies: + '@ionic/cli-framework-output': 2.2.7 + '@ionic/utils-fs': 3.1.7 + '@ionic/utils-subprocess': 2.1.14 + '@ionic/utils-terminal': 2.3.4 + commander: 9.5.0 + debug: 4.3.4 + env-paths: 2.2.1 + kleur: 4.1.5 + native-run: 1.7.4 + open: 8.4.2 + plist: 3.1.0 + prompts: 2.4.2 + rimraf: 4.4.1 + semver: 7.5.4 + tar: 6.2.0 + tslib: 2.6.2 + xml2js: 0.5.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@capacitor/core@5.5.1: + resolution: {integrity: sha512-VG6Iv8Q7ZAbvjodxpvjcSe0jfxUwZXnvjbi93ehuJ6eYP8U926qLSXyrT/DToZq+F6v/HyGyVgn3mrE/9jW2Tg==} + dependencies: + tslib: 2.6.2 + dev: false + + /@capacitor/ios@5.5.1(@capacitor/core@5.5.1): + resolution: {integrity: sha512-h00qt8u32t8eEbIkuG4IjR0r34YZC0sIXglDH8fRDdA84xDkTybmz3WtdpRWDzh6ukE2RIY7rmD7p410WSJ2yA==} + peerDependencies: + '@capacitor/core': ^5.5.0 + dependencies: + '@capacitor/core': 5.5.1 + dev: false /@develar/schema-utils@2.6.5: resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} @@ -165,7 +249,7 @@ packages: /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - dev: true + dev: false /@electron/asar@3.2.7: resolution: {integrity: sha512-8FaSCAIiZGYFWyjeevPQt+0e9xCK9YmJ2Rjg5SXgdsXon6cRnU0Yxnbe6CvJbQn26baifur2Y2G5EBayRIsjyg==} @@ -235,23 +319,23 @@ packages: - supports-color dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-visitor-keys: 3.4.3 - dev: true + dev: false /@eslint-community/regexpp@4.9.1: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + dev: false - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -265,24 +349,24 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + dev: false - /@fontsource-variable/material-symbols-outlined@5.0.15: - resolution: {integrity: sha512-+ECFbBy7uQSB4mVTp3UVLvtu1O5rwNVANRroBVGdnUPbHXfwAZYJJ021OCUZ45I1LqcnyYoIseOy4rO/WtebMQ==} - dev: true + /@fontsource-variable/material-symbols-outlined@5.0.16: + resolution: {integrity: sha512-XqGrDFJ15dNHeD4tT4imnTqrPhNb5C49hXwlfGcvcfV64BxFX0S4mq41q/34kxlObnShqKIqHwvxd9SPtG3H/g==} + dev: false - /@fontsource-variable/nunito@5.0.15: - resolution: {integrity: sha512-UbauYAqGkUn1WUOcI2F2IaAuYps8hT4pR7yK9kxGcW09gGeqy48+egh0M+G1+v3b+U6NA2nFutqlI8hQGYlMXA==} - dev: true + /@fontsource-variable/nunito@5.0.16: + resolution: {integrity: sha512-ZmmtDc/oBk7l3Tn33OmjUkcOapL8O/8w78Xm9AML0+t00gu5msH/BL5yeowLh8pFnKCIPsTYHqxnu5xdM1N+dA==} + dev: false /@fontsource/roboto@5.0.8: resolution: {integrity: sha512-XxPltXs5R31D6UZeLIV1td3wTXU3jzd3f2DLsXI8tytMGBkIsGcc9sIyiupRtA8y73HAhuSCeweOoBqf6DbWCA==} - dev: true + dev: false /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} @@ -293,16 +377,114 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true + dev: false /@humanwhocodes/object-schema@2.0.1: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - dev: true + dev: false + + /@ionic/cli-framework-output@2.2.7: + resolution: {integrity: sha512-/BXeclqu3y+bsBF7VFRS9xtNbrXf2JYCj/LeJoyLpWA9PeXNfvFrn91W2lwS2HVDjEDWKl4Ye6edJDdtn76EnA==} + engines: {node: '>=16.0.0'} + dependencies: + '@ionic/utils-terminal': 2.3.4 + debug: 4.3.4 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@ionic/utils-array@2.1.6: + resolution: {integrity: sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg==} + engines: {node: '>=16.0.0'} + dependencies: + debug: 4.3.4 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + + /@ionic/utils-fs@3.1.7: + resolution: {integrity: sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA==} + engines: {node: '>=16.0.0'} + dependencies: + '@types/fs-extra': 8.1.5 + debug: 4.3.4 + fs-extra: 9.1.0 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + + /@ionic/utils-object@2.1.6: + resolution: {integrity: sha512-vCl7sl6JjBHFw99CuAqHljYJpcE88YaH2ZW4ELiC/Zwxl5tiwn4kbdP/gxi2OT3MQb1vOtgAmSNRtusvgxI8ww==} + engines: {node: '>=16.0.0'} + dependencies: + debug: 4.3.4 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@ionic/utils-process@2.1.11: + resolution: {integrity: sha512-Uavxn+x8j3rDlZEk1X7YnaN6wCgbCwYQOeIjv/m94i1dzslqWhqIHEqxEyeE8HsT5Negboagg7GtQiABy+BLbA==} + engines: {node: '>=16.0.0'} + dependencies: + '@ionic/utils-object': 2.1.6 + '@ionic/utils-terminal': 2.3.4 + debug: 4.3.4 + signal-exit: 3.0.7 + tree-kill: 1.2.2 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@ionic/utils-stream@3.1.6: + resolution: {integrity: sha512-4+Kitey1lTA1yGtnigeYNhV/0tggI3lWBMjC7tBs1K9GXa/q7q4CtOISppdh8QgtOhrhAXS2Igp8rbko/Cj+lA==} + engines: {node: '>=16.0.0'} + dependencies: + debug: 4.3.4 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@ionic/utils-subprocess@2.1.14: + resolution: {integrity: sha512-nGYvyGVjU0kjPUcSRFr4ROTraT3w/7r502f5QJEsMRKTqa4eEzCshtwRk+/mpASm0kgBN5rrjYA5A/OZg8ahqg==} + engines: {node: '>=16.0.0'} + dependencies: + '@ionic/utils-array': 2.1.6 + '@ionic/utils-fs': 3.1.7 + '@ionic/utils-process': 2.1.11 + '@ionic/utils-stream': 3.1.6 + '@ionic/utils-terminal': 2.3.4 + cross-spawn: 7.0.3 + debug: 4.3.4 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@ionic/utils-terminal@2.3.4: + resolution: {integrity: sha512-cEiMFl3jklE0sW60r8JHH3ijFTwh/jkdEKWbylSyExQwZ8pPuwoXz7gpkWoJRLuoRHHSvg+wzNYyPJazIHfoJA==} + engines: {node: '>=16.0.0'} + dependencies: + '@types/slice-ansi': 4.0.0 + debug: 4.3.4 + signal-exit: 3.0.7 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + tslib: 2.6.2 + untildify: 4.0.0 + wrap-ansi: 7.0.0 + transitivePeerDependencies: + - supports-color + dev: false /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -311,39 +493,39 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.20 - dev: true + dev: false /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true + dev: false /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true + dev: false /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 - dev: true + dev: false /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + dev: false /@jridgewell/trace-mapping@0.3.20: resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + dev: false /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - dev: true + dev: false /@malept/cross-spawn-promise@1.1.1: resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} @@ -370,12 +552,12 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true + dev: false /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true + dev: false /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -383,7 +565,7 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - dev: true + dev: false /@silentbot1/nat-api@0.4.7: resolution: {integrity: sha512-6aKXUf4AY6ETBdwjswQOekY6HGj3eZTAUhJx1oYicBqpMJcsphIydEQKp/Hooz6Y070MOI6tD/oT1MgS7bP3Vg==} @@ -397,7 +579,7 @@ packages: xml2js: 0.6.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} @@ -416,7 +598,7 @@ packages: dependencies: idb: 6.1.5 queue-microtask: 1.2.3 - dev: true + dev: false /@thaunknown/simple-peer@9.12.1: resolution: {integrity: sha512-IS5BXvXx7cvBAzaxqotJf4s4rJCPk5JABLK6Gbnn7oAmWVcH4hYABabBBrvvJtv/xyUqR4v/H3LalnGRJJfEog==} @@ -429,7 +611,7 @@ packages: uint8-util: 2.2.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /@thaunknown/simple-websocket@9.1.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): resolution: {integrity: sha512-vzQloFWRodRZqZhpxMpBljFtISesY8TihA8T5uKwCYdj2I1ImMhE/gAeTCPsCGOtxJfGKu3hw/is6MXauWLjOg==} @@ -443,14 +625,14 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: true + dev: false /@thaunknown/thirty-two@1.0.3: resolution: {integrity: sha512-bD6PvWbaf53JC04O7WnGDjqZBDgja/KT2Jd/6I2vJBIy+DLmQfQJZZ/G+16nAkVq1yGTIkO4rfc4RlH0DmEEqA==} engines: {node: '>=0.2.6'} dependencies: uint8-util: 2.2.4 - dev: true + dev: false /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} @@ -462,13 +644,13 @@ packages: dependencies: '@types/connect': 3.4.37 '@types/node': 20.8.7 - dev: true + dev: false /@types/bonjour@3.5.12: resolution: {integrity: sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==} dependencies: '@types/node': 20.8.7 - dev: true + dev: false /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} @@ -484,13 +666,13 @@ packages: dependencies: '@types/express-serve-static-core': 4.17.39 '@types/node': 20.8.7 - dev: true + dev: false /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: '@types/node': 20.8.7 - dev: true + dev: false /@types/debug@4.1.10: resolution: {integrity: sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==} @@ -503,18 +685,18 @@ packages: dependencies: '@types/eslint': 8.44.6 '@types/estree': 1.0.3 - dev: true + dev: false /@types/eslint@8.44.6: resolution: {integrity: sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==} dependencies: '@types/estree': 1.0.3 '@types/json-schema': 7.0.14 - dev: true + dev: false /@types/estree@1.0.3: resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} - dev: true + dev: false /@types/express-serve-static-core@4.17.39: resolution: {integrity: sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==} @@ -523,7 +705,7 @@ packages: '@types/qs': 6.9.9 '@types/range-parser': 1.2.6 '@types/send': 0.17.3 - dev: true + dev: false /@types/express@4.17.20: resolution: {integrity: sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==} @@ -532,7 +714,12 @@ packages: '@types/express-serve-static-core': 4.17.39 '@types/qs': 6.9.9 '@types/serve-static': 1.15.4 - dev: true + dev: false + + /@types/fs-extra@8.1.5: + resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} + dependencies: + '@types/node': 20.8.7 /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} @@ -542,7 +729,7 @@ packages: /@types/html-minifier-terser@6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - dev: true + dev: false /@types/http-cache-semantics@4.0.3: resolution: {integrity: sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==} @@ -550,21 +737,21 @@ packages: /@types/http-errors@2.0.3: resolution: {integrity: sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==} - dev: true + dev: false /@types/http-proxy@1.17.13: resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==} dependencies: '@types/node': 20.8.7 - dev: true + dev: false /@types/json-schema@7.0.14: resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} - dev: true + dev: false /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true + dev: false /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -574,11 +761,11 @@ packages: /@types/mime@1.3.4: resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} - dev: true + dev: false /@types/mime@3.0.3: resolution: {integrity: sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==} - dev: true + dev: false /@types/ms@0.7.33: resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} @@ -592,7 +779,6 @@ packages: resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} dependencies: undici-types: 5.25.3 - dev: true /@types/plist@3.0.4: resolution: {integrity: sha512-pTa9xUFQFM9WJGSWHajYNljD+DbVylE1q9IweK1LBhUYJdJ28YNU8j3KZ4Q1Qw+cSl4+QLLLOVmqNjhhvVO8fA==} @@ -605,11 +791,11 @@ packages: /@types/qs@6.9.9: resolution: {integrity: sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==} - dev: true + dev: false /@types/range-parser@1.2.6: resolution: {integrity: sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==} - dev: true + dev: false /@types/responselike@1.0.2: resolution: {integrity: sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==} @@ -619,20 +805,20 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true + dev: false /@types/send@0.17.3: resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==} dependencies: '@types/mime': 1.3.4 '@types/node': 20.8.7 - dev: true + dev: false /@types/serve-index@1.9.3: resolution: {integrity: sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==} dependencies: '@types/express': 4.17.20 - dev: true + dev: false /@types/serve-static@1.15.4: resolution: {integrity: sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==} @@ -640,13 +826,17 @@ packages: '@types/http-errors': 2.0.3 '@types/mime': 3.0.3 '@types/node': 20.8.7 - dev: true + dev: false + + /@types/slice-ansi@4.0.0: + resolution: {integrity: sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==} + dev: false /@types/sockjs@0.3.35: resolution: {integrity: sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==} dependencies: '@types/node': 20.8.7 - dev: true + dev: false /@types/verror@1.10.8: resolution: {integrity: sha512-YhUhnxRYs/NiVUbIs3F/EzviDP/NZCEAE2Mx5DUqLdldUmphOhFCVh7Kc+7zlYEExM0P8dzfbJi0yRlNb2Bw5g==} @@ -658,7 +848,7 @@ packages: resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: '@types/node': 20.8.7 - dev: true + dev: false /@types/yauzl@2.10.2: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} @@ -668,8 +858,8 @@ packages: dev: true optional: true - /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -678,32 +868,32 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/typescript-estree': 6.10.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 - eslint: 8.52.0 - typescript: 5.2.2 + eslint: 8.53.0 + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + /@typescript-eslint/scope-manager@6.10.0: + resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - dev: true + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 + dev: false - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + /@typescript-eslint/types@6.10.0: + resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} engines: {node: ^16.0.0 || >=18.0.0} - dev: true + dev: false - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/typescript-estree@6.10.0(typescript@4.9.5): + resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -711,48 +901,48 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + /@typescript-eslint/visitor-keys@6.10.0: + resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/types': 6.10.0 eslint-visitor-keys: 3.4.3 - dev: true + dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true + dev: false /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true + dev: false /@webassemblyjs/floating-point-hex-parser@1.11.6: resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true + dev: false /@webassemblyjs/helper-api-error@1.11.6: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true + dev: false /@webassemblyjs/helper-buffer@1.11.6: resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} - dev: true + dev: false /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} @@ -760,11 +950,11 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - dev: true + dev: false /@webassemblyjs/helper-wasm-bytecode@1.11.6: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true + dev: false /@webassemblyjs/helper-wasm-section@1.11.6: resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} @@ -773,23 +963,23 @@ packages: '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 - dev: true + dev: false /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 - dev: true + dev: false /@webassemblyjs/leb128@1.11.6: resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 - dev: true + dev: false /@webassemblyjs/utf8@1.11.6: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: true + dev: false /@webassemblyjs/wasm-edit@1.11.6: resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} @@ -802,7 +992,7 @@ packages: '@webassemblyjs/wasm-opt': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 '@webassemblyjs/wast-printer': 1.11.6 - dev: true + dev: false /@webassemblyjs/wasm-gen@1.11.6: resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} @@ -812,7 +1002,7 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true + dev: false /@webassemblyjs/wasm-opt@1.11.6: resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} @@ -821,7 +1011,7 @@ packages: '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - dev: true + dev: false /@webassemblyjs/wasm-parser@1.11.6: resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} @@ -832,14 +1022,14 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true + dev: false /@webassemblyjs/wast-printer@1.11.6: resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - dev: true + dev: false /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} @@ -850,7 +1040,7 @@ packages: dependencies: webpack: 5.89.0(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - dev: true + dev: false /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} @@ -861,7 +1051,7 @@ packages: dependencies: webpack: 5.89.0(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - dev: true + dev: false /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.89.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} @@ -877,35 +1067,34 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) - dev: true + dev: false /@webtorrent/http-node@1.3.0: resolution: {integrity: sha512-GWZQKroPES4z91Ijx6zsOsb7+USOxjy66s8AoTWg0HiBBdfnbtf9aeh3Uav0MgYn4BL8Q7tVSUpd0gGpngKGEQ==} dependencies: freelist: 1.0.3 http-parser-js: 0.4.13 - dev: true + dev: false /@xmldom/xmldom@0.8.10: resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} requiresBuild: true - dev: true /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true + dev: false /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true + dev: false /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 - dev: true + dev: false /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -913,7 +1102,7 @@ packages: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: true + dev: false /acorn-import-assertions@1.9.0(acorn@8.10.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} @@ -921,7 +1110,7 @@ packages: acorn: ^8 dependencies: acorn: 8.10.0 - dev: true + dev: false /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -929,18 +1118,18 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.10.0 - dev: true + dev: false /acorn@8.10.0: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true - dev: true + dev: false /addr-to-ip-port@2.0.0: resolution: {integrity: sha512-9bYbtjamtdLHZSqVIUXhilOryNPiL+x+Q5J/Unpg4VY3ZIkK3fT52UoErj1NdUeVm3J1t2iBEAur4Ywbl/bahw==} engines: {node: '>=12.20.0'} - dev: true + dev: false /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -960,7 +1149,7 @@ packages: optional: true dependencies: ajv: 8.12.0 - dev: true + dev: false /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} @@ -968,7 +1157,6 @@ packages: ajv: ^6.9.1 dependencies: ajv: 6.12.6 - dev: true /ajv-keywords@5.1.0(ajv@8.12.0): resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} @@ -977,7 +1165,7 @@ packages: dependencies: ajv: 8.12.0 fast-deep-equal: 3.1.3 - dev: true + dev: false /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -986,7 +1174,6 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -995,25 +1182,23 @@ packages: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: true + dev: false /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} hasBin: true - dev: true + dev: false /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -1021,7 +1206,7 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true + dev: false /app-builder-bin@4.0.0: resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==} @@ -1065,28 +1250,27 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: dequal: 2.0.3 - dev: true + dev: false /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 - dev: true + dev: false /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true + dev: false /array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - dev: true + dev: false /array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} @@ -1097,12 +1281,12 @@ packages: es-abstract: 1.22.3 get-intrinsic: 1.2.2 is-string: 1.0.7 - dev: true + dev: false /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true + dev: false /array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} @@ -1113,7 +1297,7 @@ packages: es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 get-intrinsic: 1.2.2 - dev: true + dev: false /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} @@ -1123,7 +1307,7 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 - dev: true + dev: false /array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} @@ -1133,7 +1317,7 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 - dev: true + dev: false /arraybuffer.prototype.slice@1.0.2: resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} @@ -1146,7 +1330,7 @@ packages: get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - dev: true + dev: false /assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} @@ -1159,8 +1343,6 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} requiresBuild: true - dev: true - optional: true /async-exit-hook@2.0.1: resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} @@ -1178,65 +1360,67 @@ packages: /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - dev: true /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - dev: true + dev: false /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: dequal: 2.0.3 - dev: true + dev: false /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} - dev: true + dev: false /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /base64-arraybuffer@1.0.2: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} engines: {node: '>= 0.6.0'} - dev: true + dev: false /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} requiresBuild: true - dev: true /batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - dev: true + dev: false /bencode@2.0.3: resolution: {integrity: sha512-D/vrAD4dLVX23NalHwb8dSvsUsxeRPO8Y7ToKA015JQYq69MLDOMkC0uGZYA/MPpltLO8rt8eqFC2j8DxjTZ/w==} - dev: true + dev: false /bencode@4.0.0: resolution: {integrity: sha512-AERXw18df0pF3ziGOCyUjqKZBVNH8HV3lBxnx5w0qtgMIk4a1wb9BkcCQbkp9Zstfrn/dzRwl7MmUHHocX3sRQ==} engines: {node: '>=12.20.0'} dependencies: uint8-util: 2.2.4 - dev: true + dev: false /bep53-range@2.0.0: resolution: {integrity: sha512-sMm2sV5PRs0YOVk0LTKtjuIprVzxgTQUsrGX/7Yph2Rm4FO2Fqqtq7hNjsOB5xezM4v4+5rljCgK++UeQJZguA==} engines: {node: '>=12.20.0'} - dev: true + dev: false + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: false /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: true + dev: false /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true + dev: false /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -1248,7 +1432,7 @@ packages: /bitfield@4.1.0: resolution: {integrity: sha512-6cEDG3K+PK9f+B7WyhWYjp09bqSa+uaAaecVA7Y5giFixyVe1s6HKGnvOqYNR4Mi4fBMjfDPLBpHkKvzzgP7kg==} engines: {node: '>=8'} - dev: true + dev: false /bittorrent-dht@11.0.5: resolution: {integrity: sha512-R09D6uNaziRqsc+B/j5QzkjceTak+wH9vcNLnkmt8A52EWF9lQwBP0vvCKgSA3AJOYYl+41n3osA2KYYn/z5uQ==} @@ -1264,7 +1448,7 @@ packages: record-cache: 1.2.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /bittorrent-lsd@2.0.0: resolution: {integrity: sha512-jV+SMTGNY1iGWjf5cPA2HMeA6axuMQRWwWELtsuZ1FmQmZwC74we92nwtDTfv1WMnLx+oqEjWRri42IHjZitSQ==} @@ -1274,11 +1458,11 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /bittorrent-peerid@1.3.6: resolution: {integrity: sha512-VyLcUjVMEOdSpHaCG/7odvCdLbAB1y3l9A2V6WIje24uV7FkJPrQrH/RrlFmKxP89pFVDEnE+YlHaFujlFIZsg==} - dev: true + dev: false /bittorrent-protocol@4.1.11: resolution: {integrity: sha512-8ehCNnnRpxB6wrqDzYdLY6Bx0k1ZcXwHmxfVsU9xljolgfd4jhUq9gKcbnnUj4yR8I5/qHJ5fYVoGIfrmUlAAQ==} @@ -1294,7 +1478,7 @@ packages: unordered-array-remove: 1.0.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /bittorrent-tracker@10.0.12: resolution: {integrity: sha512-EYQEwhOYkrRiiwkCFcM9pbzJInsAe7UVmUgevW133duwlZzjwf5ABwDE7pkkmNRS6iwN0b8LbI/94q16dYqiow==} @@ -1328,7 +1512,7 @@ packages: utf-8-validate: 5.0.10 transitivePeerDependencies: - supports-color - dev: true + dev: false /bittorrent-tracker@11.0.0: resolution: {integrity: sha512-oixl9TFMWR8m1X/r2UDSiaIcGkOetPJnP5s39OMyq6JaUKq14Zo0POs3Ef4w3h6sSzfekUfcckkJzNPC/XcAzg==} @@ -1362,11 +1546,19 @@ packages: utf-8-validate: 5.0.10 transitivePeerDependencies: - supports-color + dev: false + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 dev: true /block-iterator@1.1.1: resolution: {integrity: sha512-DrjdVWZemVO4iBf4tiOXjUrY5cNesjzy0t7sIiu2rdl8cOCHRxAgKjSJFc3vBZYYMMmshUAxajl8QQh/uxXTKQ==} - dev: true + dev: false /bluebird-lst@1.0.9: resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} @@ -1396,7 +1588,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /bonjour-service@1.1.1: resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} @@ -1405,11 +1597,11 @@ packages: dns-equal: 1.0.0 fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 - dev: true + dev: false /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true + dev: false /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1418,31 +1610,36 @@ packages: /bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - dev: true + dev: false + + /bplist-parser@0.3.2: + resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: false /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: true /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true + dev: false /browser-event-target-emitter@1.0.1: resolution: {integrity: sha512-mE3QuQF7knsHehiYyhjwpCI33W4VLltRvNaVfIHEXGfbzp2vkvvbv9fE/XQoLd2NWkD29ikQ92iWjw0Eg3CusA==} - dev: true + dev: false /browserslist@4.22.1: resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} @@ -1453,11 +1650,10 @@ packages: electron-to-chromium: 1.4.563 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) - dev: true + dev: false /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true /buffer-equal@1.0.1: resolution: {integrity: sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==} @@ -1466,7 +1662,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -1475,7 +1670,6 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 dev: true - optional: true /bufferutil@4.0.8: resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} @@ -1483,7 +1677,7 @@ packages: requiresBuild: true dependencies: node-gyp-build: 4.6.1 - dev: true + dev: false /builder-util-runtime@9.2.1: resolution: {integrity: sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA==} @@ -1522,24 +1716,24 @@ packages: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.5.4 - dev: true + dev: false /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} - dev: true + dev: false /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: true + dev: false /cache-chunk-store@3.2.2: resolution: {integrity: sha512-2lJdWbgHFFxcSth9s2wpId3CR3v1YC63KjP4T9WhpW7LWlY7Hiiei3QwwqzkWqlJTfR8lSy9F5kRQECeyj+yQA==} dependencies: lru: 3.1.0 queue-microtask: 1.2.3 - dev: true + dev: false /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} @@ -1565,23 +1759,23 @@ packages: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.1.1 - dev: true + dev: false /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true + dev: false /camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 - dev: true + dev: false /caniuse-lite@1.0.30001551: resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==} - dev: true + dev: false /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1589,7 +1783,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -1604,36 +1797,39 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: false + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: true /chrome-dgram@3.0.6: resolution: {integrity: sha512-bqBsUuaOiXiqxXt/zA/jukNJJ4oaOtc7ciwqJpZVEaaXwwxqgI2/ZdG02vXYWUhHGziDlvGMQWk0qObgJwVYKA==} dependencies: inherits: 2.0.4 run-series: 1.1.9 - dev: true + dev: false /chrome-dns@1.0.1: resolution: {integrity: sha512-HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==} dependencies: chrome-net: 3.3.4 - dev: true + dev: false /chrome-net@3.3.4: resolution: {integrity: sha512-Jzy2EnzmE+ligqIZUsmWnck9RBXLuUy6CaKyuNMtowFG3ZvLt8d+WBJCTPEludV0DHpIKjAOlwjFmTaEdfdWCw==} dependencies: inherits: 2.0.4 - dev: true + dev: false /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - dev: true + dev: false /chromium-pickle-js@0.2.0: resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} @@ -1643,7 +1839,7 @@ packages: resolution: {integrity: sha512-JcSaB5h3wQstQKnaJi8sET40f0m+6Kh4mhKIr05lrWKi+EiQzn6XUoi6LipgRGMqXWNZZJaMz2tH4aeg4ptBDA==} dependencies: block-iterator: 1.1.1 - dev: true + dev: false /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} @@ -1655,7 +1851,7 @@ packages: engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 - dev: true + dev: false /cli-truncate@2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} @@ -1674,7 +1870,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true /clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} @@ -1683,7 +1878,7 @@ packages: is-plain-object: 2.0.4 kind-of: 6.0.3 shallow-clone: 3.0.1 - dev: true + dev: false /clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} @@ -1694,7 +1889,7 @@ packages: /clone@2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} - dev: true + dev: false /code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} @@ -1704,7 +1899,7 @@ packages: acorn: 8.10.0 estree-walker: 3.0.3 periscopic: 3.1.0 - dev: true + dev: false /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1712,16 +1907,29 @@ packages: requiresBuild: true dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} requiresBuild: true + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: true + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 dev: true /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true + dev: false /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -1733,11 +1941,11 @@ packages: /commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - dev: true + dev: false /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true + dev: false /commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} @@ -1747,13 +1955,18 @@ packages: /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - dev: true + dev: false + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: false /compact2string@1.4.1: resolution: {integrity: sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og==} dependencies: ipaddr.js: 2.1.0 - dev: true + dev: false /compare-version@0.1.2: resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} @@ -1765,7 +1978,7 @@ packages: engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true + dev: false /compression@1.7.4: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} @@ -1780,11 +1993,10 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true /concurrently@8.2.2: resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} @@ -1800,7 +2012,7 @@ packages: supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 - dev: true + dev: false /config-file-ts@0.2.4: resolution: {integrity: sha512-cKSW0BfrSaAUnxpgvpXPLaaW/umg4bqg4k3GO1JqlRfpx+d5W0GDXznCMkWotJQek5Mmz1MJVChQnz3IVaeMZQ==} @@ -1812,28 +2024,28 @@ packages: /connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} - dev: true + dev: false /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 - dev: true + dev: false /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true + dev: false /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true + dev: false /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - dev: true + dev: false /copy-webpack-plugin@11.0.0(webpack@5.89.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} @@ -1848,6 +2060,31 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.1 webpack: 5.89.0(webpack-cli@5.1.4) + dev: false + + /cordova-plugin-chrome-apps-common@1.0.7: + resolution: {integrity: sha512-/TGRFhHFQnT115U4+Ju48pAmwB3ngeqf2UL8UiTRK/SFprw+ztN7z7RjvT9D02yMNyTTww/h03yTv5A0AgcEWA==} + engines: {'0': {name: cordova, version: '>=3.0.0'}} + dev: false + + /cordova-plugin-chrome-apps-sockets-udp@1.3.0: + resolution: {integrity: sha512-bMZ3asY6WWDSwf0/M5qz+2OTOTCagtYX3P6+53hxvlsYQonv+MGSMETXBslx0XUXd+E1ylr+22pnIBVFKtn/bA==} + engines: {'0': {name: cordova, version: '>=3.0.0'}} + dev: false + + /cordova-res@0.15.4: + resolution: {integrity: sha512-TjFZhjUtK8qq4DVrgR+KI7tKcUL704cnkTPRhHbKlCPzefHoz1tBOX93wc76dOMmOWKTsbJz83DIm6mqdp5Pmg==} + engines: {node: '>=10.3.0'} + hasBin: true + dependencies: + '@ionic/utils-array': 2.1.6 + '@ionic/utils-fs': 3.1.7 + debug: 4.3.4 + elementtree: 0.1.7 + sharp: 0.29.3 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color dev: true /core-util-is@1.0.2: @@ -1858,11 +2095,11 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true + dev: false /cpus@1.0.3: resolution: {integrity: sha512-PXHBvGLuL69u55IkLa5e5838fLhIMHxmkV4ge42a8alGyn7BtawYgI0hQ849EedvtHIOLNNH3i6eQU1BiE9SUA==} - dev: true + dev: false /crc@3.8.0: resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} @@ -1889,7 +2126,7 @@ packages: queue-microtask: 1.2.3 run-parallel: 1.2.0 uint8-util: 2.2.4 - dev: true + dev: false /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -1897,14 +2134,14 @@ packages: hasBin: true dependencies: cross-spawn: 7.0.3 - dev: true + dev: false /cross-fetch-ponyfill@1.0.3: resolution: {integrity: sha512-uOBkDhUAGAbx/FEzNKkOfx3w57H8xReBBXoZvUnOKTI0FW0Xvrj3GrYv2iZXUqlffC1LMGfQzhmBM/ke+6eTDA==} dependencies: abort-controller: 3.0.0 node-fetch: 3.3.2 - dev: true + dev: false /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -1913,7 +2150,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /css-loader@6.8.1(webpack@5.89.0): resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} @@ -1930,7 +2166,7 @@ packages: postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.89.0(webpack-cli@5.1.4) - dev: true + dev: false /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -1940,7 +2176,7 @@ packages: domhandler: 4.3.1 domutils: 2.8.0 nth-check: 2.1.1 - dev: true + dev: false /css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} @@ -1948,30 +2184,30 @@ packages: dependencies: mdn-data: 2.0.30 source-map-js: 1.0.2 - dev: true + dev: false /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - dev: true + dev: false /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - dev: true + dev: false /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - dev: true + dev: false /date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: '@babel/runtime': 7.23.2 - dev: true + dev: false /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -1982,7 +2218,7 @@ packages: optional: true dependencies: ms: 2.0.0 - dev: true + dev: false /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -1993,7 +2229,7 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: true + dev: false /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -2005,25 +2241,28 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + dev: false /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} dependencies: execa: 5.1.1 - dev: true + dev: false /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} @@ -2037,12 +2276,11 @@ packages: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 - dev: true /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - dev: true + dev: false /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} @@ -2051,7 +2289,6 @@ packages: define-data-property: 1.1.1 has-property-descriptors: 1.0.1 object-keys: 1.1.1 - dev: true /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -2061,26 +2298,36 @@ packages: /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - dev: true + dev: false /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: true + dev: false /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - dev: true + dev: false /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: true /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: true /dir-compare@3.3.0: resolution: {integrity: sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==} @@ -2094,7 +2341,7 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: true + dev: false /discord-rpc@4.0.1: resolution: {integrity: sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA==} @@ -2144,34 +2391,34 @@ packages: /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - dev: true + dev: false /dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 - dev: true + dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 - dev: true + dev: false /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 - dev: true + dev: false /dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} dependencies: utila: 0.4.0 - dev: true + dev: false /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -2179,18 +2426,18 @@ packages: domelementtype: 2.3.0 domhandler: 4.3.1 entities: 2.2.0 - dev: true + dev: false /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true + dev: false /domexception@1.0.1: resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} requiresBuild: true dependencies: webidl-conversions: 4.0.2 - dev: true + dev: false optional: true /domhandler@4.3.1: @@ -2198,7 +2445,7 @@ packages: engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - dev: true + dev: false /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -2206,14 +2453,14 @@ packages: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 - dev: true + dev: false /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true + dev: false /dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} @@ -2226,11 +2473,11 @@ packages: /ebml-iterator@1.0.5: resolution: {integrity: sha512-UsZ8EEk8vAIgYYX9a6Wqwy/cJEd/fKiCVHOXJIpwJBdcQxSHi9llKNxALl5mw2WaqZAhiir0feahWfEY5dj4+Q==} - dev: true + dev: false /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true + dev: false /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} @@ -2280,7 +2527,7 @@ packages: /electron-to-chromium@1.4.563: resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==} - dev: true + dev: false /electron-updater@6.1.4: resolution: {integrity: sha512-yYAJc6RQjjV4WtInZVn+ZcLyXRhbVXoomKEfUUwDqIk5s2wxzLhWaor7lrNgxODyODhipjg4SVPMhJHi5EnsCA==} @@ -2310,26 +2557,30 @@ packages: - supports-color dev: true + /elementtree@0.1.7: + resolution: {integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==} + engines: {node: '>= 0.4.0'} + dependencies: + sax: 1.1.4 + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} requiresBuild: true - dev: true /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - dev: true + dev: false /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: true + dev: false /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 - dev: true /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} @@ -2337,22 +2588,21 @@ packages: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: true + dev: false /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true + dev: false /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - dev: true /envinfo@7.10.0: resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} engines: {node: '>=4'} hasBin: true - dev: true + dev: false /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -2360,7 +2610,7 @@ packages: /err-code@3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} - dev: true + dev: false /es-abstract@1.22.3: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} @@ -2405,11 +2655,11 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.13 - dev: true + dev: false /es-module-lexer@1.3.1: resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} - dev: true + dev: false /es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} @@ -2418,13 +2668,13 @@ packages: get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 hasown: 2.0.0 - dev: true + dev: false /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: hasown: 2.0.0 - dev: true + dev: false /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -2433,7 +2683,7 @@ packages: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true + dev: false /es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -2443,18 +2693,25 @@ packages: /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dev: true /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true + dev: false /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true - /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0): + /eslint-compat-utils@0.1.2(eslint@8.53.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.53.0 + dev: false + + /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.53.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2463,11 +2720,11 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.52.0 - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0) - eslint-plugin-n: 16.2.0(eslint@8.52.0) - eslint-plugin-promise: 6.1.1(eslint@8.52.0) - dev: true + eslint: 8.53.0 + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.10.0)(eslint@8.53.0) + eslint-plugin-n: 16.2.0(eslint@8.53.0) + eslint-plugin-promise: 6.1.1(eslint@8.53.0) + dev: false /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -2477,9 +2734,9 @@ packages: resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true + dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2500,26 +2757,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@4.9.5) debug: 3.2.7 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - dev: true + dev: false - /eslint-plugin-es-x@7.2.0(eslint@8.52.0): + /eslint-plugin-es-x@7.2.0(eslint@8.53.0): resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 - eslint: 8.52.0 - dev: true + eslint: 8.53.0 + dev: false - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.10.0)(eslint@8.53.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -2529,16 +2786,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@4.9.5) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) has: 1.0.4 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -2552,37 +2809,37 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true + dev: false - /eslint-plugin-n@16.2.0(eslint@8.52.0): + /eslint-plugin-n@16.2.0(eslint@8.53.0): resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) builtins: 5.0.1 - eslint: 8.52.0 - eslint-plugin-es-x: 7.2.0(eslint@8.52.0) + eslint: 8.53.0 + eslint-plugin-es-x: 7.2.0(eslint@8.53.0) get-tsconfig: 4.7.2 ignore: 5.2.4 is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.8 semver: 7.5.4 - dev: true + dev: false - /eslint-plugin-promise@6.1.1(eslint@8.52.0): + /eslint-plugin-promise@6.1.1(eslint@8.53.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.52.0 - dev: true + eslint: 8.53.0 + dev: false - /eslint-plugin-svelte@2.34.0(eslint@8.52.0)(svelte@4.2.2): - resolution: {integrity: sha512-4RYUgNai7wr0v+T/kljMiYSjC/oqwgq5i+cPppawryAayj4C7WK1ixFlWCGmNmBppnoKCl4iA4ZPzPtlHcb4CA==} + /eslint-plugin-svelte@2.35.0(eslint@8.53.0): + resolution: {integrity: sha512-3WDFxNrkXaMlpqoNo3M1ZOQuoFLMO9+bdnN6oVVXaydXC7nzCJuGy9a0zqoNDHMSRPYt0Rqo6hIdHMEaI5sQnw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 @@ -2591,23 +2848,23 @@ packages: svelte: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@jridgewell/sourcemap-codec': 1.4.15 debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.53.0 + eslint-compat-utils: 0.1.2(eslint@8.53.0) esutils: 2.0.3 - known-css-properties: 0.28.0 + known-css-properties: 0.29.0 postcss: 8.4.31 postcss-load-config: 3.1.4(postcss@8.4.31) postcss-safe-parser: 6.0.0(postcss@8.4.31) postcss-selector-parser: 6.0.13 semver: 7.5.4 - svelte: 4.2.2 - svelte-eslint-parser: 0.33.1(svelte@4.2.2) + svelte-eslint-parser: 0.33.1 transitivePeerDependencies: - supports-color - ts-node - dev: true + dev: false /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -2615,7 +2872,7 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true + dev: false /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} @@ -2623,22 +2880,22 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true + dev: false /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + dev: false - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2675,7 +2932,7 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -2684,61 +2941,61 @@ packages: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) eslint-visitor-keys: 3.4.3 - dev: true + dev: false /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 - dev: true + dev: false /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - dev: true + dev: false /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - dev: true + dev: false /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true + dev: false /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.3 - dev: true + dev: false /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true + dev: false /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: true + dev: false /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - dev: true + dev: false /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true + dev: false /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - dev: true + dev: false /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} @@ -2753,6 +3010,11 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: false + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} dev: true /express@4.18.2: @@ -2792,7 +3054,7 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} @@ -2817,11 +3079,10 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - dev: true + dev: false /fast-glob@3.3.1: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} @@ -2832,43 +3093,41 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true + dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + dev: false /fast-readable-async-iterator@1.1.1: resolution: {integrity: sha512-xEHkLUEmStETI+15zhglJLO9TjXxNkkp2ldEfYVZdcqxFhM172EfGl1irI6mVlTxXspYKH1/kjevnt/XSsPeFA==} - dev: true + dev: false /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} - dev: true + dev: false /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - dev: true + dev: false /faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 - dev: true + dev: false /fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: pend: 1.2.0 - dev: true /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} @@ -2876,14 +3135,14 @@ packages: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 - dev: true + dev: false /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.1.1 - dev: true + dev: false /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2899,14 +3158,14 @@ packages: /filename-reserved-regex@3.0.0: resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + dev: false /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true + dev: false /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} @@ -2921,7 +3180,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -2929,7 +3188,7 @@ packages: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true + dev: false /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -2937,7 +3196,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true + dev: false /flat-cache@3.1.1: resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} @@ -2946,16 +3205,16 @@ packages: flatted: 3.2.9 keyv: 4.5.4 rimraf: 3.0.2 - dev: true + dev: false /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - dev: true + dev: false /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - dev: true + dev: false /follow-redirects@1.15.3: resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} @@ -2965,13 +3224,13 @@ packages: peerDependenciesMeta: debug: optional: true - dev: true + dev: false /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 - dev: true + dev: false /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -2987,21 +3246,21 @@ packages: engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 - dev: true + dev: false /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: true + dev: false /freelist@1.0.3: resolution: {integrity: sha512-Ji7fEnMdZDGbS5oXElpRJsn9jPvBR8h/037D3bzreNmS8809cISq/2D9//JbA/TaZmkkN8cmecXwmQHmM+NHhg==} - dev: true + dev: false /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: true + dev: false /fs-chunk-store@4.1.0: resolution: {integrity: sha512-8apaYPaENIVUjVGqjo+Yg5/Hv7qL2fijWV+XGMCs3MR07o9DZZVMpF7dclxdjYotSjLdUGVPhqaJn+eAx6NLYQ==} @@ -3013,6 +3272,10 @@ packages: randombytes: 2.1.0 run-parallel: 1.2.0 thunky: 1.1.0 + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true /fs-extra@10.1.0: @@ -3041,18 +3304,16 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - dev: true /fs-monkey@1.0.5: resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} - dev: true + dev: false /fs-native-extensions@1.2.3: resolution: {integrity: sha512-DwxIW9fs9o8py05YutQgFcsdcph7nlrg70ncUYXiWAgpAPFza+X7Q/vA2UeyBaK4ekcMmoNzuBVEtU8Ass7Wwg==} @@ -3060,30 +3321,28 @@ packages: dependencies: napi-macros: 2.2.2 node-gyp-build: 4.6.1 - dev: true + dev: false optional: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true /fsa-chunk-store@1.1.4: resolution: {integrity: sha512-Z4SJTYxZIta37RXJofM6HsKrgM9W+pQxiyQuw0bpvsfn1HGXcBWyXZWhsCfi7wbNb6GIlykXZ9Jxwc95IiPMzA==} dependencies: filename-reserved-regex: 3.0.0 - dev: true + dev: false /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true + dev: false optional: true /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} @@ -3093,20 +3352,19 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 - dev: true + dev: false /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + dev: false /get-browser-rtc@1.1.0: resolution: {integrity: sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ==} - dev: true + dev: false /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} @@ -3115,12 +3373,11 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - dev: true /get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} - dev: true + dev: false /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} @@ -3132,7 +3389,7 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true + dev: false /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -3140,12 +3397,16 @@ packages: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 - dev: true + dev: false /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 + dev: false + + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} dev: true /glob-parent@5.1.2: @@ -3153,18 +3414,18 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true + dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true + dev: false /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true + dev: false /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -3175,7 +3436,16 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true + + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.10.1 + dev: false /global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -3196,14 +3466,13 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - dev: true + dev: false /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - dev: true /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -3215,7 +3484,7 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: true + dev: false /globby@13.2.2: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} @@ -3226,13 +3495,12 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 - dev: true + dev: false /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.2 - dev: true /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} @@ -3253,64 +3521,58 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + dev: false /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - dev: true + dev: false /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + dev: false /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: get-intrinsic: 1.2.2 - dev: true /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - dev: true + dev: false /has@1.0.4: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - dev: true + dev: false /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true + dev: false /hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} @@ -3326,11 +3588,11 @@ packages: obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 - dev: true + dev: false /html-entities@2.4.0: resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} - dev: true + dev: false /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} @@ -3344,7 +3606,7 @@ packages: param-case: 3.0.4 relateurl: 0.2.7 terser: 5.22.0 - dev: true + dev: false /html-webpack-plugin@5.5.3(webpack@5.89.0): resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} @@ -3358,7 +3620,7 @@ packages: pretty-error: 4.0.0 tapable: 2.2.1 webpack: 5.89.0(webpack-cli@5.1.4) - dev: true + dev: false /htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -3367,7 +3629,7 @@ packages: domhandler: 4.3.1 domutils: 2.8.0 entities: 2.2.0 - dev: true + dev: false /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -3375,7 +3637,7 @@ packages: /http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - dev: true + dev: false /http-errors@1.6.3: resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} @@ -3385,7 +3647,7 @@ packages: inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.5.0 - dev: true + dev: false /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -3396,15 +3658,15 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: true + dev: false /http-parser-js@0.4.13: resolution: {integrity: sha512-u8u5ZaG0Tr/VvHlucK2ufMuOp4/5bvwgneXle+y228K5rMbJOlVjThONcaAw3ikAy8b2OO9RfEucdMHFz3UWMA==} - dev: true + dev: false /http-parser-js@0.5.8: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - dev: true + dev: false /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} @@ -3434,7 +3696,7 @@ packages: micromatch: 4.0.5 transitivePeerDependencies: - debug - dev: true + dev: false /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} @@ -3445,7 +3707,7 @@ packages: requires-port: 1.0.0 transitivePeerDependencies: - debug - dev: true + dev: false /http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} @@ -3468,7 +3730,7 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true + dev: false /hybrid-chunk-store@1.2.2: resolution: {integrity: sha512-oZtxLfVHWKVKPS8KoYpWgVohEKbq3s90s7a1FwG7+EZFC/8bqZrdX4axlH5tO/g2PnGpZTVxS2YnftyCpydKSw==} @@ -3477,7 +3739,7 @@ packages: cache-chunk-store: 3.2.2 fsa-chunk-store: 1.1.4 memory-chunk-store: 1.3.5 - dev: true + dev: false /iconv-corefoundation@1.1.7: resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} @@ -3495,7 +3757,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true + dev: false /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -3511,28 +3773,27 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.31 - dev: true + dev: false /idb@6.1.5: resolution: {integrity: sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==} - dev: true + dev: false /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} requiresBuild: true dev: true - optional: true /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: true + dev: false /immediate-chunk-store@2.2.0: resolution: {integrity: sha512-1bHBna0hCa6arRXicu91IiL9RvvkbNYLVq+mzWdaLGZC3hXvX4doh8e1dLhMKez5siu63CYgO5NrGJbRX5lbPA==} dependencies: queue-microtask: 1.2.3 - dev: true + dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -3540,7 +3801,7 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true + dev: false /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} @@ -3549,27 +3810,35 @@ packages: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true + dev: false /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true + dev: false /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true + dev: false /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: false + /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -3577,36 +3846,36 @@ packages: get-intrinsic: 1.2.2 hasown: 2.0.0 side-channel: 1.0.4 - dev: true + dev: false /interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - dev: true + dev: false /ip-set@2.1.0: resolution: {integrity: sha512-JdHz4tSMx1IeFj8yEcQU0i58qiSkOlmZXkZ8+HJ0ROV5KcgLRDO9F703oJ1GeZCvqggrcCbmagD/V7hghY62wA==} dependencies: ip: 1.1.8 - dev: true + dev: false /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: true + dev: false /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: true + dev: false /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: true + dev: false /ipaddr.js@2.1.0: resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} - dev: true + dev: false /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} @@ -3614,20 +3883,24 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 + dev: false + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 - dev: true + dev: false /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: true + dev: false /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -3635,12 +3908,12 @@ packages: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: true + dev: false /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - dev: true + dev: false /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} @@ -3653,82 +3926,81 @@ packages: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 - dev: true + dev: false /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - dev: true + dev: false /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: true + dev: false /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true + dev: false /is-file@1.0.0: resolution: {integrity: sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ==} - dev: true + dev: false /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} requiresBuild: true - dev: true /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true + dev: false /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - dev: true + dev: false /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - dev: true + dev: false /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true + dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true + dev: false /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} - dev: true + dev: false /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 - dev: true + dev: false /is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: '@types/estree': 1.0.3 - dev: true + dev: false /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -3736,60 +4008,60 @@ packages: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: true + dev: false /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.5 - dev: true + dev: false /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true + dev: false /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - dev: true + dev: false /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - dev: true + dev: false /is-typed-array@1.1.12: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.13 - dev: true + dev: false /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.5 - dev: true + dev: false /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - dev: true + dev: false /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true + dev: false /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + dev: false /isbinaryfile@4.0.10: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} @@ -3803,12 +4075,11 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - dev: true + dev: false /jake@10.8.7: resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} @@ -3821,11 +4092,11 @@ packages: minimatch: 3.1.2 dev: true - /jassub@1.7.9: - resolution: {integrity: sha512-jcW+kXsX8oKLCKzfZwREReBO0ggMIphs0F/CbLhF0MnoXTJG46WZ0r/QddI6YHmkq0STA2JgnwWzy4CftEIGYQ==} + /jassub@1.7.12: + resolution: {integrity: sha512-mYSI+3Rbyy2XF0Hk44ZbwHqX4PNrY6Rs2U7RxZ450NxSKGClfu6sW2dQSbygWD1Y3xQGtbeN3GIujX2XRaXwdA==} dependencies: rvfc-polyfill: 1.0.7 - dev: true + dev: false /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} @@ -3834,43 +4105,40 @@ packages: '@types/node': 20.8.7 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true + dev: false /join-async-iterator@1.1.1: resolution: {integrity: sha512-ATse+nuNeKZ9K1y27LKdvPe/GCe9R/u9dw9vI248e+vILeRK3IcJP4JUPAlSmKRCDK0cKhEwfmiw4Skqx7UnGQ==} - dev: true + dev: false /js-levenshtein@1.1.6: resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} engines: {node: '>=0.10.0'} - dev: true + dev: false /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 - dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true + dev: false /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + dev: false /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -3882,13 +4150,12 @@ packages: hasBin: true dependencies: minimist: 1.2.8 - dev: true + dev: false /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -3902,18 +4169,17 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - dev: true /junk@4.0.1: resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} engines: {node: '>=12.20'} - dev: true + dev: false /k-bucket@5.1.0: resolution: {integrity: sha512-Fac7iINEovXIWU20GPnOMLUbjctiS+cnmyjC4zAUgvs3XPf1vo9akfCHkigftSic/jiKqKl+KA3a/vFcJbHyCg==} dependencies: randombytes: 2.1.0 - dev: true + dev: false /k-rpc-socket@1.11.1: resolution: {integrity: sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA==} @@ -3922,7 +4188,7 @@ packages: chrome-dgram: 3.0.6 chrome-dns: 1.0.1 chrome-net: 3.3.4 - dev: true + dev: false /k-rpc@5.1.0: resolution: {integrity: sha512-FGc+n70Hcjoa/X2JTwP+jMIOpBz+pkRffHnSl9yrYiwUxg3FIgD50+u1ePfJUOnRCnx6pbjmVk5aAeB1wIijuQ==} @@ -3930,33 +4196,42 @@ packages: k-bucket: 5.1.0 k-rpc-socket: 1.11.1 randombytes: 2.1.0 - dev: true + dev: false /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 - dev: true /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - dev: true + dev: false - /known-css-properties@0.28.0: - resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} - dev: true + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} + dev: false /last-one-wins@1.0.4: resolution: {integrity: sha512-t+KLJFkHPQk8lfN6WBOiGkiUXoub+gnb2XTYI2P3aiISL+94xgZ1vgz1SXN/N4hthuOoLXarXfBZPUruyjQtfA==} - dev: true + dev: false /launch-editor@2.6.1: resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 - dev: true + dev: false /lazy-val@1.0.5: resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} @@ -3968,16 +4243,16 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true + dev: false /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - dev: true + dev: false /limiter@1.1.5: resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==} - dev: true + dev: false /load-ip-set@3.0.1: resolution: {integrity: sha512-ZFZt1g4Exq01SFtKjffqau+L4Qibt+51utymHHiWo8Iu/W7LYSqE7fiZ/iAZ6dIqbmeU6ICSIK02IizSScBkLQ==} @@ -3989,12 +4264,12 @@ packages: once: 1.4.0 queue-microtask: 1.2.3 split: 1.0.1 - dev: true + dev: false /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - dev: true + dev: false /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} @@ -4003,25 +4278,25 @@ packages: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 - dev: true + dev: false /locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} - dev: true + dev: false /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - dev: true + dev: false /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true + dev: false /lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} @@ -4033,36 +4308,41 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + dev: false /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 - dev: true + dev: false /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} dev: true + /lru-cache@10.0.2: + resolution: {integrity: sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==} + engines: {node: 14 || >=16.14} + dependencies: + semver: 7.5.4 + dev: false + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true /lru@3.1.0: resolution: {integrity: sha512-5OUtoiVIGU4VXBOshidmtOsvBIvcQR6FD/RzWSvaeHyxCGB+PCUCu+52lqMfdc0h/2CLvHhZS4TwUmMQrrMbBQ==} engines: {node: '>= 0.4.0'} dependencies: inherits: 2.0.4 - dev: true + dev: false /lt_donthave@2.0.0: resolution: {integrity: sha512-qrNtq9faD5ycTM8Of7OUqPHPMv0H8NONf+dTAxUsAr0bAgPnD56BBhhBlskJVNL4WO+Dl/qmqWHF9eQb7+2lNA==} @@ -4072,14 +4352,14 @@ packages: unordered-array-remove: 1.0.2 transitivePeerDependencies: - supports-color - dev: true + dev: false /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + dev: false /magnet-uri@7.0.5: resolution: {integrity: sha512-Ke+dDiYHK1Rq/ZyGUAgk7NIkoypivxolTj/A0qr60ypP0FjeP+NTUNEhr965HsRan0zGxKEBK73+SsjRyJWkXg==} @@ -4088,7 +4368,7 @@ packages: '@thaunknown/thirty-two': 1.0.3 bep53-range: 2.0.0 uint8-util: 2.2.4 - dev: true + dev: false /matcher@3.0.0: resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} @@ -4105,47 +4385,47 @@ packages: fast-readable-async-iterator: 1.1.1 pako: 2.1.0 uint8-util: 2.2.4 - dev: true + dev: false /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: true + dev: false /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: true + dev: false /memfs@3.5.3: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.5 - dev: true + dev: false /memory-chunk-store@1.3.5: resolution: {integrity: sha512-E1Xc1U4ifk/FkC2ZsWhCaW1xg9HbE/OBmQTLe2Tr9c27YPSLbW7kw1cnb3kQWD1rDtErFJHa7mB9EVrs7aTx9g==} dependencies: queue-microtask: 1.2.3 - dev: true + dev: false /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true + dev: false /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + dev: false /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true + dev: false /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - dev: true + dev: false /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -4153,25 +4433,23 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true + dev: false /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - dev: true + dev: false /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} @@ -4183,12 +4461,12 @@ packages: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true - dev: true + dev: false /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true + dev: false /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} @@ -4198,7 +4476,6 @@ packages: /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - dev: true /mini-css-extract-plugin@2.7.6(webpack@5.89.0): resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} @@ -4208,17 +4485,16 @@ packages: dependencies: schema-utils: 4.2.0 webpack: 5.89.0(webpack-cli@5.1.4) - dev: true + dev: false /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true + dev: false /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - dev: true /minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} @@ -4227,21 +4503,30 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} dependencies: yallist: 4.0.0 - dev: true + + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: false /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: true /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -4249,25 +4534,26 @@ packages: dependencies: minipass: 3.3.6 yallist: 4.0.0 + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + dev: false /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + dev: false /multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} @@ -4275,40 +4561,72 @@ packages: dependencies: dns-packet: 5.6.1 thunky: 1.1.0 - dev: true + dev: false /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: false + + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: true /napi-macros@2.2.2: resolution: {integrity: sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==} + dev: false + + /native-run@1.7.4: + resolution: {integrity: sha512-yDEwTp66vmXpqFiSQzz4sVQgyq5U58gGRovglY4GHh12ITyWa6mh6Lbpm2gViVOVD1JYFtYnwcgr7GTFBinXNA==} + engines: {node: '>=12.13.0'} + hasBin: true + dependencies: + '@ionic/utils-fs': 3.1.7 + '@ionic/utils-terminal': 2.3.4 + bplist-parser: 0.3.2 + debug: 4.3.4 + elementtree: 0.1.7 + ini: 3.0.1 + plist: 3.1.0 + split2: 4.2.0 + through2: 4.0.2 + tslib: 2.6.2 + yauzl: 2.10.0 + transitivePeerDependencies: + - supports-color + dev: false /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + dev: false /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - dev: true + dev: false /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true + dev: false /netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - dev: true + dev: false /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 + dev: false + + /node-abi@3.51.0: + resolution: {integrity: sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 dev: true /node-addon-api@1.7.2: @@ -4316,10 +4634,14 @@ packages: dev: true optional: true + /node-addon-api@4.3.0: + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + dev: true + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - dev: true + dev: false /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -4340,25 +4662,26 @@ packages: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true + dev: false /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - dev: true + dev: false /node-gyp-build@4.6.1: resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true + dev: false /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true + dev: false /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true + dev: false /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} @@ -4370,22 +4693,21 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true + dev: false /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 - dev: true + dev: false /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true + dev: false /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - dev: true /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} @@ -4395,7 +4717,7 @@ packages: define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true + dev: false /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} @@ -4404,7 +4726,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true + dev: false /object.groupby@1.0.1: resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} @@ -4413,7 +4735,7 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 get-intrinsic: 1.2.2 - dev: true + dev: false /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} @@ -4422,36 +4744,35 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true + dev: false /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: true + dev: false /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: true + dev: false /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} - dev: true + dev: false /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true + dev: false /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} @@ -4460,7 +4781,7 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true + dev: false /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} @@ -4472,7 +4793,7 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true + dev: false /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} @@ -4484,28 +4805,28 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 - dev: true + dev: false /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true + dev: false /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - dev: true + dev: false /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true + dev: false /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} @@ -4513,30 +4834,30 @@ packages: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - dev: true + dev: false /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true + dev: false /pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} - dev: true + dev: false /param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 - dev: true + dev: false /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 - dev: true + dev: false /parse-torrent@11.0.14: resolution: {integrity: sha512-/9Yp1FAx5Qd7JX4/0LPiJ73bxVoUgymRDlyB2xAkJ1r9tKrtc1L4Dr024TZDwp1qzDa+oITsYn0i/SbR+fWm4w==} @@ -4549,55 +4870,60 @@ packages: magnet-uri: 7.0.5 queue-microtask: 1.2.3 uint8-util: 2.2.4 - dev: true + dev: false /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: true + dev: false /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true + dev: false /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true + dev: false /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true + dev: false + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.2 + minipass: 5.0.0 + dev: false /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true + dev: false /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: true + dev: false /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true /perfect-seekbar@1.1.0: resolution: {integrity: sha512-J7ezVGl0B63j0l45YNTMUS9Z7Ld/LAaTtrIU5L1diOXLh8kRtW2zQ95xAlf0YsXVT+hndz/24NOLOOthnJHZgg==} - dev: true + dev: false /periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} @@ -4605,27 +4931,27 @@ packages: '@types/estree': 1.0.3 estree-walker: 3.0.3 is-reference: 3.0.2 - dev: true + dev: false /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + dev: false /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true + dev: false /piece-length@2.0.1: resolution: {integrity: sha512-dBILiDmm43y0JPISWEmVGKBETQjwJe6mSU9GND+P9KW0SJGUwoU/odyH1nbalOP9i8WSYuqf1lQnaj92Bhw+Ug==} - dev: true + dev: false /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 - dev: true + dev: false /plist@3.1.0: resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} @@ -4634,7 +4960,6 @@ packages: '@xmldom/xmldom': 0.8.10 base64-js: 1.5.1 xmlbuilder: 15.1.1 - dev: true /postcss-load-config@3.1.4(postcss@8.4.31): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} @@ -4651,7 +4976,7 @@ packages: lilconfig: 2.1.0 postcss: 8.4.31 yaml: 1.10.2 - dev: true + dev: false /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} @@ -4660,7 +4985,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.31 - dev: true + dev: false /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} @@ -4672,7 +4997,7 @@ packages: postcss: 8.4.31 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - dev: true + dev: false /postcss-modules-scope@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} @@ -4682,7 +5007,7 @@ packages: dependencies: postcss: 8.4.31 postcss-selector-parser: 6.0.13 - dev: true + dev: false /postcss-modules-values@4.0.0(postcss@8.4.31): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} @@ -4692,7 +5017,7 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.31) postcss: 8.4.31 - dev: true + dev: false /postcss-safe-parser@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} @@ -4701,7 +5026,7 @@ packages: postcss: ^8.3.3 dependencies: postcss: 8.4.31 - dev: true + dev: false /postcss-scss@4.0.9(postcss@8.4.31): resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} @@ -4710,7 +5035,7 @@ packages: postcss: ^8.4.29 dependencies: postcss: 8.4.31 - dev: true + dev: false /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} @@ -4718,11 +5043,11 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true + dev: false /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true + dev: false /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} @@ -4731,23 +5056,42 @@ packages: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: false + + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.51.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - dev: true + dev: false /pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} dependencies: lodash: 4.17.21 renderkid: 3.0.0 - dev: true + dev: false /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + dev: false /progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} @@ -4762,44 +5106,50 @@ packages: retry: 0.12.0 dev: true + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true + dev: false /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: true /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 - dev: true + dev: false /quartermoon@1.2.3: resolution: {integrity: sha512-EYfaHqvBB1jN/7qzHEgabSC94d1sRaR4kfmDMjwNKA6XEHaGp0SlV6lSv12l9FzSSSZq9grqPvHbVIkQEzFerg==} - dev: true + dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + dev: false /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - dev: true + dev: false /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} @@ -4812,29 +5162,29 @@ packages: random-access-storage: 3.0.1 optionalDependencies: fs-native-extensions: 1.2.3 - dev: true + dev: false /random-access-storage@3.0.1: resolution: {integrity: sha512-raFoHJ/orMyur04GKrA+5ThOwhX9wICdqMDLqTM7bHEXPz7zi5MxLsLUaybxGu3b4mJTt8zhCpZHgjlu0x4wpg==} dependencies: events: 3.3.0 queue-tick: 1.0.1 - dev: true + dev: false /random-iterate@1.0.1: resolution: {integrity: sha512-Jdsdnezu913Ot8qgKgSgs63XkAjEsnMcS1z+cC6D6TNXsUXsMxy0RpclF2pzGZTEiTXL9BiArdGTEexcv4nqcA==} - dev: true + dev: false /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - dev: true + dev: false /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: true + dev: false /raw-body@2.5.1: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} @@ -4844,11 +5194,21 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true + dev: false /rc4@0.1.5: resolution: {integrity: sha512-xdDTNV90z5x5u25Oc871Xnvu7yAr4tV7Eluh0VSvrhUkry39q1k+zkz7xroqHbRq+8PiazySHJPArqifUvz9VA==} engines: {node: '>=0.10.0'} + dev: false + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 dev: true /read-config-file@6.3.2: @@ -4873,7 +5233,7 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true + dev: false /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -4888,24 +5248,24 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: true + dev: false /rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} dependencies: resolve: 1.22.8 - dev: true + dev: false /record-cache@1.2.0: resolution: {integrity: sha512-kyy3HWCez2WrotaL3O4fTn0rsIdfRKOdQQcEJ9KpvmKmbffKVvwsloX063EgRUlpJIXHiDQFhJcTbZequ2uTZw==} dependencies: b4a: 1.6.4 - dev: true + dev: false /regenerator-runtime@0.14.0: resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - dev: true + dev: false /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} @@ -4914,12 +5274,12 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 - dev: true + dev: false /relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - dev: true + dev: false /renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} @@ -4929,21 +5289,20 @@ packages: htmlparser2: 6.1.0 lodash: 4.17.21 strip-ansi: 6.0.1 - dev: true + dev: false /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true + dev: false /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true + dev: false /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -4954,21 +5313,21 @@ packages: engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 - dev: true + dev: false /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - dev: true + dev: false /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true + dev: false /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + dev: false /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} @@ -4977,7 +5336,7 @@ packages: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true + dev: false /responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} @@ -4993,19 +5352,26 @@ packages: /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - dev: true + dev: false /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + dev: false /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 - dev: true + + /rimraf@4.4.1: + resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} + engines: {node: '>=14'} + hasBin: true + dependencies: + glob: 9.3.5 + dev: false /roarr@2.15.4: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} @@ -5024,27 +5390,27 @@ packages: resolution: {integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==} dependencies: queue-microtask: 1.2.3 - dev: true + dev: false /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true + dev: false /run-series@1.1.9: resolution: {integrity: sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==} - dev: true + dev: false /rvfc-polyfill@1.0.7: resolution: {integrity: sha512-seBl7J1J3/k0LuzW2T9fG6JIOpni5AbU+/87LA+zTYKgTVhsfShmS8K/yOo1eeEjGJHnAdkVAUUM+PEjN9Mpkw==} - dev: true + dev: false /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 - dev: true + dev: false /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} @@ -5054,11 +5420,11 @@ packages: get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true + dev: false /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + dev: false /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -5069,11 +5435,10 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-regex: 1.1.4 - dev: true + dev: false /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sanitize-filename@1.6.3: resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} @@ -5081,9 +5446,11 @@ packages: truncate-utf8-bytes: 1.0.2 dev: true + /sax@1.1.4: + resolution: {integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==} + /sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - dev: true /schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} @@ -5092,7 +5459,7 @@ packages: '@types/json-schema': 7.0.14 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true + dev: false /schema-utils@4.2.0: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} @@ -5102,18 +5469,18 @@ packages: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - dev: true + dev: false /select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - dev: true + dev: false /selfsigned@2.1.1: resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} engines: {node: '>=10'} dependencies: node-forge: 1.3.1 - dev: true + dev: false /semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} @@ -5123,7 +5490,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: true /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -5131,7 +5497,6 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -5152,7 +5517,7 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: true + dev: false /serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} @@ -5166,7 +5531,7 @@ packages: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 - dev: true + dev: false /serve-index@1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} @@ -5181,7 +5546,7 @@ packages: parseurl: 1.3.3 transitivePeerDependencies: - supports-color - dev: true + dev: false /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} @@ -5193,7 +5558,7 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /set-function-length@1.1.1: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} @@ -5203,7 +5568,7 @@ packages: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 - dev: true + dev: false /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} @@ -5212,21 +5577,36 @@ packages: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 - dev: true + dev: false /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - dev: true + dev: false /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + dev: false /shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} dependencies: kind-of: 6.0.3 + dev: false + + /sharp@0.29.3: + resolution: {integrity: sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==} + engines: {node: '>=12.13.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 1.0.3 + node-addon-api: 4.3.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 dev: true /shebang-command@2.0.0: @@ -5234,16 +5614,14 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true + dev: false /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -5251,15 +5629,14 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 object-inspect: 1.13.1 - dev: true + dev: false /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + dev: false /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -5267,10 +5644,15 @@ packages: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - dev: true /simple-store-svelte@1.0.1: resolution: {integrity: sha512-xKsQoalLfLc1cK3FYx6u/FiAxAUq4NrA3zld0jJbgEpIJed7nigoN0fdKc7db4LJ1wfxxMcbaV2hpSDVa7pxhw==} + dev: false + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 dev: true /simple-update-notifier@2.0.0: @@ -5280,15 +5662,19 @@ packages: semver: 7.5.4 dev: true + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true + dev: false /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - dev: true + dev: false /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} @@ -5301,10 +5687,18 @@ packages: dev: true optional: true + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: false + /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true /sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} @@ -5312,7 +5706,7 @@ packages: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 - dev: true + dev: false /socks@2.7.1: resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} @@ -5320,28 +5714,26 @@ packages: dependencies: ip: 2.0.0 smart-buffer: 4.2.0 - dev: true + dev: false /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: true + dev: false /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /spawn-command@0.0.2: resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - dev: true + dev: false /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -5354,7 +5746,7 @@ packages: wbuf: 1.7.3 transitivePeerDependencies: - supports-color - dev: true + dev: false /spdy@4.0.2: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} @@ -5367,20 +5759,25 @@ packages: spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /speed-limiter@1.0.2: resolution: {integrity: sha512-Ax+TbUOho84bWUc3AKqWtkIvAIVws7d6QI4oJkgH4yQ5Yil+lR3vjd/7qd51dHKGzS5bFxg0++QwyNRN7s6rZA==} dependencies: limiter: 1.1.5 streamx: 2.15.1 - dev: true + dev: false + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: false /split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} dependencies: through: 2.3.8 - dev: true + dev: false /sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} @@ -5395,19 +5792,19 @@ packages: /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - dev: true + dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - dev: true + dev: false /streamx@2.15.1: resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - dev: true + dev: false /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -5416,7 +5813,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} @@ -5425,7 +5821,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true + dev: false /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} @@ -5433,7 +5829,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true + dev: false /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} @@ -5441,7 +5837,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true + dev: false /string2compact@2.0.1: resolution: {integrity: sha512-Bm/T8lHMTRXw+u83LE+OW7fXmC/wM+Mbccfdo533ajSBNxddDHlRrvxE49NdciGHgXkUQM5WYskJ7uTkbBUI0A==} @@ -5449,13 +5845,13 @@ packages: dependencies: addr-to-ip-port: 2.0.0 ipaddr.js: 2.1.0 - dev: true + dev: false /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: true + dev: false /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -5467,22 +5863,26 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: true /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - dev: true + dev: false /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + dev: false + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true + dev: false /sumchecker@3.0.1: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} @@ -5498,25 +5898,24 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true + dev: false /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true + dev: false /svelte-dev-helper@1.1.9: resolution: {integrity: sha512-oU+Xv7Dl4kRU2kdFjsoPLfJfnt5hUhsFUZtuzI3Ku/f2iAFZqBoEuXOqK3N9ngD4dxQOmN4OKWPHVi3NeAeAfQ==} - dev: true + dev: false - /svelte-eslint-parser@0.33.1(svelte@4.2.2): + /svelte-eslint-parser@0.33.1: resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5530,47 +5929,46 @@ packages: espree: 9.6.1 postcss: 8.4.31 postcss-scss: 4.0.9(postcss@8.4.31) - svelte: 4.2.2 - dev: true + dev: false - /svelte-hmr@0.14.12(svelte@4.2.2): + /svelte-hmr@0.14.12(svelte@4.2.3): resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 4.2.2 - dev: true + svelte: 4.2.3 + dev: false /svelte-keybinds@1.0.5: resolution: {integrity: sha512-uLgpqP+anTE++sjjVvtQVHzzGa2kJCzOOomLcYGKRIDESkLaQ6tIRZ7u0ktqYzUP8VadZe46ShrJLfz/4kBF2w==} - dev: true + dev: false - /svelte-loader@3.1.9(svelte@4.2.2): + /svelte-loader@3.1.9(svelte@4.2.3): resolution: {integrity: sha512-RITPqze3TppOhaZF8SEFTDTwFHov17k3UkOjpxyL/No/YVrvckKmXWOEj7QEpsZZZSNQPb28tMZbHEI2xLhJMQ==} peerDependencies: svelte: ^3.0.0 || ^4.0.0-next.0 dependencies: loader-utils: 2.0.4 - svelte: 4.2.2 + svelte: 4.2.3 svelte-dev-helper: 1.1.9 - svelte-hmr: 0.14.12(svelte@4.2.2) - dev: true + svelte-hmr: 0.14.12(svelte@4.2.3) + dev: false /svelte-miniplayer@1.0.3: resolution: {integrity: sha512-++IvuENs/3x0SbHZ/jWNqfq+hmU/ZT73V/ETwn6TqCbHF7asXsZFxVcgyIL1lMaQMKxe227HrYghYRVNJXeFVw==} - dev: true + dev: false - /svelte-sonner@0.3.0(svelte@4.2.2): - resolution: {integrity: sha512-AbRxxqQJb0cc2wEbluc+HVbHukYcnXUZtfSCAcxCHjV3JxB7qrBK4s4XUDSBsVT4Lboqk/0Qv7THIghkEl665A==} + /svelte-sonner@0.3.3(svelte@4.2.3): + resolution: {integrity: sha512-fUPHh5X88GctOjUBXflfXWplJxErDDm2erYh3EUjMWdfYiT9SGMpAv5NGDGbmKfZ+qUKOiTFrJ2P/iahYrTvhA==} peerDependencies: svelte: '>=3 <5' dependencies: - svelte: 4.2.2 - dev: true + svelte: 4.2.3 + dev: false - /svelte@4.2.2: - resolution: {integrity: sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==} + /svelte@4.2.3: + resolution: {integrity: sha512-sqmG9KC6uUc7fb3ZuWoxXvqk6MI9Uu4ABA1M0fYDgTlFYu1k02xp96u6U9+yJZiVm84m9zge7rrA/BNZdFpOKw==} engines: {node: '>=16'} dependencies: '@ampproject/remapping': 2.2.1 @@ -5586,11 +5984,31 @@ packages: locate-character: 3.0.0 magic-string: 0.30.5 periscopic: 3.1.0 - dev: true + dev: false /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + dev: false + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 dev: true /tar@6.2.0: @@ -5603,7 +6021,6 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true /temp-file@3.4.0: resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} @@ -5634,7 +6051,7 @@ packages: serialize-javascript: 6.0.1 terser: 5.22.0 webpack: 5.89.0(webpack-cli@5.1.4) - dev: true + dev: false /terser@5.22.0: resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==} @@ -5645,26 +6062,33 @@ packages: acorn: 8.10.0 commander: 2.20.3 source-map-support: 0.5.21 - dev: true + dev: false /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + dev: false + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: false /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + dev: false /throughput@1.0.1: resolution: {integrity: sha512-4Mvv5P4xyVz6RM07wS3tGyZ/kPAiKtLeqznq3hK4pxDiTUSyQ5xeFlBiWxflCWexvSnxo2aAfedzKajJqihz4Q==} - dev: true + dev: false /thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: true + dev: false /timeout-refresh@1.0.3: resolution: {integrity: sha512-Mz0CX4vBGM5lj8ttbIFt7o4ZMxk/9rgudJRh76EvB7xXZMur7T/cjRiH2w4Fmkq0zxf2QpM8IFvOSRn8FEu3gA==} + dev: false /tiny-typed-emitter@2.1.0: resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==} @@ -5688,12 +6112,12 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true + dev: false /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: true + dev: false /torrent-discovery@11.0.0: resolution: {integrity: sha512-VzLsm2NlIPC73B7/WqiTZblsQ8K7y532nKGF9sLr8Y4XnHwsS2/pBaZvxNnHSu2tY4BntBBXKT6NR02KwNdjYw==} @@ -5706,14 +6130,14 @@ packages: run-parallel: 1.2.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /torrent-piece@3.0.0: resolution: {integrity: sha512-j0tRX7qq22nIuVFF57Tg/wAvFq79F1eM9pcMxY+b0qCCe7yXJnIrqF+Q5YEJ94tNisDnJzcqDHNrPmD9X/yAIg==} engines: {node: '>=12.20.0'} dependencies: uint8-util: 2.2.4 - dev: true + dev: false /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -5722,7 +6146,7 @@ packages: /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - dev: true + dev: false /truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} @@ -5730,14 +6154,14 @@ packages: utf8-byte-length: 1.0.4 dev: true - /ts-api-utils@1.0.3(typescript@5.2.2): + /ts-api-utils@1.0.3(typescript@4.9.5): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.2.2 - dev: true + typescript: 4.9.5 + dev: false /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} @@ -5746,10 +6170,15 @@ packages: json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true + dev: false /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 dev: true /type-check@0.4.0: @@ -5757,7 +6186,7 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 - dev: true + dev: false /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} @@ -5768,7 +6197,7 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - dev: true + dev: false /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -5776,7 +6205,7 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true + dev: false /typed-array-buffer@1.0.0: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} @@ -5785,7 +6214,7 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true + dev: false /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} @@ -5795,7 +6224,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true + dev: false /typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} @@ -5806,7 +6235,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true + dev: false /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -5814,25 +6243,18 @@ packages: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 - dev: true + dev: false /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - dev: true - - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - dev: true /uint8-util@2.2.4: resolution: {integrity: sha512-uEI5lLozmKQPYEevfEhP9LY3Je5ZmrQhaWXrzTVqrLNQl36xsRh8NiAxYwB9J+2BAt99TRbmCkROQB2ZKhx4UA==} dependencies: base64-arraybuffer: 1.0.2 - dev: true + dev: false /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -5841,11 +6263,10 @@ packages: has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true + dev: false /undici-types@5.25.3: resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} - dev: true /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -5855,19 +6276,24 @@ packages: /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - dev: true /unordered-array-remove@1.0.2: resolution: {integrity: sha512-45YsfD6svkgaCBNyvD+dFHm4qFX9g3wRSIVgWVPtm2OCnphvPxzJoe20ATsiNpNJrmzHifnxm+BN5F7gFT/4gw==} - dev: true + dev: false /unordered-set@2.0.1: resolution: {integrity: sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==} + dev: false /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - dev: true + dev: false + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: false /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -5878,13 +6304,12 @@ packages: browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 - dev: true + dev: false /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - dev: true /ut_metadata@4.0.3: resolution: {integrity: sha512-2tovup0VDYpT8t8+EhhhKBmbgIyiYyJQZ+Hf+/61+SvjuRS2MEeA5CiSARP4q+9/83Wu09OsGrUre/Zv6OI5NA==} @@ -5896,7 +6321,7 @@ packages: uint8-util: 2.2.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /ut_pex@4.0.4: resolution: {integrity: sha512-isVTbp2TKGoMOu+4Zh/i6ijpYr0VG83xjRPgCXaUjKzgXXndjCMWg32/9kZjubD+kxEXcmXMkoS8IttS9FZE8g==} @@ -5905,7 +6330,7 @@ packages: bencode: 4.0.0 compact2string: 1.4.1 string2compact: 2.0.1 - dev: true + dev: false /utf-8-validate@5.0.10: resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} @@ -5913,7 +6338,7 @@ packages: requiresBuild: true dependencies: node-gyp-build: 4.6.1 - dev: true + dev: false /utf8-byte-length@1.0.4: resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} @@ -5924,12 +6349,12 @@ packages: /utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - dev: true + dev: false /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - dev: true + dev: false /utp-native@2.5.3: resolution: {integrity: sha512-sWTrWYXPhhWJh+cS2baPzhaZc89zwlWCfwSthUjGhLkZztyPhcQllo+XVVCbNGi7dhyRlxkWxN4NKU6FbA9Y8w==} @@ -5942,16 +6367,17 @@ packages: readable-stream: 3.6.2 timeout-refresh: 1.0.3 unordered-set: 2.0.1 + dev: false /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - dev: true + dev: false /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: true + dev: false /verror@1.10.1: resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} @@ -5970,18 +6396,18 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - dev: true + dev: false /wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 - dev: true + dev: false /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} - dev: true + dev: false /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -5989,7 +6415,7 @@ packages: /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true + dev: false optional: true /webpack-cli@5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0): @@ -6024,7 +6450,7 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) webpack-merge: 5.10.0 - dev: true + dev: false /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} @@ -6038,7 +6464,7 @@ packages: range-parser: 1.2.1 schema-utils: 4.2.0 webpack: 5.89.0(webpack-cli@5.1.4) - dev: true + dev: false /webpack-dev-server@4.15.1(webpack-cli@5.1.4)(webpack@5.89.0): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} @@ -6090,7 +6516,7 @@ packages: - debug - supports-color - utf-8-validate - dev: true + dev: false /webpack-merge@5.10.0: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} @@ -6099,12 +6525,12 @@ packages: clone-deep: 4.0.1 flat: 5.0.2 wildcard: 2.0.1 - dev: true + dev: false /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - dev: true + dev: false /webpack@5.89.0(webpack-cli@5.1.4): resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} @@ -6145,7 +6571,7 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true + dev: false /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} @@ -6154,15 +6580,15 @@ packages: http-parser-js: 0.5.8 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 - dev: true + dev: false /websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - dev: true + dev: false - /webtorrent@2.1.28: - resolution: {integrity: sha512-wkWDe/WEtK4/it81HSNxCnPc9+IKvFvbhkDok5se1XfKvl8sgJTvPZ6p46z0VhSWaJCnM7vNLAYZwv/nw8ayqQ==} + /webtorrent@2.1.29: + resolution: {integrity: sha512-u1G4Uv+fSh0x6BNY4+HN7MnfstMu9xe1CgmN3rfU3pXtUzSd1stUC52sqi7DjKcmTwJDO1vsdHS4ptvxWTMsng==} engines: {node: '>=14'} dependencies: '@silentbot1/nat-api': 0.4.7 @@ -6208,7 +6634,7 @@ packages: utp-native: 2.5.3 transitivePeerDependencies: - supports-color - dev: true + dev: false /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -6225,7 +6651,7 @@ packages: is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true + dev: false /which-typed-array@1.1.13: resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} @@ -6236,7 +6662,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - dev: true + dev: false /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -6244,11 +6670,10 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - dev: true + dev: false /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -6257,11 +6682,9 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true /wrtc@0.4.7: resolution: {integrity: sha512-P6Hn7VT4lfSH49HxLHcHhDq+aFf/jd9dPY7lDHeFhZ22N3858EKuwm2jmnlPzpsRGEPaoF6XwkcxY5SYnt4f/g==} @@ -6269,7 +6692,7 @@ packages: requiresBuild: true optionalDependencies: domexception: 1.0.1 - dev: true + dev: false optional: true bundledDependencies: - node-pre-gyp @@ -6301,7 +6724,15 @@ packages: dependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 - dev: true + dev: false + + /xml2js@0.5.0: + resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.3.0 + xmlbuilder: 11.0.1 + dev: false /xml2js@0.6.2: resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} @@ -6309,37 +6740,33 @@ packages: dependencies: sax: 1.3.0 xmlbuilder: 11.0.1 - dev: true + dev: false /xmlbuilder@11.0.1: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - dev: true + dev: false /xmlbuilder@15.1.1: resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} engines: {node: '>=8.0'} requiresBuild: true - dev: true /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - dev: true + dev: false /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - dev: true /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} @@ -6352,25 +6779,30 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true + dev: false + + github.com/KoenLav/cordova-plugin-chrome-apps-sockets-tcp/f06fbc33befc34709210f657bf6674aea0ca8f88: + resolution: {tarball: https://codeload.github.com/KoenLav/cordova-plugin-chrome-apps-sockets-tcp/tar.gz/f06fbc33befc34709210f657bf6674aea0ca8f88} + name: cordova-plugin-chrome-apps-sockets-tcp + version: 1.3.8-dev + engines: {'0': {name: cordova, version: '>=3.0.0'}} + dev: false github.com/ThaUnknown/anitomyscript/42290c4b3f256893be08a4e89051f448ff5e9d00: resolution: {tarball: https://codeload.github.com/ThaUnknown/anitomyscript/tar.gz/42290c4b3f256893be08a4e89051f448ff5e9d00} name: anitomyscript version: 2.0.5 - dev: true + dev: false github.com/ThaUnknown/p2pt/3b191bd83998d0f28b022f4e3b871a7030ff6f6d: resolution: {tarball: https://codeload.github.com/ThaUnknown/p2pt/tar.gz/3b191bd83998d0f28b022f4e3b871a7030ff6f6d} @@ -6383,7 +6815,7 @@ packages: wrtc: 0.4.7 transitivePeerDependencies: - supports-color - dev: true + dev: false github.com/devsnek/node-register-scheme/e7cc9a63a1f512565da44cb57316d9fb10750e17: resolution: {tarball: https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..e69de29 diff --git a/tsconfig.json b/tsconfig.json index 014bb1e..f16ef36 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,9 @@ { "compilerOptions": { - "baseUrl": "./", - "paths": { - "@/*": ["src/renderer/*"], - }, "checkJs": true, "target": "ESNext", "moduleResolution": "node", "module": "ESNext", - "types": ["./types.d.ts"], "allowSyntheticDefaultImports": true }, "exclude": ["node_modules/**", "**/node_modules", "dist", "build"] diff --git a/webpack.config.cjs b/webpack.config.cjs deleted file mode 100644 index 3ad3728..0000000 --- a/webpack.config.cjs +++ /dev/null @@ -1,159 +0,0 @@ -const { join, resolve } = require('path') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const CopyWebpackPlugin = require('copy-webpack-plugin') - -const mode = process.env.NODE_ENV?.trim() || 'development' -const isDev = mode === 'development' - -module.exports = [ - { - devtool: 'source-map', - entry: join(__dirname, 'src', 'background', 'background.js'), - output: { - path: join(__dirname, 'build'), - filename: 'background.js' - }, - mode, - externals: { - 'utp-native': 'require("utp-native")' - }, - resolve: { - aliasFields: [], - mainFields: ['module', 'main', 'node'], - alias: { - 'node-fetch': false, - ws: false, - wrtc: false, - 'bittorrent-tracker/lib/client/http-tracker.js': resolve('node_modules/bittorrent-tracker/lib/client/http-tracker.js') - } - }, - plugins: [new HtmlWebpackPlugin({ filename: 'background.html' })], - target: 'electron20.0-renderer', - devServer: { - devMiddleware: { - writeToDisk: true - }, - hot: true, - client: { - overlay: { errors: true, warnings: false, runtimeErrors: false } - }, - port: 5000 - } - }, - { - devtool: 'source-map', - entry: join(__dirname, 'src', 'renderer', 'main.js'), - output: { - path: join(__dirname, 'build'), - filename: 'renderer.js' - }, - mode, - module: { - rules: [ - { - test: /\.svelte$/, - use: { - loader: 'svelte-loader', - options: { - compilerOptions: { - dev: isDev - }, - emitCss: !isDev, - hotReload: isDev - } - } - }, - { - test: /\.css$/, - use: [ - MiniCssExtractPlugin.loader, - { - loader: 'css-loader', - options: { - sourceMap: true - } - } - ] - }, - { - // required to prevent errors from Svelte on Webpack 5+ - test: /node_modules\/svelte\/.*\.mjs$/, - resolve: { - fullySpecified: false - } - } - ] - }, - resolve: { - aliasFields: ['browser'], - alias: { - '@': resolve('src/renderer'), - module: false, - url: false, - 'bittorrent-tracker/lib/client/websocket-tracker.js': resolve('node_modules/bittorrent-tracker/lib/client/websocket-tracker.js') - }, - extensions: ['.mjs', '.js', '.svelte'] - }, - plugins: [ - new MiniCssExtractPlugin({ - filename: '[name].css' - }), - new CopyWebpackPlugin({ - patterns: [ - { from: 'src/renderer/public' } - ] - }), - new HtmlWebpackPlugin({ - filename: 'app.html', - inject: false, - templateContent: ({ htmlWebpackPlugin }) => /* html */` - - - - - - - Miru - - - - - ${htmlWebpackPlugin.tags.headTags} - - - - ${htmlWebpackPlugin.tags.bodyTags} - - - ` - })], - target: 'web' - }, - { - devtool: 'source-map', - entry: join(__dirname, 'src', 'preload', 'preload.js'), - output: { - path: join(__dirname, 'build'), - filename: 'preload.js' - }, - resolve: { - aliasFields: [] - }, - mode, - target: 'electron20.0-preload' - }, - { - devtool: 'source-map', - entry: join(__dirname, 'src', 'main', 'main.js'), - output: { - path: join(__dirname, 'build'), - filename: 'main.js' - }, - resolve: { - aliasFields: [] - }, - mode, - target: 'electron20.0-main' - } -]